有限元素法

有限元素法（）或-{zh-cn:有限元素法;zh-tw:有限单元法}-、有限元法，是一种将求解域或连续体划分为众多个有限大小的单元体的集合（离散化）为若干个有限大小的单元体的集合，以解答求解域或连续体问题的数值方法。在物理学上，即为使用有限元素分析物理现象，有限元法用于求解微分方程组或积分方程组数值解。有限元素（finite element）或有限元，就是被研究的结构域或介质域所分解成的有限数量小几何子区域。
在解偏微分方程的过程中，主要难点是如何构造一个方程来逼近原本研究的方程，并且该过程还需要保持数值稳定性。目前有许多处理的方法，他们各有利弊。当区域改变时（就像一个边界可变的固体），当需要的精确度在整个区域上变化，或者当解缺少光滑性时，有限元方法是在复杂区域（像汽车、船体结构、输油管道）上解偏微分方程的一个很好的选择。
为了解决问题，有限元素法将大型物理系统细分为更小、更简单的部分，称为有限元。这是通过在空间维度上进行特定的空间离散化来实现的，该离散化是通过构建对象的网格实现的：解决方案的数值域具有有限数量的点。边值问题的有限元素法公式化最终形成了一个代数方程组。该方法在域上近似未知函数。然后，将对这些有限元建模的简单方程式组合成一个对整个问题进行建模的较大方程式系统。然后，有限元素法通过最小化关联的误差函数，使用来自变异演算的变异方法来近似求解。
将整个物理系统细分为更简单的部分具有以下优点：
该方法的工作流程包括
（1）将问题的域划分为子域的集合，每个子域由一组元素方程表示为原始问题，然后（2）系统地将所有元素方程组重组为用于最终计算的全域方程组。
在上面的第一步中，元素方程是简化过的方程，可以局部地近似要研究的原始复杂方程组，其中原始方程通常是偏微分方程。为了求此方程式的近似解，通常将有限元素法作为伽辽金法的特例来处理。用数学语言来说，该过程是将残差和加权函数取内积，并将该积分设为零。简而言之，它是通过将试验函数拟合到偏微分方程中来最小化近似误差的过程。残差是由试验函数引起的误差，权重函数是投影残差的多项式逼近函数。该过程消除了偏微分方程中的所有空间导数，从而使偏微分方程局部近似为一组稳态问题的代数方程，或是一组用于瞬态问题的常微分方程。如果基础偏微分方程是线性的，则元素方程也是线性的，反之亦然。稳态问题中出现的代数方程组，便利用数值线性代数方法求解，而瞬态问题中出现的常微分方程组则使用其他数值方法（例如欧拉方法或Runge-Kutta法）通过数值积分来求解。
历史.
有限元法最初起源于土木工程和航空工程中的弹性和结构分析问题的研究。它的发展可以追溯到Alexander Hrennikoff（1941）和Richard Courant (1942)的工作。这些先驱者使用的方法具有很大的差异，但是他们具有共同的本质特征：利用网格离散化将一个连续区域转化为一族离散的子区域，通常叫做元.Hrennikoff的工作离散用类似于格子的网格离散区域; Courant的方法将区域分解为有限个三角形的子区域，用于求解来源于圆柱体转矩问题的二阶椭圆偏微分方程. Courant的贡献推动了有限元的发展，绘制了早期偏微分方程的研究结果。
有限元方法的发展开始于五十年代中后期使用在机身框架和结构分析上，并于六十年代通过斯图加特大学的和柏克莱加州大学的在土木工程中的应用工作中积累经验。
基于五十年代至六十年代大型水坝计算研究的实践经验，1965年，中国计算数学专家冯康发表了《基于变分原理的差分格式》一文，奠定了有限元计算方法的严格数学理论，为后世有限元计算方法的实际应用提供了理论保证。且不同的是冯康教授只是从数学方面提出有限元法的。
有限元概念.
单元.
单元（Element）是由节点组成的几何体，如三角形单元，四面体单元等。
节点.
节点（Node）是单元几何体的端点、顶点或特定点，单元的各物理量变化均体现在节点上，例如在弹性力学问题中，一个有两个节点的线单元的质量集中在两个节点上，受力也只能作用在节点上，变形也用节点的位移表示。
自由度.
节点自由度（Degree of Freedom，简写 DoF），是节点上变量的个数，例如用位移法解结构问题时节点自由度为3，表示单个节点上三个坐标方向上的位移，又例如热分析时节点自由度为1，表示某个节点处的温度值。
网格.
网格（Mesh）是由多个单元通过共用节点组成的单元网络，用以表示待解问题域。
分析方法.
以下用有限元分析解决两个简单问题，更一般的问题可以类似的推导出来。
P1是一个较简单的一维问题
其中formula_2是已知函数, formula_3是关于formula_4的未知函数, formula_5是formula_3对formula_4的二阶导数。
二维比较简单的问题是狄利克雷问题
其中formula_9是formula_10平面上的连通开区域，它的边界formula_11是良好的（例如，光滑流形或多边形）, formula_12和formula_13分别表示formula_4和formula_15的二阶导数。问题P1能够通过计算不定积分而直接解决。然而，解决边值问题的这一方法只有在空间维数为1时才可用，并且不能推广到高维问题以及形如formula_16的问题。出于这种考虑，我们将用有限元方法解决P1并将其推广至问题P2.
我们的描述分为两步，每步都反映了用有限元解决边值问题的本质。
这两步之后，我们可以构造一个大型有限维线性方程，线性方程的解就是原边值问题的逼近解。然后，这一有限维问题由计算机求解。
弱解形式.
P1的弱解形式.
第一步是将问题P1和P2转化为他的等价变分形式，或弱解形式。
如果formula_3是问题P1的解，那么对任何满足边界条件的光滑函数formula_18 ,有
（1）formula_19
相反如果 formula_3对任何光滑函数formula_21满足formula_22和（1），
那么formula_3是P1的解。对于二次可导函数formula_3证明这一点是非常容易的（利用中值定理）。
通过对（1）的右侧使用分部积分，可以得到
（2）formula_25
其中假设formula_26。
P2的弱解形式.
f当我们使用格林恒等式来表示式（2）， P2可以 formula_3的积分型式表示，在此定义 formula_28
此处 formula_30代表梯度，即为二维平面上的内积 。另外 formula_31可以转为内积空间 formula_32 ，且 formula_9的一次微分函数 formula_11为零。我们也可以假设 formula_35 （详见索伯列夫空间） 也可以显示解的存在性和唯一性。
离散化.
P1 和 P2 通过上述过程被离散化，并简化为 子问题 (3)。 基本思路是将无限维线性问题替换掉：
表示唯有限维度的形式：
此处 formula_40 是formula_41的一个有限维度线性子空间。
formula_40有许多可能的形式，但对于有限元素而言，在此将假定formula_40存在于分段多项式函数的空间中。
对于 P1.
在此在区间 formula_44之中选择 formula_45个formula_4的可能值 formula_47 接著定义formula_40 为：
令e formula_50 和 formula_51。观察到在 formula_40 之中的函数根据微积分的基本定义是不可微分的。 当然，当 formula_53，则通常不定义 formula_54，formula_55的导数，但导数事实上存在于每一个formula_4的位置，并可以利用这些导数来进行部分积分运算。
对于 P2.
formula_40 是属于 formula_9的一系列函数。 在右图中，图片下半部是一个15边形的平面formula_9的，以及该多边形的分段线性函数（图片上半部彩色部份），即 在所形成的每个三角形上呈线性； 空间formula_40则由在所在的的每个三角形上的函数线性组合而成。
我们希望当下面的三角形网格变得越来越精细，离散子问题（3）的解在某种意义上将收敛到原始边界值问题P2的解。 为了测量此网格的细度，由一很小的实数formula_61所表示。此参数将与中最大或平均三角形的大小有关。 当我们提高的精度时（分割出更多三角形），分段线性函数的空间formula_40应会随formula_63变动。因此，在某些文献中会以formula_64来代表。