シミュレーション結果の可視化 〜 Athena++チュートリアル4

はじめに

この投稿で並列計算した3次元磁気流体シミュレーション結果を可視化する。可視化はMac上で動作するVisIt 3.3.3で行う。

VisItでシミュレーション結果を表示

環境

シミュレーションを行ったdockerコンテナの/workdir配下は、コンテナが動いている物理ワークステーションの/ext/nfs/athena++配下となる。この投稿の「Dockerを起動」の -vオプションを参照されたい。

Macから上記ワークステーションの/ext/nfs領域をNFSマウントすれば、Macで動いているVisItから結果のファイルを参照できる。

シミュレーション結果ファイルを開く

MacでvisItを起動し、「Open」でNFSマウント先のシミュレーション結果ファイルを開く。

FileOpen

filesは、Blast.out1.*.athdf.xdmf databaseを指定し、「OK」をクリックする。

Expressionsファイルを開く

「Controls」 → 「Expressions」 ウィンドウを開き、「Load」をクリックする。その後「athena/vis/visit/athdf_MHD_primitive.xml」を「Open」をクリックする。

athdf_MHD_primitive

下図の「Expressions」ウィンドウで「Apply」し、その後「Dismiss」をクリックして、「Expressions」ウィンドを閉じる。

Expression_Apply

「Add」→ 「Pseudocolor」 → 「press」(「gas_pressure」が無い)、その後「Draw」をクリック。

下図は、時間を少し進めてのスクリーンショット。次の節では、この断面を見る。

Press_8

スライスオペレータ

「ThreeSlice」オペレータを使って断面を見る。

「Operator Attributes」 → 「Slicing」 → 「ThreeSlice」で「ThreeSlice operator attributes」画面が開くので(断面をどこに置くかを指定できるようだが、よく分からないので、ディフォルトの原点のまま)、「Apply」をクリックすると、下図のような確認画面(中央)が表示されるので、「Yes,Do not prompt again」で閉じ、更に「ThreeSlice operator attributes」画面を「Dismiss」で閉じる。

3slice_Operator_Attri

その結果、次のような画像が得られた。

Sliceing

速度ベクトル表示

「Add」 → 「Vectors」 → 「gas_velocity」で、「gas_volocity」をダブルクリックすると、「Vector plot attributes」画面が開く。

「Sampling」で、矢印数を増やすため、400を4000に変更。「Geometry」の「Vector origin」のラジオボタンを「Middle」に変更。

こうして得られたのが下図。情報源2.と比較すると、矢印の表示が少ないようだ。理由は不明。

Vectors

磁力線の描画

続いて、次のような手順で磁力線を表示させる。

「Add」 → 「Pseudocolor」 → 「operators」 → 「IntegralCurve」 → 「bfield」を指定する。

IntegralCurveをダブルクリックし、「IntegralCureve operator attributes」(下図)を開く。

「Integration」タブにおいては、「Source type」を「Plane」に変更し、Normalを「1 0 0」に変更する。

IntegralCurve_operator_attri

更に、「Samples in X」と「Samples in Y」とを「10」に変更し、「Distance in X」と「Distance in Y」とを「2」に変更しする。

次に「Appearance」タブで、「Color by」では「Vector magnitude」を指定し、「Apply」し「Dismiss」して「Draw」すると、次のWarningが表示され、情報源2.のような磁力線の表示がされない。

Warning

まとめ

VisItを使って、シミュレーション結果(計算結果)を可視化において、大筋はうまくいったが、矢印(速度ベクトル)表示や磁力線の表示については、問題あり。特に磁力線表示は全くできていない。

VisItを使って、別の問題についても可視化を行い、VisItをもう少し使いこなせるようにしたい。