有限元素法 (英語: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}
。
f當我們使用格林恆等式 來表示式(2), P2可以
u
{\displaystyle u}
的積分型式表示,在此定義
ϕ
(
u
,
v
)
{\displaystyle \phi (u,v)}
∫
Ω
f
v
d
s
=
−
∫
Ω
∇
u
⋅
∇
v
d
s
≡
−
ϕ
(
u
,
v
)
,
{\displaystyle \int _{\Omega }fv\,ds=-\int _{\Omega }\nabla u\cdot \nabla v\,ds\equiv -\phi (u,v),}
此處
∇
{\displaystyle \nabla }
代表梯度 ,即為二維平面上的內積 。另外
ϕ
{\displaystyle \,\!\phi }
可以轉為内积空间
H
0
1
(
Ω
)
{\displaystyle H_{0}^{1}(\Omega )}
,且
Ω
{\displaystyle \Omega }
的一次微分函數
∂
Ω
{\displaystyle \partial \Omega }
為零。我們也可以假設
v
∈
H
0
1
(
Ω
)
{\displaystyle v\in H_{0}^{1}(\Omega )}
(詳見索伯列夫空间) 也可以顯示解的存在性和唯一性。
證明解的存在性和唯一性
離散化
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}
存在於分段多項式函數的空間中。
對於 P1
在此在區間
(
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}
的位置,並可以利用這些導數來進行部分積分 運算。
兩種不同維度(二維及三維空間)的分段線性函數
對於 P2
V
{\displaystyle V}
是屬於
Ω
{\displaystyle \Omega }
的一系列函數。 在右圖中,圖片下半部是一個15邊形的平面
Ω
{\displaystyle \Omega }
的三角分割 ,以及該多邊形的分段線性函數(圖片上半部彩色部份),即 在三角分割 所形成的每個三角形上呈線性; 空間
V
{\displaystyle V}
則由在所在的三角分割 的每個三角形上的函數線性組合 而成。
我們希望當下面的三角形網格變得越來越精細,離散子問題(3)的解在某種意義上將收斂到原始邊界值問題P2的解。 為了測量此網格的細度,三角分割 由一很小的實數
h
>
0
{\displaystyle h>0}
所表示。此參數將與三角分割 中最大或平均三角形的大小有關。 當我們提高三角分割 的精度時(分割出更多三角形),分段線性函數的空間
V
{\displaystyle V}
應會隨
h
{\displaystyle h}
變動。因此,在某些文獻中會以
V
h
{\displaystyle V_{h}}
來代表。
相關條目
参考文献
外部链接
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 (页面存档备份 ,存于互联网档案馆 )