有限元素法 (英语:Finite element method ),即使用有限元素分析 物理现象,是一种用于求解微分方程 组或积分方程 组数值解的数值方法 。
在解偏微分方程 的过程中,主要难点是如何构造一个方程来逼近原本研究的方程,并且该过程还需要保持数值稳定性 。目前有许多处理的方法,他们各有利弊。当区域改变时(就像一个边界可变的固体),当需要的精确度在整个区域上变化,或者当解缺少光滑性 时,有限元方法是在复杂区域(像汽车、船体结构、输油管道)上解偏微分方程的一个很好的选择。
为了解决问题,有限元素法将大型物理系统细分为更小、更简单的部分,称为有限元(英文:finite element)。这是通过在空间维度上进行特定的空间离散化来实现的,该离散化是通过构建对象的网格实现的:解决方案的数值域具有有限数量的点。边值问题的有限元素法公式化最终形成了一个代数方程组。该方法在域上近似未知函数[ 1] 。然后,将对这些有限元建模的简单方程式组合成一个对整个问题进行建模的较大方程式系统。然后,有限元素法通过最小化关联的误差函数,使用来自变异演算的变异方法来近似求解。
由研究人员建立的有限元素网格,然后使用套装软体找到解决磁性问题的方法。 颜色表示分析人员已为每个区域设置了材料属性,在此图中,浅蓝色的铁磁成分(可能是铁),浅紫色的是空气。
有限元素法解决左侧问题的方法,涉及
电磁屏蔽 。
磁性 圆筒形遮蔽罩保护内部区域不受外部磁场影响。 如插入图例中的比例尺所示,颜色表示
磁场 的强度,红色为高强度磁场。 圆柱体内部的区域是低强度的(深蓝色,具有宽间隔的磁通量线),这表明遮蔽罩的性能达到了设计目标。
将整个物理系统细分为更简单的部分具有以下优点[ 2] :
精确表示复杂的几何形状。
可以描述多样的材料特性。
轻松表示整体解决方案。
精确描述局部现象。
该方法的工作流程包括
(1)将问题的域划分为子域的集合,每个子域由一组元素方程表示为原始问题,然后(2)系统地将所有元素方程组重组为用于最终计算的全域方程组。
在上面的第一步中,元素方程是简化过的方程,可以局部地近似要研究的原始复杂方程组,其中原始方程通常是偏微分方程 。为了求此方程式的近似解,通常将有限元素法作为伽辽金法 的特例来处理。用数学语言来说,该过程是将残差和加权函数取内积,并将该积分设为零。简而言之,它是通过将试验函数拟合到偏微分方程 中来最小化近似误差的过程。残差是由试验函数引起的误差,权重函数是投影残差的多项式逼近函数。该过程消除了偏微分方程 中的所有空间导数,从而使偏微分方程 局部近似为一组稳态问题的代数方程 ,或是一组用于瞬态问题的常微分方程 。如果基础偏微分方程 是线性的,则元素方程也是线性的,反之亦然。稳态 问题中出现的代数方程组,便利用数值线性代数 方法求解,而瞬态问题中出现的常微分方程组则使用其他数值方法(例如欧拉方法 或Runge-Kutta 法)通过数值积分来求解。
有限元法最初起源于土木工程 和航空工程 中的弹性 和结构分析 问题的研究。它的发展可以追溯到Alexander Hrennikoff(1941)和Richard Courant (1942)的工作。这些先驱者使用的方法具有很大的差异,但是他们具有共同的本质特征:利用网格 离散化将一个连续区域转化为一族离散的子区域,通常叫做元.Hrennikoff的工作离散用类似于格子的网格离散区域; Courant的方法将区域分解为有限个三角形的子区域,用于求解来源于圆柱体转矩 问题的二阶椭圆 偏微分方程 . Courant的贡献推动了有限元的发展,绘制了早期偏微分方程的研究结果。
有限元方法的发展开始于五十年代中后期使用在机身框架和结构分析 上,并于六十年代通过斯图加特大学 的John Argyris 和柏克莱加州大学 的Ray W. Clough 在土木工程中的应用工作中积累经验。
基于五十年代至六十年代大型水坝计算研究的实践经验,1965年,中国计算数学专家冯康 发表了《基于变分原理的差分格式》一文,奠定了有限元计算方法的严格数学理论,为后世有限元计算方法的实际应用提供了理论保证。且冯康教授的“有限元法”严密理论体系是先于西方的,是国际公认的当代计算数学的一项重大成就,不同的是冯康教授只是从数学方面提出有限元法的。[ 3] [ 4]
单元(Element)是由节点组成的几何体,如三角形单元,四面体单元等。
节点(Node)是单元几何体的端点、顶点或特定点,单元的各物理量变化均体现在节点上,例如在弹性力学问题中,一个有两个节点的线单元的质量集中在两个节点上,受力也只能作用在节点上,变形也用节点的位移表示。
节点自由度(Degree of Freedom,简写 DoF),是节点上变量的个数,例如用位移法解结构问题时节点自由度为3,表示单个节点上三个坐标方向上的位移,又例如热分析时节点自由度为1,表示某个节点处的温度值。
网格(Mesh)是由多个单元通过共用节点组成的单元网络,用以表示待解问题域。
以下用有限元分析解决两个简单问题,更一般的问题可以类似的推导出来。
P1是一个较简单的一维 问题
P1
:
{
u
″
(
x
)
=
f
(
x
)
in
(
0
,
1
)
,
u
(
0
)
=
u
(
1
)
=
0
,
{\displaystyle {\mbox{ P1 }}:{\begin{cases}u''(x)=f(x){\mbox{ in }}(0,1),\\u(0)=u(1)=0,\end{cases}}}
其中
f
{\displaystyle f}
是已知函数,
u
{\displaystyle u}
是关于
x
{\displaystyle x}
的未知函数,
u
″
{\displaystyle u''}
是
u
{\displaystyle u}
对
x
{\displaystyle x}
的二阶导数。
二维 比较简单的问题是狄利克雷问题
P2
:
{
u
x
x
(
x
,
y
)
+
u
y
y
(
x
,
y
)
=
f
(
x
,
y
)
in
Ω
,
u
=
0
on
∂
Ω
,
{\displaystyle {\mbox{P2 }}:{\begin{cases}u_{xx}(x,y)+u_{yy}(x,y)=f(x,y)&{\mbox{ in }}\Omega ,\\u=0&{\mbox{ on }}\partial \Omega ,\end{cases}}}
其中
Ω
{\displaystyle \Omega }
是
(
x
,
y
)
{\displaystyle (x,y)}
平面上的连通开区域,它的边界
∂
Ω
{\displaystyle \partial \Omega }
是良好的(例如,光滑流形 或多边形 ),
u
x
x
{\displaystyle u_{xx}}
和
u
y
y
{\displaystyle u_{yy}}
分别表示
x
{\displaystyle x}
和
y
{\displaystyle y}
的二阶导数。问题P1能够通过计算不定积分 而直接解决。然而,解决边值问题 的这一方法只有在空间维数为1时才可用,并且不能推广到高维问题以及形如
u
+
u
″
=
f
{\displaystyle u+u''=f}
的问题。出于这种考虑,我们将用有限元方法解决P1并将其推广至问题P2.
我们的描述分为两步,每步都反映了用有限元解决边值问题的本质。
将原问题描述为它的弱形式,或变分 形式。这一步很少或不需要计算。
离散化,将弱形式在有限维空间离散化。
这两步之后,我们可以构造一个大型有限维线性方程,线性方程的解就是原边值问题的逼近解。然后,这一有限维问题由计算机 求解。
第一步是将问题P1和P2转化为他的等价变分 形式,或弱解形式 。
如果
u
{\displaystyle u}
是问题P1的解,那么对任何满足边界条件的光滑函数
v
{\displaystyle v}
,有
(1)
∫
0
1
f
(
x
)
v
(
x
)
d
x
=
∫
0
1
u
″
(
x
)
v
(
x
)
d
x
{\displaystyle \int _{0}^{1}f(x)v(x)\,\mathrm {d} x=\int _{0}^{1}u''(x)v(x)\,\mathrm {d} x}
相反如果
u
{\displaystyle u}
对任何光滑函数
v
(
x
)
{\displaystyle v(x)}
满足
u
(
0
)
=
u
(
1
)
=
0
{\displaystyle u(0)=u(1)=0}
和(1),
那么
u
{\displaystyle u}
是P1的解。对于二次可导函数
u
{\displaystyle u}
证明这一点是非常容易的(利用中值定理 )。
通过对(1)的右侧使用分部积分 ,可以得到
(2)
∫
0
1
f
(
x
)
v
(
x
)
d
x
=
∫
0
1
u
″
(
x
)
v
(
x
)
d
x
=
u
′
(
x
)
v
(
x
)
|
0
1
−
∫
0
1
u
′
(
x
)
v
′
(
x
)
d
x
=
−
∫
0
1
u
′
(
x
)
v
′
(
x
)
d
x
=
−
ϕ
(
u
,
v
)
{\displaystyle {\begin{aligned}\int _{0}^{1}f(x)v(x)\,\mathrm {d} x&=\int _{0}^{1}u''(x)v(x)\,\mathrm {d} x\\&=u'(x)v(x)|_{0}^{1}-\int _{0}^{1}u'(x)v'(x)\,\mathrm {d} x\\&=-\int _{0}^{1}u'(x)v'(x)\,\mathrm {d} x=-\phi (u,v)\end{aligned}}}
其中假设
v
(
0
)
=
v
(
1
)
=
0
{\displaystyle v(0)=v(1)=0}
。
A function in
H
0
1
,
{\displaystyle H_{0}^{1},}
with zero values at the endpoints (blue), and a piecewise linear approximation (red)
P1 和 P2 通过上述过程被离散化 ,并简化为 子问题 (3)。 基本思路是将无限维线性问题替换掉:
找到
u
∈
H
0
1
{\displaystyle u\in H_{0}^{1}}
使
∀
v
∈
H
0
1
,
−
ϕ
(
u
,
v
)
=
∫
f
v
{\displaystyle \forall v\in H_{0}^{1},\;-\phi (u,v)=\int fv}
表示唯有限维度的形式:
子问题(3) Find
u
∈
V
{\displaystyle u\in V}
such that
∀
v
∈
V
,
−
ϕ
(
u
,
v
)
=
∫
f
v
{\displaystyle \forall v\in V,\;-\phi (u,v)=\int fv}
此处
V
{\displaystyle V}
是
H
0
1
{\displaystyle H_{0}^{1}}
的一个有限维度线性子空间 。
V
{\displaystyle V}
有许多可能的形式,但对于有限元素而言,在此将假定
V
{\displaystyle V}
存在于分段多项式函数的空间中。
在此在区间
(
0
,
1
)
{\displaystyle (0,1)}
之中选择
n
{\displaystyle n}
个
x
{\displaystyle x}
的可能值
0
=
x
0
<
x
1
<
⋯
<
x
n
<
x
n
+
1
=
1
{\displaystyle 0=x_{0}<x_{1}<\cdots <x_{n}<x_{n+1}=1}
接著定义
V
{\displaystyle V}
为:
V
=
{
v
:
[
0
,
1
]
→
R
:
v
is continuous,
v
|
[
x
k
,
x
k
+
1
]
is linear for
k
=
0
,
…
,
n
, and
v
(
0
)
=
v
(
1
)
=
0
}
{\displaystyle V=\{v:[0,1]\rightarrow \mathbb {R} \;:v{\mbox{ is continuous, }}v|_{[x_{k},x_{k+1}]}{\mbox{ is linear for }}k=0,\dots ,n{\mbox{, and }}v(0)=v(1)=0\}}
令e
x
0
=
0
{\displaystyle x_{0}=0}
和
x
n
+
1
=
1
{\displaystyle x_{n+1}=1}
。观察到在
V
{\displaystyle V}
之中的函数根据微积分的基本定义是不可微分 的。 当然,当
v
∈
V
{\displaystyle v\in V}
,则通常不定义
x
=
x
k
{\displaystyle x=x_{k}}
,
k
=
1
,
…
,
n
{\displaystyle k=1,\ldots ,n}
的导数 ,但导数事实上存在于每一个
x
{\displaystyle x}
的位置,并可以利用这些导数来进行部分积分 运算。
两种不同维度(二维及三维空间)的分段线性函数
Reddy, J. N., An Introduction to the Finite Element Method (Third ed.). An Introduction to the Finite Element Method (Third ed.). McGraw-Hill. 2006. ISBN 9780071267618. .
冯, 康. 基于变分原理的差分格式. 应用数学与计算数学. 1965.
MIT Video Lecture on the Finite Element Method
Multiphysics Glossary (页面存档备份 ,存于互联网档案馆 )(Glossary of Multiphysics and Finite Element Modeling terms by COMSOL)
NAFEMS (页面存档备份 ,存于互联网档案馆 ) -- The International Association for the Engineering Analysis Community
IFER (页面存档备份 ,存于互联网档案馆 ) -- Internet Finite Element Resources - an annotated list of FEA links and programs
Workshop "The Finite Element Method in Biomedical Engineering, Biomechanics and Related Fields" (页面存档备份 ,存于互联网档案馆 )
Finite Element Analysis Resources - Finite Element news, articles and tips
COMSOL Multiphysics Finite Element Analysis Software (页面存档备份 ,存于互联网档案馆 ) - Official site
CAD, Finite Element Analysis(Abaqus,Ansys), CAE, Programming (页面存档备份 ,存于互联网档案馆 )- FEM, CAD, Programming, discussion forums
Finite Element Books - books bibliography
Mathematics of the Finite Element Method (页面存档备份 ,存于互联网档案馆 )
Finite Element Methods for Partial Differential Equations (页面存档备份 ,存于互联网档案馆 )
FEM AVI-gallery at CompMechLab site, St.Petersburg State Polytechnical University, Russia
Intro to FEA
Introduction to FEA for EM modeling (includes list of currently available software)
Finite Element modeling of light feapower [永久失效链接 ]
propagation (页面存档备份 ,存于互联网档案馆 )
World Association of Fatigue, Durability and Fracture Mechanics - Fatigue for Finite Element Models (页面存档备份 ,存于互联网档案馆 )