有限要素法(FEM)の数値解法
有限要素法は、偏微分方程式を弱形式(積分形式)に変換し、要素分割された空間上の基底関数で場を近似して連立方程式として解く枠組みである。複雑形状・材料不均一・異方性・多物理連成を同一の形式で扱える点が核である。
参考ドキュメント
- S. C. Brenner, L. R. Scott, The Mathematical Theory of Finite Element Methods (Springer) https://link.springer.com/book/10.1007/978-1-4757-3658-8
- PETSc Manual: KSP (Linear System Solvers) https://petsc.org/release/manual/ksp/
- 有限要素法入門(講義資料、日本語PDF) https://nkl.cc.u-tokyo.ac.jp/FEM/01-FEMintro.pdf
1. FEMが「数値解法」として強い理由
形状の自由度
三角形・四面体などの非構造メッシュにより、欠陥・界面・多結晶粒界のような複雑境界を自然に表現できる。物理法則と整合する離散化
保存則やエネルギー最小化原理に基づく弱形式は、境界条件(特にフラックス型)を一貫して組み込める。連成・異方性の取り込みが局所積分に落ちる
材料テンソル(弾性定数、誘電率・透磁率テンソル、拡散テンソルなど)を要素積分に組み込むだけで、複雑な材料応答を同一実装で扱える。 大規模化の焦点が明確
最終的に「疎行列の線形/非線形方程式を速く・頑健に解く」へ帰着するため、Krylov法・前処理・領域分割などのHPC技術と直結する。
2. 強形式から弱形式へ
代表としてPoisson型を例示する。
境界を
試験関数
ここで
この形を、抽象化して
と書く。ここで
3. Galerkin近似
有限次元部分空間
と近似する。Galerkin法では試験関数にも同じ空間を用い、
すると線形系
が得られる。ここで
である。Poisson型では
4. メッシュ・要素・形状関数
4.1 要素分割と参照要素
領域
勾配変換はヤコビアン
積分は
で評価する。
4.2 代表的な連続要素(Lagrange要素)
次数
| 要素 | 次数 | 自由度の増え方 | 特徴 |
|---|---|---|---|
| 1 | 少 | 実装が簡単、メッシュ品質の影響が目立つ | |
| 2 | 中 | 勾配場が改善、局所特異性にも強くなる | |
| 1 | 少 | 構造格子に相性、歪みが大きいと精度低下 | |
| 2 | 中 | 高精度だが求積とソルバが重要になる |
5. 数値積分(ガウス求積)と要素行列
一般に、要素積分は解析的に閉じないため求積点
で評価する。
次数
6. 局所寄与の散布
要素
と表せる(
大規模化では、以下が支配的になる。
- 疎行列の保存形式(CSRなど)
- アセンブリの並列化(領域分割、通信)
- 行列・ベクトル演算(特に疎行列ベクトル積)の効率
行列を明示的に保持しない行列フリー(matrix-free)手法では、
7. 境界条件の組み込み
7.1 Dirichlet境界(本質境界条件)
代表的手法:
- 自由度固定(代入):
を満たす節点自由度を固定し、未知数から外す - ペナルティ法:
を追加( 過大で条件数悪化) - Nitsche法:弱く課して整合性と安定性を両立させる
7.2 Neumann境界(自然境界条件)
弱形式の右辺に境界積分として自然に現れる:
熱流束、拡散フラックス、表面荷重などで頻出である。
8. 時間発展問題:質量行列と時間積分
半離散化(空間のみFEM)すると
の形が典型である。ここで
は質量行列である。
時間積分の代表:
- 後退Euler(一次、強安定)
- Crank–Nicolson(二次、拡散で標準)
拡散支配や硬い系では陰解法が選ばれやすく、その場合「毎ステップ線形系を解く」ことが計算コストを決める。
9. 線形ソルバ:Krylov法と前処理
FEMの大規模計算では、疎線形系
9.1 Krylov法
が対称正定値(SPD)に近い:CG - 非対称・鞍点・複素:GMRES、BiCGStab など
反復回数は条件数と前処理で大きく変わる。
9.2 前処理
前処理
- ILU/IC:中規模で使いやすいが並列性に限界
- 多重格子(MG/AMG):楕円型に強力でスケールしやすい
- 領域分割(Schwarz、Additive/Multiplicative):並列化と相性が良い
- ブロック前処理:連成・鞍点に対してSchur補完を使う
多相材料や層状系では係数コントラストが強く条件数が悪化しやすい。前処理は物理構造(スケール、連成、拘束)に沿わせると効くことが多い。
10. 非線形問題:Newton法とNewton–Krylov
非線形残差
である。ここで
重要点:
- 各Newton反復で大規模線形系が現れる
- 線形ソルバの許容誤差がNewton収束に影響する(内側反復と外側反復の調整)
- ヤコビアンを組まずに作用だけ使う行列フリーNewton–Krylovも有力である
弾塑性、相場(Allen–Cahn、Cahn–Hilliard)、磁気弾性のような連成非線形で頻出である。
11. 混合要素・鞍点問題と安定性(inf-sup)
速度–圧力、変位–圧力、電磁場の拘束などでは
の鞍点構造になりやすい。不適切な離散化はスプリアスモードやロッキングを生む。
代表的対策:
- 安定な要素対を選ぶ(例:Taylor–Hood要素など)
- 安定化項を導入する(PSPG、SUPGなど)
- ブロック前処理でSchur補完を近似して解く
12. 電磁場における要素選択: と
Maxwell方程式では回転(curl)や発散(div)が本質である。 スカラーのLagrange要素だけでベクトル場を近似すると、非物理なモードが出ることがある。
代表要素:
- Nédélec要素:
に整合(渦の表現) - Raviart–Thomas要素:
に整合(フラックス連続性)
磁束保存
13. 精度・収束・検証
13.1 誤差の基本像
一般に、要素サイズ
ここで
13.2 検証メニュー
- 格子収束:
を半分にして誤差が理論次数で減るか - 製造解法(MMS):既知の解析関数
を代入して を作り、実装全体を検証 - 保存則/散逸則:質量・エネルギー・磁束などが期待通りか
- 境界条件テスト:Dirichlet/Neumann/周期の実装差が理解通りか
14. 計算量とボトルネック
大規模化で効く観点:
- 自由度数
に対する計算量の見積もり(反復回数と1反復コスト) - メモリ帯域の制約(疎行列・ベクトル演算)
- 前処理の並列スケーラビリティ(AMG、領域分割)
- アセンブリと通信の重なり(overlap)
- 行列フリー化と高次要素(演算強度を上げて帯域制約を緩和)
「良い離散化」だけでは速くならず、「良い前処理」だけでも精度が保証されない。FEMでは両者を一体で設計する必要がある。
まとめ
- FEMは、弱形式
を有限次元空間で近似して疎連立方程式へ落とし込む数値解法である。離散化行列 は双一次形式の選択と要素設計により決まり、複雑形状・異方性・連成を同一枠組みで扱える。 - 大規模計算では、疎線形系(および非線形問題の反復内に現れる線形系)の解法が支配的である。Krylov法と前処理(多重格子、領域分割、ブロック前処理)を物理構造に沿って設計し、検証(格子収束・MMS・保存則)で数値品質を担保することが要点である。