1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL2上のXLBが出力したVTKをWindows版ParaViewで可視化する

1
Posted at

AutodeskのXLBで流体シミュレーションを実行すると、計算結果をVTKファイルとして出力できます。

PNGは結果をすぐ確認するには便利ですが、VTKをParaViewで開くと、密度や流速の切り替え、カラーマップ調整、タイムステップの再生、画像・動画の書き出しなどができます。

本稿では、WSL2のUbuntu上に保存されたXLBのVTKファイルを、Windows版ParaViewから直接開いて可視化する手順を説明します。VTKをWindows側へ毎回コピーする必要はありません。

この記事でできること

  • WSL2上のVTK出力フォルダをWindowsのエクスプローラーで開く
  • Windows版ParaViewからWSL2上のVTKを直接読み込む
  • XLBのu_magnitudeを使って速度分布を表示する
  • 複数のVTKを時系列として再生する
  • 可視化結果をPNGまたは動画として保存する
  • 必要に応じてu_xu_yから速度ベクトルを作り、矢印で表示する

想定環境

画面名称と操作は、2026年9月時点のParaView 6.1系を基準にしています。細かなボタン配置はバージョンによって変わることがありますが、基本的な流れは同じです。

  • Windows 11
  • WSL2
  • Ubuntu 24.04 LTS
  • XLB 0.3.x
  • Windows版ParaView
  • XLBのexamples/cfd/lid_driven_cavity_2d.py、または同等のラッパーを実行済み

ParaViewのダウンロード時は、Release CandidateやNightlyではなく、原則として最新の安定版を選びます。本稿執筆時に確認できる安定版はParaView 6.1.1です。

前提:XLBのVTKファイルが生成されていること

本稿では、XLBのLid-driven cavity exampleを次のような出力ディレクトリで実行したものとします。

~/src/XLB/runs/jax-quick

WSL2のUbuntuターミナルで、出力ファイルを確認します。

cd ~/src/XLB/runs/jax-quick
ls -lh *.vtk

次のような連番ファイルが表示されれば準備完了です。

lid_driven_cavity_0000000.vtk
lid_driven_cavity_0000100.vtk
lid_driven_cavity_0000199.vtk

ファイル名末尾の数値は、XLBがVTKを書き出したときのタイムステップです。

VTKファイルが見つからない場合は、XLBを実行したときのカレントディレクトリを確認してください。XLBのexampleは、特に出力先を変更しなければ実行時のカレントディレクトリへVTKとPNGを保存します。

1. Windows版ParaViewをインストールする

ParaViewの公式ダウンロードページを開きます。

Windows 64-bit向けの最新安定版をダウンロードします。インストーラー版とZIP版のどちらでも構いません。

インストーラー版は画面の案内に従ってインストールします。ZIP版を使用する場合は、任意のフォルダへ展開して、展開先にあるbin/paraview.exeを起動します。

2. WSL2のVTK出力フォルダをエクスプローラーで開く

UbuntuターミナルでVTKの出力ディレクトリへ移動します。

cd ~/src/XLB/runs/jax-quick

現在のディレクトリをWindowsのエクスプローラーで開きます。

explorer.exe .

末尾の.を忘れないでください。.は「現在のディレクトリ」を意味します。

エクスプローラーのアドレス欄には、環境によって次のようなUNCパスが表示されます。

\\wsl.localhost\Ubuntu-24.04\home\<Linuxユーザー名>\src\XLB\runs\jax-quick

または、次の形式で表示されることもあります。

\\wsl$\Ubuntu-24.04\home\<Linuxユーザー名>\src\XLB\runs\jax-quick

ディストリビューション名がUbuntuUbuntu-22.04の場合は、その名前に置き換わります。

Windows形式のパスだけ確認したい場合は、WSL2上で次のコマンドも使用できます。

wslpath -w "$(pwd)"

なぜWindows側へコピーしなくてもよいのか

WSL2のLinuxファイルシステムは、Windowsから\\wsl$または\\wsl.localhost経由で参照できます。そのため、WindowsネイティブアプリケーションであるParaViewからも、WSL2上のVTKを直接開けます。

XLBのソースコードや計算途中のファイルは、/mnt/cではなく~/srcなどのWSL2側へ置いたままで問題ありません。Microsoftも、Linuxコマンドラインで扱うプロジェクトは、性能面からWSLファイルシステムへ保存することを推奨しています。

3. ParaViewでVTKを開く

ParaViewを起動し、次の順番で操作します。

  1. メニューのFileOpenを選択する
  2. エクスプローラーで確認したWSL2のUNCパスを、Look in欄またはパス欄へ貼り付ける
  3. lid_driven_cavity_...vtkを選択する
  4. OKを押す
  5. 左側のPropertiesパネルでApplyを押す

FileOpenの代わりに、Ctrl + OでもOpen Fileダイアログを開けます。

ParaViewでは、ファイルを選択しただけではデータが描画されません。最後にApplyを押すことが重要です。

.vtkに使用するReaderの選択画面が表示された場合は、Legacy VTK Readerを選択します。通常は拡張子から自動選択されます。

4. u_magnitudeで速度分布を表示する

VTKを読み込んだ直後は、外形だけが表示されたり、単色で表示されたりすることがあります。次の設定を行います。

  1. Pipeline Browserで読み込んだVTKを選択する
  2. RepresentationSurfaceにする
  3. Coloringu_magnitudeにする
  4. カメラを+Zまたは-Z方向へ向ける
  5. Reset Cameraを押す
  6. Rescale to Data Rangeを押す
  7. 必要に応じてToggle Color Legend Visibilityでカラーバーを表示する

Lid-driven cavityはXY平面上の2次元計算なので、Z軸方向から見ると全体を正面から確認できます。

u_magnitudeは速度の大きさです。値が大きい領域と小さい領域を色で確認できるため、最初に表示する変数として適しています。

XLBのVTKに含まれる主な変数

Lid-driven cavity exampleでは、次のフィールドがVTKへ保存されます。

変数 意味 最初の確認での用途
rho 密度 密度変動や計算の安定性を確認する
u_x X方向の速度成分 左右方向の流れを確認する
u_y Y方向の速度成分 上下方向の流れを確認する
u_magnitude 速度の大きさ 流速分布を直感的に確認する

これらはXLBの出力ではCell Dataとして保存されています。ParaViewはCell Dataをそのまま色付けできるため、u_magnitudeを表示するだけならフィルターの追加は不要です。

5. 表示を見やすく調整する

格子線も表示する

格子の構造を確認したい場合は、RepresentationSurface With Edgesへ変更します。

64×64程度の小さな格子では見やすいですが、大規模格子では線が密集するため、通常はSurfaceの方が見やすくなります。

カラーマップを変更する

Edit Color Mapを開くと、カラーマップや数値範囲を調整できます。

プリセットを変更する場合は、Choose Presetから選択します。流速のような「小さい値から大きい値まで」を表す量には、連続的に明度が変化するカラーマップが適しています。

色が一色に見える場合

Rescale to Data Rangeを押し、現在のデータの最小値と最大値へ色範囲を合わせます。

タイムステップごとに色範囲を自動変更すると、同じ色でも時刻によって値が変わり、比較しにくくなることがあります。時系列を比較するときは、後述するRescale to Data Range over All Timestepsで全時刻共通の範囲を使用します。

6. 複数のVTKを時系列として読み込む

XLBが次のような連番VTKを出力している場合、ParaViewは通常、ファイルを自動的にグループ化します。

lid_driven_cavity_0000000.vtk
lid_driven_cavity_0000100.vtk
lid_driven_cavity_0000199.vtk

Open Fileダイアログでは、個々のファイルではなく、ひとまとまりのファイルシリーズとして表示された項目を選びます。

読み込み後にApplyを押すと、画面上部のVCRコントロールで次の操作ができます。

  • 最初のタイムステップへ移動
  • 1ステップ戻る
  • 再生・停止
  • 1ステップ進む
  • 最後のタイムステップへ移動

ParaViewは連番を時系列として順番に読み込みます。ただし、ファイルシリーズから得られるParaView上の時間値は、必ずしもXLBの物理時間そのものを意味しません。ここでは「保存された計算状態を順番に再生するもの」と考えるのが安全です。

ファイルシリーズとしてまとまらない場合

Open Fileダイアログ右上にある、ファイルシリーズのグループ化を切り替えるボタンを確認します。グループ化が無効になっている場合は有効にしてから、ファイル一覧を確認してください。

最終結果だけ確認したい場合は、ファイルシリーズを展開し、末尾のタイムステップのVTKだけを選択して開くこともできます。

時系列全体で色範囲を固定する

アニメーションを比較しやすくするため、u_magnitudeを選択した状態でRescale to Data Range over All Timestepsを実行します。

この操作では、ParaViewが全タイムステップを読み、全体の最小値と最大値を計算します。ファイル数やデータ量が多い場合は時間がかかるため、小規模なexampleで使用するか、代表的な範囲を手動設定してください。

7. 可視化結果をPNGで保存する

表示を整えたら、次の操作で画像を保存できます。

  1. FileSave Screenshotを選択する
  2. ファイル形式にPNGを選択する
  3. 保存先とファイル名を指定する
  4. Image Resolutionを設定する
  5. OKを押す

Qiitaへ掲載する画像では、たとえば次の解像度が扱いやすいです。

1600 x 1200

横長の画面構成なら、次のような解像度でもよいでしょう。

1920 x 1080

Save Screenshot Optionsでは、背景の透過や保存時だけのカラーパレット変更も設定できます。

8. アニメーションを保存する

連番VTKを読み込んでいる場合は、FileSave Animationから動画または連番画像を書き出せます。

Windows版では、環境に応じてMP4やAVIなどを選択できます。コーデックの違いによる問題を避けたい場合は、まずPNGの連番画像として保存する方法が確実です。

設定例です。

Frame Rate: 10〜30
Frame Stride: 1

Frame Stride2にすると、1つおきのタイムステップを書き出します。

9. オプション:速度を矢印で表示する

XLBのVTKには、速度ベクトルが1つの配列としてではなく、u_xu_yの2つのスカラー配列として保存されています。矢印で表示するには、ParaView上で2成分をベクトルへまとめます。

9.1 Cell DataをPoint Dataへ変換する

Pipeline BrowserでVTKを選択し、次を実行します。

Filters → Alphabetical → Cell Data to Point Data

Applyを押します。

9.2 Calculatorで速度ベクトルを作る

Cell Data to Point Dataを選択した状態で、次を実行します。

Filters → Alphabetical → Calculator

次のように設定します。

Result Array Name: velocity
u_x*iHat + u_y*jHat

Applyを押します。

iHatjHatは、それぞれX方向とY方向の単位ベクトルです。これにより、velocityという2次元速度を含む3成分ベクトルが作られます。Z成分は0です。

9.3 Glyphで矢印を表示する

Calculatorを選択し、次を実行します。

Filters → Alphabetical → Glyph

主な設定を次のようにします。

Glyph Type: Arrow
Orientation Array: velocity
Scale Array: velocity

Applyを押します。

矢印が多すぎる場合は、表示するサンプル数を減らします。64×64格子なら、最初は500〜1,000本程度を目安にすると見やすくなります。

背景の速度分布も同時に表示したい場合は、Pipeline Browserで元データの目のアイコンをオンにし、背景をu_magnitudeで着色します。

トラブルシューティング

Applyを押しても何も表示されない

次を順番に確認します。

  1. Pipeline Browserの目のアイコンがオンになっているか
  2. RepresentationSurfaceになっているか
  3. +Zまたは-Z方向から見ているか
  4. Reset Cameraを押したか
  5. Coloringに存在する変数を選んでいるか

2次元データはZ方向の厚みがほぼないため、横方向から見ると線のように見える場合があります。

外枠しか表示されない

RepresentationOutlineになっている可能性があります。Surfaceへ変更してください。

u_magnitudeが選択肢に出てこない

まずApplyを押して、データの読み込みを完了させます。その後、Pipeline BrowserでVTKのReaderを選び直してColoringを確認します。

それでも表示されない場合は、InformationパネルでCell Data Arraysを確認します。別のXLB exampleでは、保存される変数名が異なることがあります。

色がほとんど変化しない

Rescale to Data Rangeを押してください。タイムステップ全体で比較する場合は、Rescale to Data Range over All Timestepsを使用します。

VTKがファイルシリーズとして認識されない

Open Fileダイアログのファイルシリーズ・グループ化を有効にします。また、ファイル名が同じプレフィックスと連番で構成されていることを確認します。

良い例:
lid_driven_cavity_0000000.vtk
lid_driven_cavity_0000100.vtk

別シリーズと判定される可能性がある例:
cavity_start.vtk
cavity_final.vtk

ParaViewのOpen FileダイアログからWSL2が見えない

パス欄へ直接、次の形式を貼り付けます。

\\wsl$\Ubuntu-24.04\home\<Linuxユーザー名>\src\XLB\runs\jax-quick

または、Ubuntuターミナルで次を実行し、エクスプローラーからフォルダを開き直します。

explorer.exe .

Windows側でWSLディストリビューションが停止している場合は、PowerShellから起動します。

wsl -d Ubuntu-24.04

ディストリビューション名は、次のコマンドで確認できます。

wsl --list --quiet

WSL2上のファイルを直接開くと遅い

小規模なexampleでは通常問題ありませんが、大量のVTKや大きな3次元データでは、Windows側へ可視化対象だけコピーした方が扱いやすい場合があります。

Windows側に保存先を作成したうえで、必要なVTKだけコピーします。

mkdir -p /mnt/c/Users/<Windowsユーザー名>/Documents/XLB-vtk
cp lid_driven_cavity_*.vtk \
  /mnt/c/Users/<Windowsユーザー名>/Documents/XLB-vtk/

ただし、XLBの計算そのものはWSL2側の~/srcなどで実行し、可視化用ファイルだけを必要に応じてコピーする運用がおすすめです。

ParaViewがVTKを読み込めない

ViewOutput Messagesを開き、Readerのエラーを確認します。

XLBの処理が途中で中断され、VTKが書き込み途中のまま残った場合は、そのファイルを削除してシミュレーションを再実行します。ファイルサイズが0バイト、または他のタイムステップと比べて極端に小さくないかも確認してください。

ls -lh *.vtk

まとめ

WSL2上のXLBが出力したVTKは、Windows側へコピーしなくても、次の流れでWindows版ParaViewから直接可視化できます。

XLBをWSL2で実行
    ↓
VTK出力フォルダで explorer.exe .
    ↓
Windows版ParaViewで File → Open
    ↓
Apply
    ↓
Representation: Surface
Coloring: u_magnitude
    ↓
+Z / -Z、Reset Camera、Rescale to Data Range

最初はu_magnitudeを色で表示し、慣れてきたら時系列再生、スクリーンショット保存、速度ベクトルのGlyph表示へ進むと理解しやすくなります。

参考資料

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?