菲亚特(FIAT):提升高阶有限元的性能与精度
《ACM Transactions on Mathematical Software》:FIAT: Improving Performance and Accuracy for High-Order Finite Elements
【字体:
大
中
小
】
时间:2025年11月07日
来源:ACM Transactions on Mathematical Software
编辑推荐:
FIAT(有限元素自动生成工具)通过优化正交多项式递推实现、集成递归节点库的高阶Lagrange基函数、采用积分型自由度提升结构保真度、引入Xiao-Gimbutas高效积分规则,以及支持快速对角化方法,显著提升了高阶有限元计算的效率和精度。实验表明,这些改进使Lagrange元素在3D中的求解误差降低至1.03×10?1?,并实现FDM元素的低复杂度预处理。
有限元方法(FEMs)为偏微分方程(PDEs)的数值求解提供了强大的工具集。有限元方法通过在有界域上定义各种阶数的分片多项式逼近空间,使得其在解决复杂工程和科学问题时具有广泛的应用性。同时,通过调整近似阶数,可以实现计算成本与精度之间的权衡。然而,实现这些广泛而复杂的逼近空间,特别是在各种阶数上,对软件设计提出了技术挑战。为了应对这一挑战,FIAT(FInite element Automatic Tabulator)应运而生,旨在提供一种通用的工具,以支持这些逼近空间的自动构建和评估。本文描述了 FIAT 最近的一些改进,旨在提升其运行效率、代码生成的准确性和计算性能。这些改进不仅适用于简单的网格形状,也适用于复杂的三维结构,如四面体和六面体。
### 有限元方法的核心思想
有限元方法的核心思想是将一个物理域划分成若干个简单的几何形状(如三角形、四边形、四面体、六面体等),称为单元。每个单元上定义一个多项式空间,通常包括标量函数、向量函数或张量函数。随后,通过在这些单元上构造基函数,可以近似表示整个域上的解。这些基函数的构造基于一个被称为“节点”或“自由度”的集合,即通过点值评估或积分来定义的函数作用。
在有限元方法中,节点的选取至关重要,因为它直接影响了基函数的插值精度和计算效率。对于传统的拉格朗日基函数,通常使用均匀分布的节点,但在高阶近似中,这种方法会导致条件数变差,进而影响计算的稳定性。为了解决这一问题,FIAT 引入了更优化的节点集,如“谱点”或“GLL 点”,这些点集不仅提高了插值精度,还减少了条件数的不良影响。
### 改进的递归关系实现
在有限元方法中,递归关系是构造正交多项式的基础,特别是在高阶近似中,递归关系的实现对计算效率和准确性有重要影响。早期的 FIAT 实现中,递归关系是通过符号计算工具(如 sympy)进行的,这导致了计算的高成本。为了提高效率,FIAT 优化了递归关系的实现方式,直接计算了二阶导数,而不再依赖于符号计算。这种方法不仅提升了计算速度,还使得 FIAT 能够处理更高阶的多项式基函数。
此外,FIAT 通过统一递归关系的实现,使得导数的计算仅需在一处进行,而不是对每个基函数单独计算。这种方法大大减少了计算的复杂度,同时保持了基函数的高阶精度。通过这种方式,FIAT 在构造和评估基函数时,能够实现更高的阶数,同时保持较低的计算成本。
### 更优的高阶拉格朗日基函数节点集
在有限元方法中,节点集的选择直接影响了插值的精度和计算效率。传统的等距节点集虽然简单,但在高阶近似中容易导致条件数恶化,从而影响计算的稳定性。为了解决这一问题,FIAT 引入了“谱点”或“GLL 点”作为拉格朗日基函数的节点集。这些点集通过递归构造得到,具有更优的插值性能和更低的条件数。
在 FIAT 中,用户可以通过一个名为 “recursivenodes” 的接口来选择这些优化的节点集。该接口提供了多种节点集,包括拉格朗日节点集和积分型自由度,这些节点集能够更准确地表示非多项式的插值表达式。通过使用这些优化的节点集,FIAT 能够在高阶近似中保持插值的准确性,同时减少计算的复杂度。
### 更高效的积分型自由度
在处理高阶有限元空间时,积分型自由度(Integral-type Degrees of Freedom)成为了一个重要的研究方向。这些自由度通过积分来定义,能够更精确地表示向量场的散度和旋度。例如,在处理 Raviart–Thomas 和 Nédélec 元素时,积分型自由度能够更有效地保持散度或旋度的连续性。
FIAT 在这一领域取得了显著进展,通过引入积分型自由度,能够更准确地表示非多项式的插值表达式。这种方法不仅提高了插值的精度,还减少了计算的条件数,使得高阶近似在实际应用中更加可行。通过这种方式,FIAT 能够在处理复杂物理问题时,如流体力学和电磁学,提供更稳定的数值解。
### 扩展的高效积分规则
在有限元方法中,积分规则的选择对计算效率和准确性有重要影响。传统的积分规则(如 Stroud 规则)在高阶近似中需要大量的积分点,这不仅增加了计算成本,还可能影响数值解的稳定性。为了应对这一问题,FIAT 引入了更高效的积分规则,如 Xiao 和 Gimbutas 的规则,这些规则在相同阶数下需要更少的积分点。
Xiao 和 Gimbutas 的规则在三角形和四面体上被广泛采用,其积分点数量显著少于 Stroud 规则。这种方法不仅提高了计算效率,还减少了数值解的条件数,使得高阶近似在实际应用中更加可行。通过使用这些优化的积分规则,FIAT 能够在处理复杂物理问题时,如弹性力学和电磁场问题,提供更高效的数值解。
### 用于快速对角化方法的元素
在高阶有限元方法中,快速对角化方法(FDMs)成为了一个重要的研究方向。这些方法通过构造特殊的基函数,使得计算的矩阵更加稀疏,从而提高了计算效率。例如,对于六面体单元,FIAT 构造了特殊的张量积基函数,这些基函数不仅能够保持散度或旋度的连续性,还能够实现稀疏的矩阵结构。
通过使用这些稀疏矩阵结构,FIAT 能够在处理高阶问题时,如弹性力学和流体力学,提供更高效的数值解。这些基函数的构造基于正交多项式,使得在计算过程中能够保持较高的精度。此外,FIAT 还引入了静态凝聚(Static Condensation)技术,使得计算的子矩阵更加稀疏,从而进一步提高了计算效率。
### 结论
本文描述了 FIAT 在高阶有限元方法中的最新进展,包括更高效的递归关系实现、更优的高阶拉格朗日基函数节点集、更高效的积分型自由度以及用于快速对角化方法的特殊基函数。这些改进不仅提升了 FIAT 的计算性能,还增强了其在处理复杂物理问题时的适用性。通过这些技术,FIAT 能够在高阶近似中保持较高的精度,同时减少计算的条件数和时间成本。未来,FIAT 还计划扩展这些技术到更复杂的几何形状,如三角形和四面体,以进一步提高其在高阶有限元方法中的应用范围。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号