FLUENT ユーザーのための ParaView 入門

2013年8月13日
春日 悠

はじめに

FLUENT の計算結果を可視化するために ParaView を使う方法を説明します。ParaView のバージョンは 3.12.0 あたりを想定します。

データを開く

  1. ParaView は FLUENT のデータを直接開くことができますが、ここではそうしないで、まずデータを FLUENT で読み込み、EnSight 形式で Export します。その際、書き出すデータの種類は適切に選択しましょう。多くのデータを選択すると時間がかかる上にファイルが大量になります。
  2. 書き出されたファイルの中に拡張子が ".encase" となっているものがあるはずなので、その拡張子を ".case" に変更します。
  3. ParaView を起動します。
  4. 左上の開くボタンを押します。
  5. case ファイルを選びます。パスに日本語は含まないほうがよいでしょう。
  6. 左の "Apply" ボタンを押すと、モデルが表示されます。

時系列データの場合

時系列データを表示させる場合は、そのための EnSight ファイルを用意する必要があります。まず、すべての時刻のデータを EnSight 形式で書き出します。そして次のようなデータを用意します。

test.case

FORMAT
type:  ensight gold
GEOMETRY
model: test-1-**.geo
VARIABLE
scalar per element: water_vof                 test-1-*.scl1
vector per element: velocity                  test-1-*.vel
TIME
time set: 1
number of steps: 10
filename start number: 10
filename increment: 10
time values: 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

ケースに合わせて設定を修正します。

"model" はメッシュを指定します。メッシュが変化していく場合は、上のように "test-1-**.geo" などとします (ほんとうは "test-1-*.geo" でよさそうだが、うまくいかない)。メッシュが変化しない場合は "test-1-0000.geo" などと 1 つのファイルを指定します。

VARIABLE 以下は変数の設定です。ここではスカラー値 scl1 を水の VOF としています。

TIME 以下は時系列データの設定です。ファイル名が "test-1-0010", "test-1-0020" などと変化していき、対応する時刻がそれぞれ 0.1, 0.2 などで 10 個のデータがあるとすると、上のような設定になります。

ParaView の概念

ParaView の概念を簡単に説明します。用語として "ソース" と "フィルター" というものがあります。データが "ソース" で、それを加工するものが "フィルター" です。"フィルター" を通した結果もまた "フィルター" にかけることができます。ParaView は "ソース" → "フィルター" → "フィルター" … の結果をレンダリング (描画) します。このつながり ("パイプライン") は枝分かれすることもできます。その様子は画面左の "Pipeline Browser" に表わされます。

上の図は、読み込んだデータ "cavity3d-52.case" に対してフィルター "Extract Surface" を使い、さらにそれに重ねてフィルター "Feature Edges" を使っていることを表わしています。また、それとは別に "cavity3d-52.case" に対して "Stream Tracer" を使っていることも表わしています。"Feature Edges" と "Stream Tracer" の結果が表示されています (目のマークで色が濃いものが "表示" を表わす)。

ソースおよびフィルターは、メニューの "Sources", "Filters" でそれぞれ追加することができます。フィルターはどのソースに適用するかによって結果が変わります。フィルターを適用するときにはどのソースに適用すべきか考えましょう。基本はファイルを開いた時にできるソースです。フィルターにフィルターを重ねると細かい処理を行うことができます。

モデルの表示

モデル表示画面上でマウスをドラッグすると、視点が動きます。

  • 左ボタンドラッグ: 回転
  • 中央ボタンドラッグ: 平行移動
  • 右ボタンドラッグ/ホイール: 拡大・縮小

画面の上にある次のボタン群でもカメラを操作できます。

一番左のボタンはモデル全体を画面に合わせます。左から 2 番目のボタンは、選択範囲を拡大します。残りはカメラを座標軸に沿わせるボタンで、一番右のボタンを押すとカメラが初期状態と同じ方向を向きます。

モデルの表示のしかたにはいくつかあります。よく使うものは "Surface" と "Surface With Edges" でしょう。切り替えは画面左の "Object Inspector" の "Display" タグの "Style" で行うか、画面の上にある次のコントロールで行います。

サーフェイスの色の種類は、画面の上にある次のコントロールで切り替えます。

"Solid Color" の色は、次のボタンで選択することができます。

また、サーフェイスを半透明にすることができます。"Object Inspector" の "Display" タグの "Style" にある "Opacity" の値を 1 より小さく (0.5 などに) すれば、サーフェイスが半透明になります。

背景色が気に入らない場合は、モデル画面左上にある小さなボタンの中の次のボタンを押します。

表示されるダイアログの "General" で背景色を選択できます。また、その下の "Use Parallel Projection" で透視投影/平行投影を切り替えることができます。

特徴線の表示

FLUENT における Feature 表示と同様の表示を行うには、フィルターを使います。

  1. メニュー [Filters]-[Alphabetical] から "Extract Surface" を選んで "Apply" ボタンを押します。
  2. メニュー [Filters]-[Alphabetical] から "Feature Edges" を選んで "Apply" ボタンを押します。
  3. Extract Surface の表示が必要ないならば、画面左の "Pipeline Browser" の Extract Surface の結果の左にある目のマークをクリックして非表示にします。

フィルターを選ぶには、Ctrl+Space を押してフィルター名を入力する方法もあります。タイピングが速い人ならば、そちらのほうがメニューから選ぶよりも速いかもしれません。

任意の境界だけを表示する

任意の境界だけを表示させたい場合は、フィルター "Extract Block" を使います。境界がブロックとしてリストアップされるので、表示したいものだけチェックして "Apply" ボタンを押します。

セル値・節点値の作成

流線やベクトルを描くには節点データが必要です。もしデータがセルデータしか含んでいない場合は、フィルタの "Cell Data To Point Data" を使ってセルデータから節点データを作ることができます。逆に節点データからフィルタ "Point Data To Cell Data" でセルデータを作ることもできます。

値の分布の表示

速度や温度、圧力などの分布を表示させるのは、サーフェイスの色の種類を "Solid Color" の代りに表示したい値に切り替えるだけです。

カラーバーを表示するには、画面左上のボタンを押します。

次のボタンを押すと、色の範囲が全範囲に調整されます。

色の範囲の調整などを行うには、"Solid Color" の色を設定するのに使った次のボタンをおします。

色の範囲を調整するには、表示されたダイアログの "Automatically Rescale to Fit Data Range" のチェックをはずし、"Rescale" ボタンを押して出てくるダイアログで設定します。また、色が気に入らない場合は、"Choose Preset" ボタンを押して出てくるダイアログで変更することができます。

流線の表示

流線を表示するには、フィルターの "Stream Tracer" を使います (節点の流速ベクトルが必要)。メニューから選ぶか、画面の上にある次のボタンを押します。

"Object Inspector" の "Properties" タブの "Vectors" で速度ベクトルを選び、"Apply" ボタンを押すと流線が表示されます。

流線の発生のしかたには 2 通りあり、それは "Object Inspector" の "Properties" タブの "Seed Type" で選択できます。"Point Source" は点というより大きさをもった球から流線を発生させます。"Line Source" は線分から流線を発生させます。点や線分はマウスでつかんで移動させることができます。

FLUENT のように面から流線を発生させるには、フィルター "Extract Block" で面を用意して、フィルター "Stream Tracer With Custom Source" を使います。メニューからフィルターを選ぶと "Input" と "Source" をどのソースにするか聞かれるので、"Input" には節点値の流速ベクトルデータを含むものを、"Source" には Extract Block で作ったものを選びます。

流線の長さが足りない場合は、"Object Inspector" の "Properties" タブの "Maximum Streamline Length" の値を大きくしましょう。

"Stream Tracer" にはさらに "Ribbon" や "Tube" などのフィルターを適用できます。

ベクトルの表示

ベクトルを表示するには、フィルターの "Glyph" を使います (節点の流速ベクトルが必要)。メニューから選ぶか、画面の上にある次のボタンを押します。

"Object Inspector" の "Properties" タブの "Vectors" で速度ベクトルを選び、"Apply" ボタンを押すとベクトルが表示されます。"Vectors" の下の "Glyph Type" でベクトルの表示の種類を選べます。FLUENT っぽくするには、"2D Glyph" を選ぶとよいでしょう。

上記のベクトルは節点に表示されます。FLUENT のようにセル中心でベクトルを表示させるには、フィルター "Cell Centers" を適用し、それにフィルター "Glyph" を適用します ("Cell Centers" を適用するソースにはセルの速度ベクトルが含まれる必要があります)。

スライス

モデル断面の値の分布を見るには、フィルターの "Slice" を使います。メニューから選ぶか、画面の上にある次のボタンを押します。

"Object Inspector" の "Properties" タブで断面位置を設定し、"Apply" ボタンを押すと断面の分布が得られます。断面の位置は画面上でマウスでつかんで動かすこともできます。画面の断面表示が邪魔なときは、"Show Plane" のチェックをはずせば見えなくなります。

クリップ

モデルをクリップするには、フィルターの "Clip" を使います。メニューから選ぶか、画面の上にある次のボタンを押します。

"Object Inspector" の "Properties" タブで断面位置を設定し "Apply" ボタンを押すと、断面の法線方向にある断面以降の部分だけが表示されます。断面の位置は画面上でマウスでつかんで動かすこともできます。画面の断面表示が邪魔なときは、"Show Plane" のチェックをはずせば見えなくなります。

等値面の表示

値の等値面を表示させるには、フィルターの "Contour" を使います。メニューから選ぶか、画面の上にある次のボタンを押します。

"Object Inspector" の "Properties" タブの "Contour" の "Contour By" で表示に使用する値を選び、"Isosurfaces" で値を設定して "Apply" ボタンを押すと、等値面が表示されます。

値が任意の範囲にあるセルだけを表示

フィルター "Threshold" を使うと、ある値の範囲にあるセルだけを表示させることができます。フィルターをメニューから選ぶか、画面の上にある次のボタンを押します。

"Object Inspector" の "Properties" タブの "Scalars" で対象とする値を選び、"Lower Threshold" と "Upper Threshold" を設定して "Apply" ボタンを押すと、設定した範囲に値が含まれるセルだけが表示されます。

任意の式による値の表示

FLUENT の "Custom Field Functions" のような機能を、フィルター "Calculator" で実現できます。フィルターをメニューから選ぶか、画面の上にある次のボタンを押します。

"Object Inspector" の "Properties" タブの電卓のようなコントローラで式を作り、"Apply" ボタンを押すと、新しい値が作成されます。

これによってたとえば、ケルビン単位の温度から摂氏単位の温度を作ったり、あるいはベクトルからスカラーを作ることもできます。

数値の取得

任意の位置の数値を知りたい場合は、フィルター "Probe Location" を使います。フィルターをメニューから選び、値を取りたい点を設定し、"Apply" ボタンを押します。何も起こりません。

値を見るには、スプレッドシートを表示します。モデル画面の右上にある小さなボタンから、"Split Horizontal" か "Split Vertical" を押します。画面が縦あるいは横に割られます。

新しい画面が出てきてボタンが表示されるので、"Spreadsheet View" を押します。スプレッドシート上に、選んだ点の値が表示されているはずです。"Probe Location" の点の位置を変えるに応じてスプレッドシートの値が変わるのを確認できます。

また、データを直接スプレッドシート表示することで、任意のセルや点の値を調べることもできます。スプレッドシートの行を選択すると、対応するセルや点にマーカーがつきます。ただ、これでは目的の場所の値を見つけにくいときがあります。その場合は表示範囲を直接画面で選択します。つぎのようなボタンで点やセルを選択できます。

メニュー [View]-[Selection Inspector] を表示させてセルや点を選択すると ID がわかるので、スプレッドシートで選択部分の値を調べることができます。また、画面に情報を直接表示させることもできます。"Selection Inspector" の下のほうにある "Display Style" の "Cell Label" や "Point Label" で "Visible" を有効にすると、選択部分にラベルとして ID などが表示されます。表示される内容は "Label Mode" で ID や速度などを選ぶことができます。

セルや点の値の最大値や最小値が必要なときは、スプレッドシートの項目をクリックしてソーティングすればよいです。行を選択すればマーカーがつきますが、それでわかりにくい場合は、フィルター "Extract Selection" を使って選択した部分だけを表示させることができます。

グラフの表示

フィルター "Plot Over Line" で、線分上の値のグラフを描かせることができます。フィルターをメニューから選んで、"Object Inspector" の "Properties" タブで線分の設定をし"Apply" ボタンを押すと、グラフ画面が表示されてグラフが描画されます。

グラフの設定は、"Object Inspector" の "Display" タブか、グラフ画面左上の小さなボタンの中の "Edit View Options" で行います。"Object Inspector" の "Display" は、モデル画面が選択されているかグラフ画面が選択されているかで挙動が変わるので注意しましょう。画面の選択は画面のクリックで切り替わります。選択されている画面は、青い線で囲まれています。

フィルター "Plot Selection Over Time" で、セルや点、スプレッドシードなど選択部分に対して時系列のグラフを描かせることができます。

値の積分

ボリュームやサーフェイスで値を積分するには、フィルター "Integrate Variables" を使います。フィルターをメニューから選び "Object Inspector" の "Properties" タブの "Apply" ボタンを押すと、スプレッドシートが表示され、そこから各種積分値が得られます。

スプレッドシートの "Attribute" を "Cell Data" にすると、積分領域の体積や面積を得ることができます。値の平均値を求めたい場合は、積分値をこの体積や面積で割ります。"Integrate Variables" フィルターで作ったソースに "Calculator" フィルターを適用すると、セルのスカラー値として体積や面積を使用できるので、"Calculator" で平均値を計算させることもできます。

サーフェイスに "Surface Flow" フィルターを流速ベクトルに適用すると、サーフェイスの体積流量を得ることができます。値はスプレッドシートから得られます。密度がわかっているなら、得られた体積流量に密度をかけるか、密度に速度をかけたベクトルを "Calculator" フィルターで作りそれに "Surface Flow" フィルターを適用することで、質量流量を得ることができます。

数値をファイルに書き出す

数値をファイルに書き出すには、メニュー [File]-[Save Data] で CSV 形式を選びます。オプションにより時刻歴データをすべて書き出すこともできます。

画面を画像として保存する

画面を画像として保存するには、メニュー [File]-[Save Screenshot] を使います。

アニメーション

アニメーションを行うには、時系列のデータを用意します。たとえば、データを "case-1-1.case", "case-1-2.case", "case-1-3.case", ... などと用意して同じフォルダに入れておけば、ParaView はそれを "case-1-..case" なるひと続きの時系列データとみなしてくれます。それを読み込めばアニメーションデータの準備は OK です。

アニメーションの操作には、画面の上にある次のボタン群を使います。

アニメーションを保存するには、メニュー [File]-[Save Animation] を使います。

カメラ情報の保存と読み込み

カメラの位置を保存したり、読み込んだりするには、モデル画面左上にある小さなボタンの中の次のボタンを押します。

表示されるダイアログの "Configuration" の "save" でカメラの情報を保存、"load" で情報を読み込むことができます。

可視化の設定の保存と読み込み

可視化の設定を保存したり、読み込んだりするには、メニュー [File] の [Save State] と [Load State] を使います。

もっと学ぶために

ParaView をもっと使いこなすために、ここ にあるチュートリアルを学ぶとよいでしょう (日本語版があります)。