OpenFOAM

【OpenFOAM】ベナール対流の流体解析

こんにちは(@t_kun_kamakiri

ベナール対流は、液体の底面を温めたときに自然に生まれる「六角形のセル模様」が特徴的な対流現象です。


下から加熱されて軽くなった流体が上昇し、冷えて重くなった流体が下降することで、規則的な渦のパターンが自発的に形成されます。

外から“回せ”と指示しなくても、温度差だけで秩序ある流れが生まれる点が非常に興味深い現象です。

本記事では、この ベナール対流を OpenFOAM を用いて数値的に再現し、温度分布やセル構造がどのように形成されるのかを確認していきます。

本記事の内容

OpenFOAMのチュートリアルにあるベナール対流を計算してみよう


熱対流の基礎を学ぶ上でも、自然対流モデルの検証ケースとしても、非常に分かりやすい題材です。

また、チュートリアルを実行するだけですのでOpenFOAMをインストールされている方であれば、すぐに試すことができます。

こういった可視化すると楽しい現象を見つけて、OpenFOAMを学ぶのもモチベーションを保つコツです。

OpenFOAM v2412(WSL2 Ubuntu-24.04)

チュートリアルのコピー

チュートリアルをコピーします。

$FOAM_TUTORIALS = /usr/lib/openfoam/openfoam2412/tutorials
という変数ですので、ご自身使用している環境に合ったバージョンがはいります。

続いてフォルダを移動します。

メッシュ作成

今回は2次元の解析になりますので$z$軸方向は1層のメッシュです。

blockMeshDictを確認します。

以下のコマンドでメッシュを作成します。

ParaViewで確認するためには空ファイルを用意します。

blockMeshDictで設定した境界面の名前が作成されています。

境界条件

チュートリアルのままですが境界条件を載せておきます。

0/U

0/T

0/p_rgh

0/p

0/k

0/epsilon

0/alphat

離散化スキームと代数ソルバ

離散化スキームはいろいろありますが、余裕があればこちらもお読みください。

【OpenFOAM】移流方程式で色々な離散化スキーム(解の振る舞いと計算時間) こんにちは(@t_kun_kamakiri) 前回の記事では移流方程式における移流項の離散化スキームを変えて結果がどう変わ...

system/fvSchemes

代数ソルバはこちらをごさんこうください。

system/fvSolution

計算制御の設定

system/controlDict

functionsの中に2つ設定ファイルがあります。

1つ目が残差を出力する設定ファイルです。
ここでは圧力(p_rgh)の残差のみを出力しています。

2つ目が流線のvtkファイルを出力する設定ファイルです。

こちらの設定によりstartからendの直線を通過するstreamlines(流線)を作ります。

このように必要に応じて出力する設定ファイルを各自用意することになります。

設定ファイルはネットから調べてくる必要がありますが、とりあえずはチュートリアルのままで良いでしょう。

では、計算を実行します。

計算は1分くらいで終わると思います。

結果の確認

postProcessing/sets/streamlines/1000/track0.vtp
をParaViewで読み込むと

まとめ

関連記事もどうぞ

COMMENT