はじめに
この投稿で並列計算した3次元磁気流体シミュレーション結果を可視化する。可視化はMac上で動作するVisIt 3.3.3で行う。
VisItでシミュレーション結果を表示
環境
シミュレーションを行ったdockerコンテナの/workdir配下は、コンテナが動いている物理ワークステーションの/ext/nfs/athena++配下となる。この投稿の「Dockerを起動」の -vオプションを参照されたい。
Macから上記ワークステーションの/ext/nfs領域をNFSマウントすれば、Macで動いているVisItから結果のファイルを参照できる。
シミュレーション結果ファイルを開く
MacでvisItを起動し、「Open」でNFSマウント先のシミュレーション結果ファイルを開く。
filesは、Blast.out1.*.athdf.xdmf databaseを指定し、「OK」をクリックする。
Expressionsファイルを開く
「Controls」 → 「Expressions」 ウィンドウを開き、「Load」をクリックする。その後「athena/vis/visit/athdf_MHD_primitive.xml」を「Open」をクリックする。
下図の「Expressions」ウィンドウで「Apply」し、その後「Dismiss」をクリックして、「Expressions」ウィンドを閉じる。
「Add」→ 「Pseudocolor」 → 「press」(「gas_pressure」が無い)、その後「Draw」をクリック。
下図は、時間を少し進めてのスクリーンショット。次の節では、この断面を見る。
スライスオペレータ
「ThreeSlice」オペレータを使って断面を見る。
「Operator Attributes」 → 「Slicing」 → 「ThreeSlice」で「ThreeSlice operator attributes」画面が開くので(断面をどこに置くかを指定できるようだが、よく分からないので、ディフォルトの原点のまま)、「Apply」をクリックすると、下図のような確認画面(中央)が表示されるので、「Yes,Do not prompt again」で閉じ、更に「ThreeSlice operator attributes」画面を「Dismiss」で閉じる。
その結果、次のような画像が得られた。
速度ベクトル表示
「Add」 → 「Vectors」 → 「gas_velocity」で、「gas_volocity」をダブルクリックすると、「Vector plot attributes」画面が開く。
「Sampling」で、矢印数を増やすため、400を4000に変更。「Geometry」の「Vector origin」のラジオボタンを「Middle」に変更。
こうして得られたのが下図。情報源2.と比較すると、矢印の表示が少ないようだ。理由は不明。
磁力線の描画
続いて、次のような手順で磁力線を表示させる。
「Add」 → 「Pseudocolor」 → 「operators」 → 「IntegralCurve」 → 「bfield」を指定する。
IntegralCurveをダブルクリックし、「IntegralCureve operator attributes」(下図)を開く。
「Integration」タブにおいては、「Source type」を「Plane」に変更し、Normalを「1 0 0」に変更する。
更に、「Samples in X」と「Samples in Y」とを「10」に変更し、「Distance in X」と「Distance in Y」とを「2」に変更しする。
次に「Appearance」タブで、「Color by」では「Vector magnitude」を指定し、「Apply」し「Dismiss」して「Draw」すると、次のWarningが表示され、情報源2.のような磁力線の表示がされない。
まとめ
VisItを使って、シミュレーション結果(計算結果)を可視化において、大筋はうまくいったが、矢印(速度ベクトル)表示や磁力線の表示については、問題あり。特に磁力線表示は全くできていない。
VisItを使って、別の問題についても可視化を行い、VisItをもう少し使いこなせるようにしたい。