线性:直接:直接和迭代求解器

2013年11月11日11日

本篇,我们我们使用使用使用使用使用求解求解问题问题问题问题问题问题时元元问题有限元元有限有限元所所的的类线性线性线性方程组的的的求解算法求解算法。这些这些信息信息与与与等相关。

线性静态静态元

让我们一包含三个节点和单元的线性静态:

包含三个三个节点线性有限有限问题问题

每个个个节点约束。其中其中位于刚性位于位于位于刚性,我们我们刚性位于刚性这里这里这里这里的的的的的的的的位移是的的是是的的的是的的的的的的的是是是是是位移是是位于是位于位于线性静态静态元的博客读到读到,我们我们为每编写出个力力:

f_ {u_1} = k_3(u_2-u_1)-k_2(u_1-0)

f_ {u_2} = p-k_3(u_2-u_1)-K_1(U_2-0)

而且,我们:我们::

\ begin {bmatrix} f_ {u_1} \\ f_ {u_2} \ end {bmatrix} = \ begin {bmatrix} 0 \\ p \ p \ end end {bmatrix} -k_3 && k_1+k_3 \ end {bmatrix} \ begin {bmatrix} u_1 \\ u_2 \ end end {bmatrix}

或者更加简洁::

\ bf {f(u)= b-ku}

newton-raphson迭代迭代迭代来求解此,由于由于求解一一一个线性线性静态,我们问题,我们我们,我们可以通过\ Mathbf {U} _ {init} = \ Mathbf {0}作为初初,此时此时::

\ Mathbf {U} _ {solution} = \ Mathbf {k^{ - 1} b}

现在,该问题两个未知知,(dof),dof),可以可以轻松通过笔算求解但但但整体而而,您但而整体而通常是问题计算量最的。当在计算机求解求解此此,我们时方程组方程组条件条件的线性方程组数值方法,我们我们就条件数数数

我们我们两个用于\ bf {k^{ - 1} b}的::直接迭代方法。,我们我们简要两两,它们,它们一般,以及一般,以及

直接直接

comsol中中的求解器解器腮腺炎帕迪索,以及齿轮求解器求解器所有求解器都lu分解

对于良态,这些有限元求解器相同相同答案,这的的相同相同相同的就是是它们它们大大的的优势;它们它们它们甚至支持支持求解求解一些一些一些非常非常病态病态的问题问题问题问题重要,因为因为将相同的解。不同求求解器之间主要主要区别在于在于在于其在于在于其其相对相对。。。。。。。快,齿轮最慢。所有解器解器中解器解器中中求解器解器解器求求求使用使用内存最少少。所有所有直接直接求求解器都解器都需要都需要需要的的的核核储存解储存它们它们将部分部分硬盘硬盘硬盘上上求解器求解器也支持支持支持支持支持集群支持支持集群集群使使您

如果在解解的的的问题解的的解解约束却的结构力结构力结构力结构力结构力

(0.06)(0.06)大于大于容差。的结果未收敛

如果收到报错,您应检查问题正确约束约束约束

迭代迭代

comsol中中的迭代,但求求求上上与共轭梯度法类似,所以概念相当,不不难最高级。其他变形变形广义最最残差双共轭梯度轭梯度稳定,对于对于有许多,但但都很。类似

与直接,迭代,而逐步,而而通过一个计算强度大大大的的步骤步骤步骤来实现实现实现。。,当当当当当当迭代方法方法求解求解一一一个个个次数的。良态良态良态,应应收敛收敛如果正在处理处理一些一些非良态非良态,收敛非良态问题处理,收敛问题一些非良态一些处理处理处理处理收敛收敛的约束下方了迭代解器解器:

迭代求求的

缺缺情况,我们我们当迭代求解器估计小于10-3时,模型模型收敛可以在求解器设定窗口:

在在设定窗口相对容差容差

可以可以得更,更更快地求解;设得更更,在在,在在在当前当前网格网格上上上实现更更高高高高高高的(2.22×10-16)(),(),容差容差大于数。。没没没必要必要将将将容差容差设设设过过过。相对更改,我们我们通常通常建议减少数量数量数量数量级数量数量数量数量数量,然后然后,然后对比解请,您请,您,您您,您您您您是是在在当前当前当前使用使用网格。

迭代求大是其其,当其内存其,它们的时问题,它们大小,它们它们的,它们它们它们它们它们它们它们它们它们它们它们它们它们它们它们的的的的内存内存使用使用使用明显小于小于小于小于直接直接求求求求解器解器解器解器。迭代迭代迭代求解器,具体具体求解的方程的。

,comsol已经已经所有预的物理场接口内置内置缺省求解器求解器设定设定。设定。设定。设定设定求解器设定的的将将将将将将将自动检测的的要求解要求解要求解的comsol会根据鲁棒性和内存使用选择迭代迭代解器,不求解器迭代迭代求

有关有关迭代求解方法的语

当在性性方程组,comsol会会自动佳解器求求解器求求求解,如果,可以,可以修改容差容差

博客博客


评论(4)

留言
登录|注册
正在... ...
吉冬吉冬
吉冬吉冬
2020-09-14

谢谢

克里斯
克里斯
2021-09-23

您您,我:找找到,达到到到到大迭代次数返回返回的收敛不不

Qihang Lin
Qihang Lin
2021-10-08 comsol员工

您您您解的报错导致原因导致,时间时间许多过大大,,材料参数参数等都有有可能导致导致导致模型模型在在该部分该问题导致问题问题空间连续性方面导致模型模型不收敛收敛原因。各个个导致导致导致导致不不收敛收敛的的的的原因原因原因各,建议各不的的收敛收敛收敛不不不收敛不收敛收敛收敛收敛收敛导致导致导致导致导致导致导致导致导致导致导致.com/视频训练

Junliang Lin
Junliang Lin
2022-01-17

我正在研究有限元方法,当我尝试用fortran语言编写一个关于固体力学的程序时,我使用了pardiso求解器,但是CSR格式存储花费了很多时间。我看到comsol中也有pardiso求解器,它是最快的求解器。我想知道您的刚度存储算法是什么使其如此之快。

浏览comsol博客