平成22年度 地球シミュレータ利用報告会

液滴衝突(スプラッシュ)の数値的研究

発表資料 (3.5MB)

1. プロジェクト名

液滴衝突(スプラッシュ)の数値的研究

Numerical Studies of Droplet Impacts (Splashes)

2. プロジェクト責任者名

肖 鋒 (東京工業大学)

Feng Xiao

3. プロジェクトの目的

  • 1) 大規模な2相流の計算を出来るコードを開発すること
  • 2) 液滴衝突の動力学を調べること

4. 今年度当初の計画

  • 1) 大規模計算に適したポアソンソルバーの導入
  • 2) コードの並列化
  • 3) 液滴衝突に対する動的接触角および空気の影響を調べる

5. 研究計画に沿った利用状況

大規模な2相流の計算を行うためのコード開発

6. 今年度得られた成果, および達成度

成果

  • ポアソンソルバーの改良はほぼ完了.
  • 3月までには並列化を完了する.

達成度

※年度当初の研究計画を全て達成した場合を100%として数値で示してください. 複数の目標があった場合は, それぞれについて達成度を数値で示してください.

全体 30%

7. 計算機資源の利用状況

計算機資源の利用状況

※計画的に計算機資源を利用できているか, 状況を記載してください.

主に計算コードの最適化の検証に資源を活用している. 出来る限りの最適化をした段階で, 計算資源を最大限に活用する予定である.

チューニングによる成果

※ベクトル化, 並列化チューニング等, 計算機資源を有効利用するために行ったこととその効果を記載してください.

ポアソンソルバーをTF-BiCGSTAB(反復法の数理に付属していたASLのライブラリ)から自作のMG-BiCGSTABに変更した. 以前使用していた. MG(マルチグリッド)を使わない方法では, 計算コストがメッシュ数の2乗程度のオーダーで増大し, 事実上大規模計算には使うことが出来ない. MG-BiCGSTABでは計算コストはメッシュ数にほぼ比例し, 大規模な計算になるほど有利となる. また私の使っていたTF-BiCGSTABのコードではバンクコンフリクトが多発していたが, この改良により, バンクコンフリクトも大幅に減少した. 直交格子を使用しているため, 係数マトリクスがほぼ定数となるため, Aマトリクスを陽的に定義しないことにより, CPU-メモリー間の通信およびメモリー使用量を最低限に抑えることが出来た. ベクトル化率は99%以上をキープしている.

MPIによる並列化はまだ行っていないが, 単純な直交格子を使っているため並列化自体は容易であり, 3月までには完了できると考えている. 現状これまで大規模計算に自然に拡張できるシリアルコード(OpenMP)の開発に集中した. また現在のポアソンソルバーはMGのスムーサーをヤコビ法からSORや ILUに変更することにより少なくともあと5-6倍程度計算を加速できる可能性がある.

計画的に利用できていない場合, その理由

ベクトル並列化されているポアソンソルバーをどこかから調達できると考えていたが, それが出来なかったため, 自力で開発することになり想定外の時間がかかった.