Astroの光線のサムネイル。

pubDate: 2024-03-24

author: sakakibara

有限要素法

有限要素法の数学的基盤

有限要素

def :
有限要素(Finite element) とは以下を充たす組κ=(K,P,Σ)\kappa = (K, P, \Sigma)のことである。

K=Rd s.t.(d=1で線分の補間、d=2で三角形や四角形の補間)P={K上の多項式空間であり、dim(P)=NP}Σ={Li線形写像 Li:PR,i=1,2,,NP}\begin{aligned} K &= \mathbb{R}^d\ s.t. (\text{$d=1$で線分の補間、$d=2$で三角形や四角形の補間}) \\ P &= \set{\text{$K$上の多項式空間であり、}\mathrm{dim}(P) = N_P} \\ \Sigma &= \set{L_i | \text{線形写像}\ L_i : P \rarr \mathbb{R}, i=1,2,\ldots,N_P} \end{aligned}

ここで、集合Σ\Sigmaの要素LiL_iは自由度(degree of freedom: DOFとも)と呼ばれる。 自由度は有限要素の基底関数として使われる。

H1H^1, H(curl)\bm{H}(\mathrm{curl}), H(div)\bm{H}(\mathrm{div})

ΩRd\Omega \subset \mathbb{R}^dを有界なリプシッツ連続領域とし、ddを空間の次元とする。
L2L^2を自乗可積分関数(2乗ルベーグ空間)の空間, [L2]d[L^2]^ddd次元L2L^2空間とする。 関数のスカラーヒルベルト空間 H1H^1 は以下で定義される。

H1={uL2(Ω)uL2(Ω)}H^1 = \set{u \in L^2(\Omega) | \nabla u \in L^2(\Omega)}

H1H^1は基礎的な関数空間であり、ソボレフ空間としてよく使われる。 ここで、H1H^1の定義で使用されている偏微分は超関数(distributions)の文脈に対しても意味を持つ。

また、ベクトル値関数空間H(curl)\bm{H}(\mathrm{curl}), H(div)\bm{H}(\mathrm{div})は以下で定義される。

H(curl)={u[L2(Ω)]d×u[L2(Ω)]d}H(div)={u[L2(Ω)]duL2(Ω)}\begin{aligned} \bm{H}(\mathrm{curl}) &= \set{\bm{u} \in [L^2(\Omega)]^d | \nabla \times \bm{u} \in [L^2(\Omega)]^d} \\ \bm{H}(\mathrm{div}) &= \set{\bm{u} \in [L^2(\Omega)]^d | \nabla \cdot \bm{u} \in L^2(\Omega)} \end{aligned}

ここで、H(curl)\bm{H}(\mathrm{curl})H(div)\bm{H}(\mathrm{div})は偏導関数の連続性のみが自乗可積分によって保証されているという点でL2L^2空間とH1H^1の中間に位置する。

簡単に言ってしまえば、H1\bm{H}^1は勾配がL2L^2に含まれるようなL2L^2の元であり、
H(curl)\bm{H}(\mathrm{curl})は回転がdd次元L2L^2ベクトル空間に含まれるようなdd次元L2L^2上ベクトル空間の元であり、
H(div)\bm{H}(\mathrm{div})は発散がdd次元L2L^2上ベクトル空間に含まれるようなdd次元L2L^2ベクトル空間の元である。

unisolvency

有限要素κ=(K,P,Σ)\kappa=(K, P, \Sigma)がunisolvency(一意解決)とはΣ\Sigmaの自由度とPPの基底関数の関係を表す概念である。
以下を充たすとき、有限要素κ=(K,P,Σ)\kappa=(K, P, \Sigma)unisolvency(一意解決) であるという。

gP,L1(g)=L2(g)==LNP(g)=0    g=0\forall g \in P, \\ L_1(g) = L_2(g) = \ldots = L_{N_P}(g) = 0 \implies g = 0

言い換えると、Li(i=1,2,,NP)L_i (i = 1, 2,\ldots, N_P)を要素にもつベクトル

L(g)=(L1(g),L2(g),,LNP(g))TRNP\bm{L}(g) = (L_1(g), L_2(g), \ldots, L_{N_P}(g))^T \in \mathbb{R}^{N_P}

が多項式空間PPからの単射であることを意味する。

δ\delta-propertyについて

有限要素κ=(K,P,Σ)\kappa = (K, P, \Sigma)について、 多項式空間の部分集合B={θ1,θ2,,θNP}P\mathcal{B} = \{\theta_1, \theta_2, \ldots, \theta_{N_P}\} \subset Pδ\delta-propertyを持つとは以下を充たすことをいう。

Li(θj)=δij, i,j=1,2,,NPL_i(\theta_j) = \delta_{ij},\ \forall i,j=1,2,\ldots,N_P

ただし、δij\delta_{ij}はクロネッカーのデルタである。

unisolvencyの特徴

有限要素がunisolvencyであることと、その有限要素がもつ多項式空間PPδ\delta-propertyを持つことについては以下の重要な命題が成り立つ。
有限要素κ=(K,P,Σ)\kappa=(K, P, \Sigma)について、

有限要素κがunisolvencyである    δ-propertyを持つ基底B={θ1,θ2,,θNP}Pが唯一つ存在する\text{有限要素$\kappa$がunisolvencyである} \iff \\ \text{$\delta$-propertyを持つ基底$\mathcal{B} = \{\theta_1, \theta_2, \ldots, \theta_{N_P}\} \in P$が唯一つ存在する}

proof :
    \impliesの証明:
有限要素κ\kappaがunisolvencyであるとする。また、多項式空間の任意の基底について{g1,g2,,gNP}P\{g_1, g_2, \ldots, g_{N_P}\} \subset Pをとる。
多項式空間の任意の元θj(j=1,2,,NP)\theta_j (j = 1, 2, \ldots, N_P)は係数akjRa_{kj} \in \mathbb{R}を用いて以下のように線形和を用いて表現できる。

θj=k=1NPakjgk\theta_j = \sum_{k=1}^{N_P} a_{kj} g_k

ここで、δ\delta-propertyが成り立つときはどのような状況であるかを考える。 δ\delta-propertyがなりたつときは以下を充たす係数akja_{kj}が一意に定まるときである。

Li(θj)=k=1NPakjLi(gk)=δijL_i(\theta_j) = \sum_{k=1}^{N_P} a_{kj} L_i(g_k) = \delta_{ij}

(LiL_iの線形性を用いている。)
この式を行列形式で表現すると以下のようになる。

LA=I\begin{aligned} \bm{L}\bm{A} &= \bm{I} \end{aligned}

そこで、証明すべき命題を上の行列方程式の係数行列AAが一意に定まることを示すことに帰着させる。 (不定・不能ではないことを示す)

L\bm{L}の各列が線形従属であると仮定する。 するとLiL_iにて適当な非ゼロな係数αk\alpha_kを用いて

k=1NPαkLi(gk)=k=1NPLi(αkgk)=0\sum_{k=1}^{N_P} \alpha_{k} L_i(g_k) = \sum_{k=1}^{N_P}L_i(\alpha_k g_k) = 0

と表現することができる。
(ベクトルv1,v2,v_1, v_2, \ldotsが線形独立であるということは、civi=0    ci=0\sum c_i v_i = 0 \implies c_i = 0 であることを意味する。よって線形独立ではないということはcivi=0ci0\sum c_i v_i = 0 \land c_i \neq 0)

しかし、有限要素κ\kappaがunisolvencyであるという仮定のため、任意のαkgk\alpha_k g_kに対して

k=1NPLi(αkgk)=0    αkgk=0\sum_{k=1}^{N_P} L_i(\alpha_{k} g_k) = 0 \implies \alpha_k g_k = 0

であるはず。 これは、LiL_iが線形従属であることと矛盾する。 よって、L\bm{L}の各列は線形独立であり、それに伴い、L\bm{L}は可逆である。 よって、係数行列AAは一意に定まる。

    \impliedbyの証明:
δ\delta-propertyを持つ基底B={θ1,θ2,,θNP}P\mathcal{B} = \{\theta_1, \theta_2, \ldots, \theta_{N_P}\} \in Pが唯一つ存在するとする。

多項式空間PPの任意の元gPg \in Pは適当な係数γi\gamma_iを用いて以下のように表現できる。

g=i=1NPγiθig = \sum_{i=1}^{N_P} \gamma_i \theta_i

よって、

Li(g)=j=1NPγjLi(θj)=γiL_i(g) = \sum_{j=1}^{N_P} \gamma_j L_i(\theta_j) = \gamma_i

(θi\theta_iδ\delta-propertyであることを用いた。)
よって

Li(g)=0    γi=0    g=0L_i(g) = 0 \implies \gamma_i = 0 \implies g = 0

以上より、有限要素κ\kappaはunisolvencyである。 Q.E.D.

さて、以上の証明は有限要素がunisolvencyであることを確認するための方法を示してくれている。 つまり、多項式空間の適当な基底を集めてきて、行列L\bm{L}を構成し、その行列が可逆であることを確認すれば良い。また、δ\delta-propertyをもつ多項式を構成するための、実際の係数行列AAの値も行列L\bm{L}の逆行列を計算することで求めることができる。

example (unisolvencyではない)

K=[1,1]2K=[-1, 1]^2の正方形領域を考える。 ここで、多項式空間PPは以下の元で張られる空間であるとする。

P=span{1,x1,x2,x1x2}P = \mathrm{span}\{1, x_1, x_2, x_1x_2\}

(ここで、x1,x2x_1, x_2はそれぞれいわゆるx,yx, y座標を表す。
また、多項式空間の元gPg\in Pは適当な係数の線形和となる。
例えば、g(x1,x2)=1+2x1+3x2+4x1x2g(x_1, x_2) = 1 + 2x_1 + 3x_2 + 4x_1x_2のように表現できる。
また、(x1,x2)=(1,1)(x_1, x_2) = (-1, -1)のとき、g(1,1)=(1,1,1,1)(1,2,3,4)g(-1, -1) = (1, -1, -1, 1)\cdot(1,2,3,4)のように表現できることにも留意すべきである。前がLとなり、後ろが係数となる。 )
また、自由度Σ\Sigma[1,0],[1,0],[0,1],[0,1][-1, 0], [1, 0], [0, 1], [0, -1]で値を持つとする。

L1(g)=g(1,0)L2(g)=g(1,0)L3(g)=g(0,1)L4(g)=g(0,1)\begin{aligned} L_1(g) &= g(-1, 0) \\ L_2(g) &= g(1, 0) \\ L_3(g) &= g(0, 1) \\ L_4(g) &= g(0, -1) \end{aligned}

このとき、有限要素κ=(K,P,Σ)\kappa = (K, P, \Sigma)はunisolvencyであるかどうかを考える。 この場合、行列L\bm{L}は以下のようになる。

L=(1100110010101010)\bm{L} = \begin{pmatrix} 1 & -1 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 0 & 1 & 0 \\ 1 & 0 & -1 & 0 \end{pmatrix}

これは可逆ではない。 よって、有限要素κ\kappaはunisolvencyではないし、δ\delta-propertyを持つ基底も存在しない。

example (unisolvencyである)

区間Ka=(1,1)K_a = (-1, 1)KaK_a上のpp次多項式空間Pa=Pp(Ka)P_a=P^p(K_a)について考える。
KaK_aNp=p+1N_p = p+1個の(幾何学的な)点(1=X1<X2<<XNP=1-1 = X_1 < X_2 <\cdots < X_{N_P} = 1)で被膜するすることを考える。
これらの点は慎重に選ばれなければならない。 というのも、それらの点の分布が基底関数を決め、結果的に離散問題の条件をを決めるからである。
自由度を以下のように定義する。

Σa={L1,L2,,LNP}, Li:PaRLi(g)=g(Xi), gPa, i=1,2,,NP\begin{aligned} \Sigma_a &= \{L_1, L_2, \ldots, L_{N_P}\},\ L_i : P_a \rarr \mathbb{R} \\ L_i(g) &= g(X_i),\ \forall g \in P_a,\ i=1,2,\ldots,N_P \end{aligned}

明らかにLiL_iは線形写像である。
(多項式g+fg+fについてLi(g+f)=g(Xi)+f(Xi)=Li(g)+Li(f)L_i(g+f)=g(X_i) + f(X_i)=L_i(g) + L_i(f)と定義できるから)
gPa\forall g \in P_aは以下を充たす。
(例えば33次方手式=0=0となる点は33つしか無い。一般にpp次多項式の根はpp個である。p+1p+1個の点があるとき、pp次多項式は00となる。)

g(X1)=g(X2)==g(XNP)=0    g=0g(X_1) = g(X_2) = \ldots = g(X_{N_P}) = 0 \implies g = 0

よって、有限要素κa=(Ka,Pa,Σa)\kappa_a = (K_a, P_a, \Sigma_a)はunisolvencyである。

δ\delta-propertyを充たす空間PaP_aの基底を構成するのは簡単である。 1Dの場合、ラグランジュの補間多項式が利用できるため、線形方程式を解く必要さえない。 高次元の場合の頂点要素も同じ方法で構成できる。 例えば、dim(T)=2\mathrm{dim}(T) = 2の正三角形TTTT上のpp次多項式空間PT=Pp(T)P_T = P^p(T)について考える。 TTNP=(p+1)(p+2)2N_P = \frac{(p+1)(p+2)}{2}個Gauss-Lobatto点X1,X2,,XNpX_1, X_2, \ldots, X_{N_p}でカバーすることを考える。 δ\delta-propertyを充たす基底関数はNp×NpN_p\times N_pの行列L\bm{L}の逆行列を計算することで求められる。(証明した通り) 頂点の値に基づいた有限要素はhh-adaptiveな要素の構築にも利用できることで有名である。

example (unisolventな階層要素)

他の有限要素の設計に対する重要なアプローチとして階層形状関数の適用がある。 領域KKNpN_p次元の最大次数ppの多項式空間PPとし、
多項式空間PPの階層基底Bp={θ1,θ1,,θNp}\mathcal{B}^p=\set{\theta_1, \theta_1, \ldots, \theta_ {N_p}}について考える。
階層基底とは任意のppに対して

BpBp+1\mathcal{B}^p \subset \mathcal{B}^{p+1}

を充たす基底のことである。 あらゆる多項式gPg\in Pは以下の線形和で表現できる。

g=i=1Npβiθi=i=1NpLi(g)θig = \sum_{i=1}^{N_p}\beta_i\theta_i = \sum_{i=1}^{N_p}L_i(g)\theta_i

ここで、βi\beta_iは実数値係数を表し、Li(g)=βiL_i(g)=\beta_iである。

明らかに、Σ={L1,L2,,LNp}\Sigma = \set{L_1, L_2, \ldots, L_{N_p}}の選択によって有限要素κ=(K,P,Σ)\kappa = (K, P, \Sigma)はunisolvencyとなり、B\mathcal{B}δ\delta-propertyを持つ。

階層要素では頂点要素よりも簡単に非均一な次数の多項式近似を扱うことができる。 つまり、pp-やhphp-adaptiveでの適用を可能にする。

有限要素メッシュ

対象の問題を研究するためにリプシッツ連続境界を持つ領域Ω\Omegaを考える。これはその境界が区分多項式であるような計算領域Ωh\Omega_hで近似される。

def : 有限要素
区分多項式をもつ領域ΩhRd\Omega_h \sub \mathbb{R}^d上における有限要素Th,p={K1,K2,,KM}\mathcal{T}_ {h,p} = \set{K_1, K_2, \ldots, K_M}Ωh\Omega_hの幾何学的分割である。 有限要素はΩh\Omega_hを有限個の非交差な開集合ポリゴンセルKiK_iに分割する。

Ωh=i=1MKiˉ\Omega_h = \bigcup_{i=1}^M \bar{K_i}

それらのセルKi, 1iMK_i, \ 1 \ge i \ge Mは次数1p(Ki)=pi1 \ge p(K_i)=p_iの多項式が備え付けられている。

def : ハイブリッドメッシュ
様々なセルのタイプが結合されているとき、メッシュはハイブリッドメッシュと呼ばれる。

def : 正則メッシュ 任意の2つの要素Ki,Kj, ijK_i, K_j, \ i\neq jに対して、次の一つの条件のどれかを充たすならば、そのメッシュを正則メッシュと呼ぶ。

有限要素補間と適合性

参照領域と参照写像

有限要素の離散化