【章节目录】
本章介绍了与有限元变分形式相关的局部单元张量数值积分的常规运行时正交方法,尤其是可以减少浮点运算次数的自动优化。 运行时正交方法的替代方法是第8章中介绍的张量表示。 正交和张量方法都在FFC中实现了(参见第11章)。 在本章中,我们讨论了四种用于优化所生成代码的运行时性能的正交表示策略,并表明优化策略比单纯的实现带来了运行时性能的显着提高。 我们还研究了针对不同方程的正交和张量方法的性能,这将导致人们希望能够在两种表示形式之间进行选择。
...
【章节目录】
有限元方法可以看作是形成离散线性系统
\(AU = b\)
或非线性系统
\(b(U)= 0\)
的方法,对应于微分方程变分形式的离散化。 因此,有限元方法实现的核心部分是根据变分形式计算矩阵和向量。 在本章中,我们描述了用于计算离散算符(张量)
\(A\)
的标准算法。 将此算法称为有限元组装
(finite element assembly)。 我们还将讨论标准算法的效率以及对无矩阵方法的扩展。
...
【章节目录】
FEniCS软件的大部分都致力于变分形式的公式(UFL),变分形式的离散化(FIAT,FFC,SyFi)以及相应离散运算(UFC,DOLFIN)的组装。 本章总结了FEniCS所使用变分形式的表示。
...
【章节目录】
4·4 单元的例子
我们用一些标准的有限元来说明这些概念。 也请读者参考第3章,以便更全面地审查单元及其属性。
...
【章节目录】
本章介绍了在参考域上构造通用有限元类的数学框架。 FIAT和SyFi项目均使用此框架,请分别参见第13章和第15章。 我们的目标是提供一个框架,可以自动构建具有非常复杂基底的单纯有限元。 我们从有限元的经典Ciarlet定义及其“节点”基底(这个抽象概念,比标准的面向节点的拉格朗日多项式更加通用和强大)出发开展工作。
...
【章节目录】
3·6 L² 有限元
\(L^2\)
单元,通常指的是其元素非
\(C^0\)
的有限元空间。 这些单元自然存在于泊松方程,Stokes流和弹性的混合公式中。 或者,这样的单元也可以以不符合的方式被使用,而不是直接施以所期望的弱连续性。 不连续Galerkin(DG)方法为此提供了一个典型例子。 在这种情况下,单元维面的数值通量被组合为弱形式的一部分。 DG方法的许多变体就是以不同的数值通量来定义的。 DG方法最初是针对双曲问题开发的,但现已成功应用于许多椭圆和抛物线问题中。 而且,每个单独单元的去耦化为并行性和hp适应性提供了更多的机会。
...
【章节目录】
3·4 H(div)有限元
Sobolev空间
\(H(\mathrm{div})\)
由分量和弱散度(the weak divergence)都平方可积的矢量场
组成。 这是一个比d-矢量场(
\([H^1]^d, \quad d \ge 2\)
)还要更弱的要求。 这个空间自然是与二阶椭圆问题,多孔介质流和弹性方程的混合形式有关的。 对于
\(H(\mathrm{div})\)
-符合的有限元族,虽然每个分量不必是连续的,但是法向分量必须是连续的。 为了确保这种连续性,
\(H(\mathrm{div})\)
-符合的单元的自由度通常包括单元的维面(facets)上的法向分量。
...
【章节目录】
本章简要介绍了文献中的有限元。 这里介绍的许多单元已经作为FEniCS项目的一部分实现了; 一些是未来的工作。 有限元的范围远远超出了我们在此考虑的范围。 特别是,我们仅考虑基于简单多项式的单元。 因此,我们绕过了在四边形和六面体,复合和宏单元技术以及XFEM类型方法中定义的单元。 即使在基于简单多项式单元中,也可以扩展单元列表。 尽管如此,本章还是全面介绍了一些最常见的和较不寻常的有限元。
...
【章节目录】
2·6 有限元误差估计和适应性
相对于(2.20)精确解
\(u\)
,有限元近似解
\(u_h\)
的误差
\(e = u - u_h\)
可以是先验的
,也可以是后验的
。
先验
误差估计表示精确(未知)解的规则性方面(terms of the regularity)的误差,并且可以提供有关有限元方法收敛顺序的有用信息。 后验
误差估计以则可表示为计算量(如残差)的误差,并且(可能)表示为辅助对偶问题的解,具体如下所述。
...
【章节目录】
2·4 有限元函数空间
在前面的讨论中,我们假设总可以构造无限维函数空间的离散子空间
\(V_h \subset V\)
。有限元方法的一个核心方面是通过将由一组有限元定义的局部函数空间拼凑在一起来构造此类子空间。至此,我们对有限元函数空间的构造进行了总体概述,并将在第3章和第4章中回头讨论一些特定函数空间的构造:
\(H^1, H(\mathrm{curl}), H(\mathrm{div}), L^2\)
。
...