Research

Home > Research > Adaptive Mesh Refinement

Adaptive Mesh Refinement

物理現象は時間・空間に関してマルチ・スケールの構造をしています。短い時間に起こる現象と、ゆっくり変化する現象が同時に起こることも珍しくありません。空間に関しても、細かい変化と大域的な変化が共存する場合があります。数値計算ではしばしば空間格子(メッシュ)で離散化しますが、離散化の仕方で空間分解能が決まります。均等に細かい格子を使えば高い空間分解能で計算を行うことができますが、必要とされる計算機のメモリー量とCUP時間は膨大なものとなります。

ところが実際には細かい現象が発生している場所(高い分解能 or 計算精度が必要な場所)は限られている場合が多く、高い分解能が必要な場所に細かい格子を配置し、現象が緩やかな場所には粗い格子を使えばよいと考えるのは自然です。曲面形状の物体を含む流れの計算に良く使われてきた境界適合座標法は、座標変換により格子を寄せたり延ばしたりして格子生成を行いますが、形状が複雑になると座標変換ではそもそも対応できなくなります。

そこで、直交格子をベースにして高い分解能を必要とする場所の格子を細分化する適合細分化格子法AMR(Adaptive Mesh Refinement)法が提案されています。図にあるように、例えば北海道の周りの海洋シミュレーションをしたいと考えたとき、海岸線が海流に与える影響は非常に大きいので海岸線の形状はできるだけ正確に取り込みたいと考えます。しかし直交等間隔格子では輪郭線がなければ緑色の陸の部分は北海道には見えません。そこで、海岸線を含む格子に対して、格子間隔を1/2と細分化します(図をクリック)。さらに図をクリックすると1/4, 1/8と細分化された格子が入籠状になった格子が表示されます。この段階にくれば、緑色の部分が北海道であることは一目瞭然です。しかも、全体を細かくする場合と比べに格段に少ない格子点数で複雑な海岸線の形状を表現しています。また、物理現象の変化の激しい場所が刻々と移って行くような場合にもAMR法は容易に対応できます。

 ただ、計算機上のデータ構造が複雑になったり、隣り合う格子点のメモリー番地が連続しなかったりするなど計算効率を下げる部分もあります。メモリー分散型の並列計算も容易ではありません。我々は局所補間微分オペレータ(IDO)法にAMR法を融合させる研究を進めており、これにより細分化レベルの異なる格子が隣接する場合の問題点や、細分化する際の新しい格子を生成するときに必要な高次補間の問題などを解決しようとしています。