計算格子

計算格子（英: computational mesh/grid）または単に格子とは、数値解析における離散化のために用いられる、解析領域（2次元または3次元の幾何形状)を有限個に分割した部分領域のことである。構造解析分野では要素とも言う。 計算領域を格子に分けることを格子生成（英: mesh generation）または格子分割と言う。 各計算格子は番号付けにより識別され、その幾何学的形状は節点（nodes）の座標値により規定される。また、節点には要素節点番号と呼ばれる要素内での節点の番号を付ける。 構造格子 序列を持っている格子。格子数が座標軸の各方向に変化せず、領域を直方体状に分割する。 マップドメッシュ 偏微分方程式を用いる方法：ある種の偏微分方程式を解くことで生成する方法がある。さらに楕円型、双曲型、放物型に分類される。 代数方程式を解いて生成する方法 境界適合格子：配置の仕方（トポロジーと呼ばれる）によってO型、C型、H型、L型に分類される。 非構造格子（英語版） デローニ分割 四分木、八分木、kd木 アドバンシングフロント法 構造解析においては、格子（要素）は構造物のモデル化手法によって以下のものなどが使い分けられる。 線要素 トラス構造やラーメン構造のような骨組み構造に適用される。要素特性として物性値のほかに断面積や断面2次モーメント、断面係数などを持つ。 面要素 シェル要素（shell element）とも言う。板厚の10倍以上の広がりがある、あるいは板厚の5倍以上の曲げ半径を持つの場合に、その構造物は板であるとみなされ、面要素が用いられる。要素特性として物性値のほかに厚さの情報を持つ。 体要素 ソリッド要素（solid element）とも言う。3次元形状（4面体や6面体）を持つ要素。要素特性には材料の物性値のみが必要となる。 有限要素法においては、要素の頂点にのみ節点を持つ1次要素と、要素の辺の中点にも節点を持つ2次要素に分類され、要素内補間の方法が異なる。 三角形1次要素は3つの節点（添え字1, 2, 3）を持つ2次元の要素で、要素内の点 (x , y ) の値δは節点の値δ1 , δ2 , δ3 から次式で求められる。 δ = 1 2 Δ [ { ( x 2 y 3 − x 3 y 2 ) + ( y 2 − y 3 ) x + ( x 3 − x 2 ) y } δ 1 + { ( x 3 y 1 − x 1 y 3 ) + ( y 3 − y 1 ) x + ( x 1 − x 3 ) y } δ 2 + { ( x 1 y 2 − x 2 y 1 ) + ( y 1 − y 2 ) x + ( x 2 − x 1 ) y } δ 3 ] {\displaystyle {\begin{aligned}\delta ={\frac {1}{2\Delta }}[\{(x_{2}y_{3}-x_{3}y_{2})+(y_{2}-y_{3})x+(x_{3}-x_{2})y\}\delta _{1}&\\+\{(x_{3}y_{1}-x_{1}y_{3})+(y_{3}-y_{1})x+(x_{1}-x_{3})y\}\delta _{2}&\\+\{(x_{1}y_{2}-x_{2}y_{1})+(y_{1}-y_{2})x+(x_{2}-x_{1})y\}\delta _{3}&]\end{aligned}}} ここで xi , yi は各節点の座標で、 Δ := 1 2 | 1 x 1 y 1 1 x 2 y 2 1 x 3 y 3 | {\displaystyle \Delta :={\frac {1}{2}}\left|{\begin{matrix}1&x_{1}&y_{1}\\1&x_{2}&y_{2}\\1&x_{3}&y_{3}\end{matrix}}\right|} は三角形の面積である。 4つの節点（添え字1-4）をもつx-y平面上の2次元の四角形要素は、次の写像関数（形状関数）を用いてξ-η平面上の正方形に変換されて考察される。 x = ( 1 + ξ ) ( 1 + η ) 4 x 1 + ( 1 − ξ ) ( 1 + η ) 4 x 2 + ( 1 − ξ ) ( 1 − η ) 4 x 3 + ( 1 + ξ ) ( 1 − η ) 4 x 4 , y = ( 1 + ξ ) ( 1 + η ) 4 y 1 + ( 1 − ξ ) ( 1 + η ) 4 y 2 + ( 1 − ξ ) ( 1 − η ) 4 y 3 + ( 1 + ξ ) ( 1 − η ) 4 y 4 {\displaystyle {\begin{aligned}x&={\frac {(1+\xi )(1+\eta )}{4}}x_{1}+{\frac {(1-\xi )(1+\eta )}{4}}x_{2}+{\frac {(1-\xi )(1-\eta )}{4}}x_{3}+{\frac {(1+\xi )(1-\eta )}{4}}x_{4},\\y&={\frac {(1+\xi )(1+\eta )}{4}}y_{1}+{\frac {(1-\xi )(1+\eta )}{4}}y_{2}+{\frac {(1-\xi )(1-\eta )}{4}}y_{3}+{\frac {(1+\xi )(1-\eta )}{4}}y_{4}\end{aligned}}} この座標変換を用いて、要素内の座標 (ξ, η) の点の値δは節点の値δi (i = 1-4) から次式で求められる。 δ = ( 1 + ξ ) ( 1 + η ) 4 δ 1 + ( 1 − ξ ) ( 1 + η ) 4 δ 2 + ( 1 − ξ ) ( 1 − η ) 4 δ 3 + ( 1 + ξ ) ( 1 − η ) 4 δ 4 {\displaystyle \delta ={\frac {(1+\xi )(1+\eta )}{4}}\delta _{1}+{\frac {(1-\xi )(1+\eta )}{4}}\delta _{2}+{\frac {(1-\xi )(1-\eta )}{4}}\delta _{3}+{\frac {(1+\xi )(1-\eta )}{4}}\delta _{4}} この例のように、座標変換の式と要素内の値を求める式が同じように表される要素はアイソパラメトリック要素と呼ばれる。 三角形2次要素は三角形の頂点（添え字1, 2, 3）に加え、各辺上にも節点（添え字4, 5, 6）をもつアイソパラメトリック要素である。辺の形状として直線だけでなく曲線（放物線）が許されるようになるため、1次要素より精度の高い要素とされる。 各節点をξ-η平面上に座標変換して(ξ1, η1) = (1, 1), (ξ2, η2) = (-1, 1), (ξ3, η3) = (1, -1), (ξ4, η4) = (0, 1), (ξ5, η5) = (0, 0), (ξ6, η6) = (1, 0) としたとき、要素内の座標 (ξ, η) の点の値δはξ, ηの2次式で表され δ = ( ξ + η ) ( ξ + η − 1 ) 2 δ 1 + ξ ( ξ − 1 ) 2 δ 2 + η ( η − 1 ) 2 δ 3 + ( 1 − ξ ) ( ξ + η ) δ 4 + ( 1 − ξ ) ( 1 − η ) δ 5 + ( 1 − η ) ( ξ + η ) δ 6 {\displaystyle {\begin{aligned}\delta =&{\frac {(\xi +\eta )(\xi +\eta -1)}{2}}\delta _{1}+{\frac {\xi (\xi -1)}{2}}\delta _{2}+{\frac {\eta (\eta -1)}{2}}\delta _{3}\\&+(1-\xi )(\xi +\eta )\delta _{4}+(1-\xi )(1-\eta )\delta _{5}+(1-\eta )(\xi +\eta )\delta _{6}\end{aligned}}} となる。 四角形2次要素も頂点に加え辺上にも節点をもつアイソパラメトリック要素で、座標変換後の節点座標を(ξ1, η1) = (1, 1), (ξ2, η2) = (-1, 1), (ξ3, η3) = (-1, -1), (ξ4, η4) = (1, -1), (ξ5, η5) = (0, 1), (ξ6, η6) = (-1, 0), (ξ7, η7) = (0, -1), (ξ8, η8) = (1, 0) としたとき、要素内の座標 (ξ, η) の点の値δは δ = ( 1 + ξ ) ( 1 + η ) ( ξ + η − 1 ) 4 δ 1 + ( 1 − ξ ) ( 1 + η ) ( − ξ + η − 1 ) 4 δ 2 + ( 1 − ξ ) ( 1 − η ) ( − ξ − η − 1 ) 4 δ 3 + ( 1 + ξ ) ( 1 − η ) ( ξ − η − 1 ) 4 δ 4 + ( 1 − ξ 2 ) ( 1 + η ) 2 δ 5 + ( 1 − ξ ) ( 1 − η 2 ) 2 δ 6 + ( 1 − ξ 2 ) ( 1 − η ) 2 δ 7 + ( 1 + ξ ) ( 1 − η 2 ) 2 δ 8 {\displaystyle {\begin{aligned}\delta =&{\frac {(1+\xi )(1+\eta )(\xi +\eta -1)}{4}}\delta _{1}+{\frac {(1-\xi )(1+\eta )(-\xi +\eta -1)}{4}}\delta _{2}\\&+{\frac {(1-\xi )(1-\eta )(-\xi -\eta -1)}{4}}\delta _{3}+{\frac {(1+\xi )(1-\eta )(\xi -\eta -1)}{4}}\delta _{4}\\&+{\frac {(1-\xi ^{2})(1+\eta )}{2}}\delta _{5}+{\frac {(1-\xi )(1-\eta ^{2})}{2}}\delta _{6}\\&+{\frac {(1-\xi ^{2})(1-\eta )}{2}}\delta _{7}+{\frac {(1+\xi )(1-\eta ^{2})}{2}}\delta _{8}\end{aligned}}} となる。 以上は2次元要素の例であるが、3次元要素には四面体、五面体（プリズムおよびピラミッドに分類される）、六面体があり、それぞれ1次要素と2次要素がある。 計算格子に関して望まれる性質は 数値計算の結果の信頼性が高いこと 数値計算が安定に行われること 格子の無駄が少ないこと であり、そのために以下のことに留意することが必要である。 直交性 計算格子に流入する流束は格子に垂直な面を評価するため、流束ベクトルと直交しない格子面は誤差の増加を生じうる。格子と流れ方向の関係のことはアライメントと呼ばれる。 隣接する格子間隔の比 隣り合う格子の大きさの比は1にできるだけ近いことが精度の維持に有効である。たとえば3つの格子点を用いて2階微分の中心差分を行うと d 2 f d x 2 = 2 Δ x j + Δ x j + 1 ( f j + 1 − f j Δ x j + 1 − f j − f j − 1 Δ x j ) + 1 3 ( Δ x j + 1 − Δ x j ) f x x x + ⋯ {\displaystyle {\frac {d^{2}f}{dx^{2}}}={\frac {2}{\Delta x_{j}+\Delta x_{j+1}}}\left({\frac {f_{j+1}-f_{j}}{\Delta x_{j+1}}}-{\frac {f_{j}-f_{j-1}}{\Delta x_{j}}}\right)+{\frac {1}{3}}(\Delta x_{j+1}-\Delta x_{j})f_{xxx}+\cdots } から、隣り合う格子の幅Δx j , Δx j + 1 が等しくない場合には、2次精度が維持できない。一般には格子間隔の比は1.5程度以下に抑えることが望ましいと言われている。 境界層 流体解析の場合、物体近傍には境界層が形成され、これを十分に解像することが必要である。層流境界層では境界層厚さ δ   5.0 R e {\displaystyle \delta ~{\frac {5.0}{\sqrt {Re}}}} の1/50以下に最小格子幅を設定する。乱流境界層の場合は、乱流モデルにもよるが、たとえば無次元の壁面からの距離 y+ を用いた目安が利用される。