有限要素法
微分方程式 |
---|
![]() |
分類 |
解 |
計算物理学 |
---|
![]() |
数値解析 · シミュレーション |
有限要素法(ゆうげんようそほう、英語: Finite Element Method, FEM)は数値解析手法の一つ。 解析的に解くことが難しい微分方程式の近似解を数値的に得る方法の一つであり[1][2][3][4]、 Turner-Clough-Martin-Toppによって導入された[5]。 方程式が定義された領域を小領域(要素)に分割し、各小領域における方程式を比較的単純で共通な補間関数で近似する[3]。 構造力学分野で発達し[6]、他の分野でも広く使われている手法である。その背景となる理論は、関数解析(リースの表現定理、ラックス=ミルグラムの定理など)と結びついて、数学的に整然としている[1][2][注釈 1][7]。
FEMを用いて現象を研究・分析することを「有限要素解析(FEA)」と呼ぶことがある。
特徴
- 各小領域内を一次関数で補間(近似空間が元の解空間の部分空間になる場合はある種の射影を求めることになる)した場合、全領域では適切なノルムに対して最良近似であることが示される[注釈 2]。
- 線形問題[8]・非線形問題[9][10]・動的解析[11][12][13]など、さまざまな問題に対応できる。これは、近似方程式の作り方や領域形状について、自由度が高いことに起因する[1][2][3]。
- FEMでは、変動微分法を用いて、誤差関数を最小化することで解を近似する。
メッシュ
- 領域全体をより単純な部分に細分化することには、以下のような利点がある。
- 複雑な形状を正確に表現できる。異種材料の特性を与えることができる。トータルソリューションの表現が容易。局所的な効果を把握できる。
- 計算のため小領域に分割することを「メッシュを切る」という言い方をする。メッシュの適切さは解析結果の正確さに大きく影響する。
- FEMは工学的な解析を行うための計算ツールとしても広く用いられる。FEMを用いたCAEソフトウエアでは、複雑な幾何形状を微小要素に分割するメッシュを自動生成する機能をもつものがある。ただしそうした場合も形状の特異点の扱いに気をつける必要がある。(構造解析における隅部など)
- 自動車や石油パイプラインのような複雑な解析や、境界が移動する固体反応のように領域が変化する場合や、必要な精度が領域全体で変化する場合や、解が滑らかでない場合などにはFEMは特に適している。FEMではメッシュの粗さを調整することで解析の計算コストを抑えることができる。(変化が大きく重要な部分はメッシュを細かくし予測精度を高め、変化の小さい部分は予測精度を上げる必要がないのでメッシュを粗くし、計算量を減らす。)例えば、自動車の正面衝突シミュレーションでは、車の前部など重要な領域はメッシュを細かくし、後部のメッシュを粗くする。また数値気象予報では、比較的穏やかな場所よりも、高度に非線形な現象が発生している場所(大気中の熱帯低気圧や海洋の渦など)を正確に予測することが重要になる。
アルゴリズム
- 解析対象領域内で成り立つ方式(ポアソン方程式など)に対してある重み関数の積を施し、それを領域内で積分した弱形式を形成する。
- 解析領域内部を小さな有限範囲の要素に分割する。一般的に、要素はその境界に節点が配置され、要素内部の物理量は各節点に対応する形状関数と節点の値の積の和として表現される[注釈 3]。
- 有限要素法では多くの種類の要素が定式化されていて、問題に依って使い分けられるようになっている。要素の種類の違いは、要素の形状、要素内での解の近似に用いる多項式の次数や、隣り合う要素の間の境界での近似解の連続性などによる。
- 解析領域全体の弱形式は積分で表されるので、それぞれの要素内の積分の総和として表すことができる。つまり、各要素の節点における未知数に対してこの積分を適用することによって、各要素の係数行列(連立一次方程式の左辺行列)を作成する(未知数は変位、速度、圧力など。右辺ベクトルも同時に形成される)。この係数行列は要素剛性行列と呼ばれる。
- 実際の複雑な問題では要素領域内に対する積分の値を解析的な式計算で求めるのは難しいので、領域の補間関数の次数に応じてガウス・ルジャンドル法などの数値積分を用いて近似することが多い[3]。
- 各要素における係数行列(要素係数行列)の総和を取って領域全体の係数行列(全体剛性行列[14]と呼ばれる)を作成し、解を求めることができる。
多くの場合に有限要素法では、近似解を求めることが連立一次方程式を解くことに帰着される (つまり最終的には数値線形代数の知識が必要になる)[3]。得られる全体の係数行列は一般に疎行列となる。使用記憶領域の削減と計算速度向上のため、行列のデータ構造には様々な形式が用いられ、その格納形式に対応して効率よく解くソルバーが存在する。たとえば、直接法で解く場合のスカイライン法などが知られている[15]。
形状関数
形状関数とは、節点における物理量(変位など)から要素内の物理量を内挿するために用いられる関数である。たとえば四面体一次要素の場合、4つの頂点に節点i = 1, ... , 4 がとられ、節点i に対する形状関数Ni とそれぞれの点における物理量ui を用いて、要素内の任意の点 p における物理量up は形状関数の線形結合として
- FEM法のページへのリンク