OpenFOAM(Catalyst)

可視化ソフトウェアParaViewのCatalystの機能を使用するとOpenFOAMの計算結果の可視化を、計算しながら行うことができます。

ParaViewのCatalyst版のビルド

OpenFOAMのCatalystプラグインのビルド

OpenFOAMのCatalystプラグインの使い方

OpenFOAMのCatalystプラグインは、FunctionObjectとして実装され、catalystFunctionObjectという名称となっています。このため、controlDictファイルに追加する形で機能を入れ込むことができます。このfunction objectはユーザがcatalyst dictionaryで指定した頻度に従って、何度も呼ばれることになります。

catalystFunctionObjectは、coprocessorinputsのリストを保持します。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データセットです。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-08-20 (木) 15:16:37 (421d)