はじめに
Jupyter Lab上でParaViewをimportするためのインストール手順と例を紹介します。
実行環境
インストール
以下の手順でインストールしていきます。
$ conda install -c conda-forge nodejs $ jupyter labextension install @jupyter-widgets/jupyterlab-manager $ conda create -n paraview python=2.7 anaconda $ conda activate paraview (paraview)$ conda install -c conda-forge paraview (paraview)$ jupyter kernelspec install-self --user
これによりparaviewがインストールされた環境がJupyterのKernelとして登録されます。
【追記】この方法でインストールしても描画の際にうまく動作しない場合がありました。下の記事で別の方法も記載しておりますのでそちらをお試しください。
下準備
適当なディレクトリで新しいターミナルを開きJupyterLabを起動します。
$ jupyter lab
ここでparaviewをimportできれば準備完了です。
[ ] : from paraview.simple import *
活用例
今回は以下のコマンドを実行したディレクトリを使用します。
cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily ./ cd ./pitzDaily foamRunTutorials cd .. jupyter lab
そこでまず以下のようにOpenFOAMのデータを読み取ります。
この辺りのやり方は以下の方法により把握することができます。
"paraFoam"を行った場合はOpenFOAMケースがOpenFOAMReaderではなくPVFoamReaderというプラグインにより読み込まれるため注意してください。結構項目が変わります。
次に以下のような関数を定義します。
この関数は以下のように使用します。
関数の中ではまずレンダリングの設定を行いレンダラーを作成しSaveScreenShotでpngに保存し、JupyterLab内で表示します。
※png保存のタイミングで画像がポップアップで表示されるためレンダラーのオブジェクトを最後にdelしています。前まではUseOffScreenRenderingというパラメーターをTrueにしていたらこの作業はなかったのですがParaView5.5からこのパラメーターがなくなってしまいました。現在対抗作を模索中です。(API Changes between ParaView versions — ParaView/Python 5.6.0-13-g04d2b0c4aa documentation)
この関数にJupyterのwidget機能を組み合わせると以下のようにちょっとだけインタラクティブな描画を行うことができます。
参考文献
PENGUINITIS - Python による Paraview の操作 (OpenFOAM 編)