为什么 FEM 理论只写单纯形?

计算科学 有限元 六面体
2021-12-19 11:02:35

我注意到,在大多数有限元的理论文献(Braess、Ciarlet、...)中,该方法仅对单纯形三角剖分进行了详细描述,而其他形式的六面体方法通常被省略或仅简要提及。

单纯形和六面体的 FEM 理论在理论上有什么区别吗?理论结果(收敛性,误差估计)是否不会延续到六面体,或者仅仅是普遍性如此明显以至于留给读者。

2个回答

在我看来,基本情况保持不变,但有一些差异值得评论。

定义局部坐标系、使用正交规则整合局部密集贡献矩阵以及将它们组装成全局稀疏矩阵的基本原理是相同的。通常,六面体基函数来自于一些底层一维基的张量积,并使用一维正交规则的张量积进行集成,这为优化代码提供了一些机会。

一个显着的区别是多项式的完整性。高阶四面体基础往往来自某种帕斯卡三角形/帕斯卡四面体排列。例如,一个 2D 梯度一致的基础需要跨越 {1,x,y,x2,xy,y2} 完全到二阶,这6个函数可以非常整齐的排列在一个6节点的三角形(3个顶点,3个边中点)上。相比之下,为 2D 四边形编写二阶基的最自然方法是通过两条 1D 线的张量积,导致跨度为 {1,x,y,x2,xy,y2,x2y,xy2,x2y2}。这包含更多功能/需要更多工作,但在渐近意义上不再准确。当您提高订单或从 2D 迁移到 3D 时,这种过度完整性会变得更加夸张。

尽管在元素级别存在这种过度完整性,但六面体元素通​​常在总成本方面更有效,这仅仅是因为它们“更大”并且更有效地填充空间。模型精度通常是网格尺寸的函数h. 有边长的六面体h占用h3体积,而四面体的边长h只占用一个体积h3/6. 所以给定一些具有体积的计算域V和所需的精度/网格尺寸h,我预计四面体的数量是六面体的 6 倍。尽管这种差异只是一个常数因素,但我们在这里讨论的是输入的大小,因此任何下游算法的复杂性都会进一步放大它(例如,如果您使用的是超线性缩放的求解器/预处理技术) .

我确实想简要评论一下准确性。一些基函数的一个令人惊讶的方面是元素形状/变形会影响它们的精度顺序,因为它们如何依赖于回调/雅可比。作为一个具体的例子,考虑 2D Nedelec (curl-conforming) 函数。这些函数的卷曲(即进入“刚度”矩阵,借用一个术语)与雅可比成正比。对于三角形,雅可比是恒定的,因此您将 curl 完成为恒定(这就是您想要的,最低阶”-符合“元素应该有”” 完全到一个常数)。相反,一个四边形的雅可比只有在形状映射是仿射的(即四边形是平行四边形)时才是常数,这意味着这个元素在一般网格上是不收敛的(即你可以细化h但错误不会改善)。Raviart-Thomas 元素同样受到影响,因为它们对雅可比有类似的依赖性。请注意,如果您使用曲线形状映射(对于三角形或四边形),也会发生类似的事情(非常量雅可比/非收敛),我只特别指出这种情况,因为线性/直线四边形可以表现出令人惊讶这个问题也是(当它不是平行四边形时)。

综上所述,我发现将六面体用于 FEM 的最大障碍不是公式化或收敛问题,而是网格生成和计算几何问题。有用于自动四面体网格生成(尤其是 delaunay 细化)的强大通用算法,但六面体网格划分更加脆弱,并且通常需要用户交互才能将复杂的几何图形分解为适合结构化策略或铺路/清扫策略的简单部分。请注意,您可以使用金字塔元素将四面体网格与六面体网格融合,但金字塔上的基函数可能非常技术性(金字塔通常以退化/扭曲六面体的形式实现,并且扭曲函数最终会为雅可比/基函数,

鉴于这些几何复杂性,我发现论文更多地关注简单元素是合理的,它们的市场更大。

大多数 FM 方法要求我们可以识别相邻元素对。这对于源自可以映射到阵列结构的四边形/六面体网格的元素很容易。例如,为了处理飞机典型的复杂域,可以采用“多块”结构,其中首先将域映射到“块”上,这些“块”是非常粗糙的四边形/六边形网格,它们之间具有任意连接性。如果必须有很多块,生成这些粗网格很难自动化,而且通常是手工完成,这很耗时。正因为如此,现在在实践中很少使用多块策略,并且单个“非结构化”四边形/六边形网格用于整个域。单个元素在纵横比和偏度方面仍应尽可能“规则”。