1. はじめに
OpenFOAM で 2次元キャビティ流れなどを試してきましたが、今回は 温度+浮力を含む自然対流のチュートリアルとして、hotRoom ケースを、自分の環境(OpenFOAM v11)で動かしてみました。
なお、この記事で取り組んだことはXSimさんの以下の記事を参考にしています。
この記事では、XSimさんの記事の設定を参考にしつつ、OpenFOAM 11 + $FOAM_TUTORIALS/fluid/hotRoom + foamRun という構成で、自分の環境で再現した手順と結果をまとめています。
2. 実行環境
- CPU: CORE i7 7th Gen
- メモリ: 32GB
- GPU: GeForce RTX 2070
- OS: Ubuntu22.04(WSL2ではなくPCに直接インストール)
- チュートリアルルート: echo $FOAM_TUTORIALS→ /home/ユーザ名/OpenFOAM/OpenFOAM-11/tutorials
- 本記事の対象のhotRoom の場所:
以下のコマンドで確認:cd $FOAM_TUTORIALS find . -maxdepth 6 -type d -name "hotRoom"
自分の環境では、$FOAM_TUTORIALS/fluid/hotRoom にチュートリアルが入っていました。
※ 参考にしたXSimさんの記事では heatTransfer/buoyantPimpleFoam/hotRoom ですが、
OpenFOAM 11 では階層構成が変わっており、fluid/hotRoomに当該の環境がありました。
3. 本記事での設定
本記事での設定はXSimさんの以下の記事の設定と一緒です。
設定をまとめると以下になります。
- 10×5×10 m の直方体領域内の自然対流(0〜2000 s)を計算
- 初期条件床面の中央部分だけ 600 K、それ以外は 300 K
- 天井は 300 K 固定、側面からは熱が逃げる(熱的に開放)
- 流れとしては6面とも no-slip 壁、流入出なし
という設定になっています。
4. 実行手順
4.1 OpenFOAM 環境を読み込む
source ~/OpenFOAM/OpenFOAM-11/etc/bashrc
4.2 hotRoom を $FOAM_RUN にコピー
mkdir -p $FOAM_RUN
cd $FOAM_RUN
cp -r $FOAM_TUTORIALS/fluid/hotRoom hotRoom
cd hotRoom
4.3 初期温度ファイルの準備
自分の hotRoom の 0 ディレクトリは以下のようになっていました:
ls 0
# alphat epsilon k nut p p_rgh T.orig U
このケースでは、初期温度のテンプレートが 0/T.orig になっているので、まずは 0/T にコピーしました。
cp 0/T.orig 0/T
4.4 メッシュ生成と設定の反映
blockMesh
setFields
blockMeshで計算領域が設定され、setFields により温度条件などの設定がなされます。
4.5 実行(v11では foamRun)
XSimさん記事ではbuoyantPimpleFoamを直接呼んでいますが、
OpenFOAM 11 のfluid/hotRoomでは以下のコマンドよりsystem/controlDictのapplicationがfoamRun になっていることを確認しました。
grep application system/controlDict
# application foamRun;
そのため、実行は次のようにしました。
foamRun
これを実行し、2000 s まで計算が進むと終了です。
5. ParaView で可視化(温度 + 流速ベクトル)
可視化手順は以下になります
- 温度T:カラーマップ+カラーバー
- 流速ベクトル:矢印
⇒いわゆる「温度分布マップの上に矢印の流速ベクトルを重ねる」という構成にしています。
5.1 ParaView の起動とシミュレーション結果の読み込み
cd $FOAM_RUN/hotRoom
paraFoam
以下の図で赤枠囲んでいるhotRoom.OpenFOAMを選択して黄枠囲んでいるApply を押します。
5.2 XY 断面で温度分布を見る
XY 断面の温度分布を以下の手順で確認しました。
-
Propertiesを以下のように設定
- Slice Type: Plane(以下の図の赤枠部分)
- Origin: 5 2.5 5(以下の図の黄枠部分)
- Normal: 0 0 1 (Z 方向に垂直 → XY 平面) (以下の緑の部分)
設定後にApplyを押下し、Coloring を T(以下の図の赤枠の部分) にすると、以下の図のように部屋の中央に一点だけ高温な領域が現れます。
5.3 温度のカラーバーの設定を修正し温度プルームを見る
上記の温度分布では、温度プルームを見やすい形で可視化できておりませんので、カラーバーの範囲を以下の手順で変えて見やすくしてみました。
5.4 温度分布に流速ベクトルを重ね合わせる
5.3章で示した温度分布に対して、流速ベクトルの矢印を重ね合わせて可視化しました。手順としては以下の記事の5章の手順をそのまま実施しました。
結果は以下になります。
7. まとめと今後の予定
シミュレーションの結果、床中央に設定した600 K のパッチから自然対流が発生し、温度プルームが上昇する様子を再現できました。速度場についても、床中央付近から強い上向きの流れが生じ、上部や側壁では循環が形成されるなど、明確にプルーム状の挙動が確認できました。このような「局所加熱に対して自然対流が発生し、プルームと循環が形成される」という傾向は、参考にしたXSimさんの記事で紹介されていた現象と同じく、自分の環境でも再現できたと考えられます。今後は、別のチュートリアルやチュートリアルのカスタマイズにも挑戦していきたいと考えています。









