はじめに
流体シミュレーションをすると、やっぱりまずはどんな風に流体が流れているかを確認したくなります。
そんな時に使いたいのが「ParaView」です。
ParaViewとは、主に流体の可視化に用いられる汎用の可視化ソフトウェアで、HPを見ると気候変動なり、雲の動きなんかも可視化できるみたいです。
久しぶりに使ったのですが、全然使い方を覚えていなかったので、備忘録として基本的な使い方を記録します。
対象
ParaView の簡単な使い方を知りたい人
計算対象
MPS(Moving Particle Simulation)(S.Koshiduka et al. Nuclear Sci. and Engineering 123 3 421-434 (1996))
でいわゆる水柱の崩壊を計算しました。
以下の書籍に同様のシミュレーションがあるので、よければどうぞ
粒子法入門 流体シミュレーションの基礎から並列計算と可視化まで C/C++ソースコード付
インストール
特に何も考えずに公式HPからできたと思います。(公式HP ダウンロードページ)
ちなみに、この記事での実行環境はMacです。
Applicationフォルダに移動させると、LaunchPadから開くことができます。
(一番右のものです。 ちなみに真ん中のVMDも簡単に使えて便利です。)
データファイルの準備
今回はVTUファイル.vtu
を用意します。
フォーマットはこんな感じです。
<?xml version='1.0' encoding='UTF-8'?>
<VTKFile xmlns='VTK' byte_order='LittleEndian' version='0.1' type='UnstructuredGrid'>
<UnstructuredGrid>
<Piece NumberOfCells='584' NumberOfPoints='584'>
<Points>
<DataArray NumberOfComponents='3' type='Float32' Name='Position' format='ascii'>
-0.075000 -0.075000 0.000000
-0.075000 -0.050000 0.000000
-0.075000 -0.025000 0.000000
-0.075000 0.000000 0.000000
. . .
. . .
1.100000 0.550000 0.000000
1.100000 0.575000 0.000000
1.100000 0.600000 0.000000
</DataArray>
</Points>
<PointData>
<DataArray NumberOfComponents='1' type='Int32' Name='ParticleType' format='ascii'>
3
3
.
.
1
1
1
</DataArray>
</Cells>
</Piece>
</UnstructuredGrid>
</VTKFile>
実際に作りたい人はちゃんと調べてからやってみてください。
起動
ファイルのインプット
左上にある もしくは
command + o
でファイルを選択することができます。
data.vtu
のファイルがまとめられているので、こちらを選択しましょう。
粒子の表示
読み込んだデータが選択されている状態(緑になっている状態)でApply
を押すと、最初のファイル(t=0の状態をアウトプットしたファイル)での粒子状態が表示されます。

まだ、めっちゃ見にくいですね。
見やすくしていきましょう。
粒子の見た目
○カラーリング

- Representation

色々ありますが粒子法のシミュレーションだと`points`が一番使いやすいでしょう `Styling`の`Point size`で粒子の大きさを変えることができます。 `Render Points As Spheres`にチェックマークを入れると、pointのカクカク感がなくなってオススメです。

- Particle Type


右側をいじると色味を変えたり、各カラーの分布(Display data histgram
)なんかを見ることもできます。
また、以下のボタンを使うと、カラーバーをリスケールすることができます。
左のボタンは自動でリスケール。
真ん中のボタンは手動で値を指定できます。
背景
なんかちょっと見にくいので、背景を変えましょう


ここで、color
を変えましょう。
(多分、私のMacのデフォルトのテーマがダーク系だからですかね。背景が黒は見にくいです)

割と見やすくはなりましたね。
これで最低限のアニメーションができました。
表示する粒子の設定
3Dバージョンの場合、目の前の壁のせいで、中の流体が見えなくなっています。
このような場合は、目の前の壁を表示させないようにしましょう。





こうすると、中の流体だけを見ることができます。

元々はこんな感じです。
座標の表示
Ray Tracing
のData Axes Grid
にチェックを入れると、以下のように座標軸を表示させることができます。
おまけ
若干見にくいですが、こんな感じのシミュレーションができます。
こちらのサイトでGIFファイルを作成しました。
(めちゃくちゃ粒子が飛んでいってる、、、)