有限元素法 (英語: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 (頁面存檔備份 ,存於互聯網檔案館 )