OpenFOAM

【OpenFOAMとOpenMoelica連携(2)】OpenFOAMとOpenMoelicaの連携:buoyantPimpleFoamソルバ

ファイルから境界の値を読み込む

0/Uと0/Tの全文を載せときます。

  • 0/UのinletにOpenModelicaで計算した質量流moutを設定
  • 0/TのinletにOpenModelicaで計算したToutを設定

0/U

今気づいたけど本当は質量流moutを設定したいのに、上記の記述だと流速の設定になってしまっている?気がします(見直して後日修正します)

0/T

consant/boundarySyncFileファイルに記述されたmoutとToutを計算毎に読み込む記述が書かれています。

あまり重要ではないですが初期条件は#include "<case>/constant/inletTempFile";として別ファイルにしています。

constant/inletTempFile

output.dat

output.datはupdateMOS_and_Run.pyの中に書かれたOpenModelicaの結果ファイルです。以下のように書き出されます。

output.dat

output.datの出力はupdateMOS_and_Run.pyからimportしているsync_to_table.pyに書かれています。

sync_to_table.py

難しいことはAIに書いてもらうなどしてサポートしてもらえればOK。

注意

  • HVACSystem002.mosによる冒頭の2行をコメントアウト外して./runMos.shを実行しておく必要があります。

コンパイルは./runMos.sh HVACSystem002.mosで行います。
一度OpenModelicaのHVACSystem001.moをコンパイルする必要があるからです。
毎回コンパイルする必要はなく、1度だけで構わないため、計算毎に既にコンパイル済の実行ファイルを使うためコメントアウトしていました。

  • constant/boundarySyncFileがないとエラーになる。
    初期で0/U, 0/Tがこのファイルを読むため、ファイルがなかったり何も記述されていない場合はエラーになります。
    計算毎に更新するため計算を止めたりするとタイミングがわるいと空ファイルになることがあるため、必ず以下のようにヘッダーも含めて書いておく必要があります。

constant/boundarySyncFile

1 2 3 4
関連記事もどうぞ

COMMENT