OpenFOAM(Catalyst)†
可視化ソフトウェアParaViewのCatalystの機能を使用するとOpenFOAMの計算結果の可視化を、計算しながら行うことができます。
ParaViewのCatalyst版のビルド†
OpenFOAMのCatalystプラグインのビルド†
OpenFOAMのCatalystプラグインの使い方†
OpenFOAMのCatalystプラグインは、FunctionObjectとして実装され、catalystFunctionObjectという名称となっています。このため、controlDictファイルに追加する形で機能を入れ込むことができます。このfunction objectはユーザがcatalyst dictionaryで指定した頻度に従って、何度も呼ばれることになります。
catalystFunctionObjectは、coprocessorとinputsのリストを保持します。coprocessorは、シミュレーションとCatalyst間のインターフェースで、catalystCoprocessクラス内で実装されます。coprocessorの役割は以下です。
- Catalystライブラリの初期化
- Catalystスクリプト(e.g. Python pipeline)の読み込み/リセット
- 現在の時間ステップで、分析を行うかどうか決定するquery Catalyst
- OpenFOAMのデータ構造をCatalyst(VTKのデータモデルを使用)にマップするアダプターのバックエンド
- Catalystライブラリの終了処理
inputsは、ParaView Catalystによって処理させるVTKパイプラインのsourceの代わりです。プラグインで利用可能なinputsは下記です:
- fvMeshInput: fvMesh regionからの入力
- faMeshInput: faMesh regionからの入力
- cloudInput: clouds (lagrangian)からの入力
それぞれのinputは異なるデータタイプなので、coprocessorに対して、特定のアダプターのバックエンドが開発されています:
- fvMeshAdaptor: fvMeshInputに対するバックエンド;出力は一つのregion毎に1つのblockを持つ、multi-blockデータセットです。それぞれのregion blockはinternal(体積)メッシュ(block 0)と境界(block 1)に対応した、2つまでのBlockを含んでいます。さらに、各blockはパッチ毎に部分blockに分割されます。
- faMeshAdaptor: faMeshInputに対応したバックエンドです。出力は、各area meshに対応したblockを有する、multi-blockデータセットです。各ブロックは、各プロセッサーに対して、さらに分割されます。
- CloudAdaptor: OpenFoamのcloudをvtkPolyDataに変換するための、cloudInputに対するバックエンドです。出力は、各プロセッサに対して、1つのブロックをもつmulti-blockデータセットです。
Last-modified: 2020-08-20 (木) 15:16:37