0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenFOAM v11 でhotRoom チュートリアルをやってみた

Posted at

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 を押します。

初期可視化.png

5.2 XY 断面で温度分布を見る

XY 断面の温度分布を以下の手順で確認しました。

  • Filters → Slice を選択(以下の図の赤枠部分)
    slice.png

  • Propertiesを以下のように設定

    • Slice Type: Plane(以下の図の赤枠部分)
    • Origin: 5 2.5 5(以下の図の黄枠部分)
    • Normal: 0 0 1 (Z 方向に垂直 → XY 平面) (以下の緑の部分)

    property.png

設定後にApplyを押下し、Coloring を T(以下の図の赤枠の部分) にすると、以下の図のように部屋の中央に一点だけ高温な領域が現れます。

T.png

5.3 温度のカラーバーの設定を修正し温度プルームを見る

上記の温度分布では、温度プルームを見やすい形で可視化できておりませんので、カラーバーの範囲を以下の手順で変えて見やすくしてみました。

  • 以下の図で赤枠で囲んだView⇒Color Map Editorの順番で選択
    colorbar.png

  • 右端のウィンドウにある"Rescale to custom range"を選択
    range.png

  • 出てきたポップアップメニューで最小を300、最大を302と設定する
    Screenshot from 2025-12-03 07-48-49.png

  • そして表示された温度分布が以下になります(200sでの結果です)。
    Screenshot from 2025-12-03 08-10-51.png

5.4 温度分布に流速ベクトルを重ね合わせる

5.3章で示した温度分布に対して、流速ベクトルの矢印を重ね合わせて可視化しました。手順としては以下の記事の5章の手順をそのまま実施しました。

結果は以下になります。

  • 200sでの結果:
    Screenshot from 2025-12-03 08-33-08.png

  • 2000sでの結果:
    Screenshot from 2025-12-03 08-34-09.png

7. まとめと今後の予定

シミュレーションの結果、床中央に設定した600 K のパッチから自然対流が発生し、温度プルームが上昇する様子を再現できました。速度場についても、床中央付近から強い上向きの流れが生じ、上部や側壁では循環が形成されるなど、明確にプルーム状の挙動が確認できました。このような「局所加熱に対して自然対流が発生し、プルームと循環が形成される」という傾向は、参考にしたXSimさんの記事で紹介されていた現象と同じく、自分の環境でも再現できたと考えられます。今後は、別のチュートリアルやチュートリアルのカスタマイズにも挑戦していきたいと考えています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?