未分類

【OpenFOAMとOpenMoelica連携(3)】chtMultiRegionFoamによるマルチリージョンソルバ

OpenFOAMの境界条件

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

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

マルチリージョンソルバは各領域に対して境界条件を設定する必要があることに注意してください。

0/fluid/U

OpenModelicaでは質量流を計算しているため、OpenFOAMの境界条件で流速条件に変えています。

空気の密度$1.2\, [\text{kg}/\text{m}^3]$、 流入面積$0.06\, [text{m}^2]$となっているかを計算中のログで出力するようにしています。

0/fluid/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

注意

HVACSystem002.mosによる冒頭の2行をコメントアウトしています。

初めてコンパイルする場合は、最初の2行のコメントアウトを外して、

を実行する必要があります。

しかし、これは面倒なので以下のAllrun.runスクリプトではじめの1回だけコンパイルするようにしました。

1 2 3 4 5

COMMENT