如何在有限元法中建立集总质量矩阵


11

当使用有限元方法求解与时间相关的PDE时,例如说热方程,如果我们使用显式的时间步长,则由于质量矩阵,我们必须求解线性系统。例如,如果我们坚持使用热方程示例,

ut=c2u

然后使用前向欧拉,我们得到

M(un+1undt)=cKun

因此,即使我们使用显式的时间步进方案,我们仍然必须求解线性系统。这显然是一个主要问题,因为使用显式方案的主要优点是不必求解线性系统。我已经读过,解决此问题的常用方法是改用“集总”质量矩阵,该矩阵将常规(一致?)质量矩阵转换为对角矩阵,从而使反演变得微不足道。在进行谷歌搜索后,我仍然不能完全确定这个集总质量矩阵是如何创建的。例如,看他的关于扩散-扩散方程的质量集总的数值实验由Edson Wendland Harry和Edmar Schulz编写,他们通过简单地将所有系数求和到对角线上来创建集总质量矩阵。因此,例如,如果我们原始的一致质量矩阵为:

(4212242112422124)

则总质量矩阵为:

(9000090000900009)

那么我的问题是:这是形成集总质量矩阵的正确方法吗?当使用集总质量矩阵而不是完全一致的质量矩阵时,在准确性方面存在哪些缺点?我提到的论文的作者实际上建议不要使用集总质量矩阵,尽管似乎他们只是在使用隐式时间步进方案,考虑到使用此类矩阵的主要原因是显式方法,我认为这很奇怪。

注意:我绝不会使用前向Euler来求解热方程,这只是一个例子。同样重要的是,我的问题是求解Navier Stokes方程,其中明确处理了非线性项而对扩散项进行了隐式处理。

谢谢


1
O(n2)

是的,如果我使用直接求解器,我可以这样做,但是如果使用PCG或其他迭代式求解器,我认为这无济于事
James

2
我个人不相信数学上的集总。从计算上讲,除非您打算进行明确的时间步长,否则它不会给您带来任何优势,在这种情况下,对角质量矩阵将更易于求解。如果使用隐式时间步进方法,则矩阵中不会有任何稀疏性。我认为您只有在不使用一致矩阵的情况下才会获得错误。
保罗

令我惊讶的是,没有人提到Fried和Markus(1975)的四边形方法,该方法使用Lobatto点处的节点来避免截断误差的损失。在您接触立方之前,这不是问题,但是排除了偶然性因素。这个想法已经扩展到三角形,但是需要特殊的基础和正交。
L. Young

Answers:


12

我认为对此没有明确的答案,因为它可能会从一个主题变为另一个主题(并且还取决于您使用的元素类型)。最近也有一些有关此的论文[2]。因此,这不是一个封闭的讨论。此外,当您具有受运动约束的元素(如梁或壳)时,可以具有不同的惯性分量(至少在力学方面)。

Zienkiewicz(请参见[1],第16.2.4节)讨论了将质量矩阵集总的三种方法

  1. Mii(lumped)=jMij
  2. Mii(lumped)=cMii
    cjMjj(lumped)=ΩρdΩ
  3. MNi=0x=xjij

并非所有方法都适用于所有情况,例如,行和方法不适用于8节点意外事件元素,因为它会导致负质量。

MtotTr(M)

Mii(lumped)=MtotTr(M)Mii(no summation on i).

我还对带有Lobatto节点的频谱元素方法(使用这些位置作为节点和积分点)使用了方法3,该方法自动产生对角矩阵。

从[1],您可以看到此图描述了某些元素类型的一些方法 某些二维有限元的质量集总

参考文献

[1] Zhu,J.,ZRL Taylor和OC Zienkiewicz。“有限元方法:其基础和基础。” (2005):54-102。

[2] Felippa,Carlos A.,Qong Guo和KC Park。“质量矩阵模板:一般说明和一维示例。” 工程计算方法档案22.1(2015):1-65。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.