OpenFOAM

【第1回】OpenFOAMで平板流れ解析!乱流モデルと壁関数を検証

こんにちは(@t_kun_kamakiri

乱流モデルと壁関数の選択が解析結果に大きな影響を与えることをご存知でしょうか?

本記事では、乱流モデルと壁関数の違いを理解し、それをシミュレーションで確かめるためのモデルを構築する手順をご紹介します。

オープンソース流体解析ツールとしてはOpenFOAM利用し、初心者の方でもわかりやすいように、基本から丁寧に解説していきます。この記事を通じて、乱流解析における選択の重要性を深く理解し、実践的なスキルを身につけていきましょう。

本記事の内容
  • 平板流れの解析の設定方法
  • 結果出力の方法(Pythonを使用)

WSLのUbuntu 22.04.05 LTS(OpenFOAM2406)
Python 3.11.9

壁関数に関して

壁関数に関する前提知識が必要になります。

詳しい内容は記事を読んでいただければ思います。
本記事では壁関数と$y^+$に関すると最低限の内容だけを記載しておきます。

壁関数の速度分布

乱流状態では速度の乱れに応じたレイノルズ応力が発生するため、理論的に解析することが難しいのですが、実験結果に基づく経験的な解析によって壁近傍での乱流の速度分布を求めることができます。

平行平板の壁近傍の流れの漫画絵を描きました。

  • 横軸:$x$方向
  • 縦軸:$y$方向

壁と水平な方向($x$方向)の流速を$u$とします。

壁からの距離$y$を横軸に、壁と水平方向($x$方向)の流速$u$を縦軸にとったグラフを書くと以下のような分布になることが実験的にも確認されています。

まずはこの分布の形を覚えましょう!

ただし、この分布の横軸と縦軸はそれぞれ以下のように壁近傍の特徴的な大きさで無次元化されていることに注意が必要です。

  • $y^{+}=\frac{u_{\tau}y}{\nu}$
  • $u^{+}=\frac{u}{u^{\tau}}$

※$u_{\tau}=\sqrt{\frac{\tau_{w}}{\rho}}$:摩擦速度
※$\tau_{w}=\mu\frac{\partial u}{\partial y}$:壁面のせん断力
※$\kappa=0.41, C = 5.0$

乱流モデルと壁関数は多くの場合、平板上の流れ(特に境界層の発展)を基に構築された理論です。
以下では実際にOpenFOAMでのモデル作成手順を示します。

チュートリアルのコピー

まずは適当な作業フォルダを作成して、フォルダ移動します。

次に、適当なチュートリアルを作業フォルダにコピーします。
今回は非圧縮流れ(乱流モデルあり)の定常解析用ソルバであるsimpleFoamを使います。

フォルダ移動します。

ここからモデルを設定していきます。

メッシュ作成

メッシュ作成はblockMeshDIctを使います。

以上の内容で2次元解析用のメッシュ設定が終わり、以下のコマンドでメッシュ作成を行います。
メッシュ作成後は計算を実行する前に必ずメッシュ状態を確認しておきましょう。

メッシュ状態の確認はParaViewを使います。
OpenFOAMをParaViewで読み込ませるためには、post.foam(拡張子が.foamであればファイル名は任意)を作成しておき、それをParaViewで読み込ませます。

メッシュサイズの分割数は以下の部分で調整することができます。

メッシュサイズは$y^+$に関わってくるため重要な要素だということを覚えておきましょう。

解析設定

物性値の設定

物性値はconstant/transportPropertiesで設定を行います。
非圧縮流れにおいての物性値は動粘性係数$\nu\text{m}^2/\text{s}$だけです。

流入速度$U=1.0\text{m}/\text{s}$ですので、レイノルズ数は$Re=\frac{UL}{\nu}=\frac{1.0\times 2}{2\times 10^{-7}}=10^7$となります。

乱流モデル

乱流モデルは$k$-$\omega$SSTを使用します。
$k$-$\omega$SSTモデル(Shear Stress Transportモデル)は、乱流モデルの中でも広く利用されているモデルの一つで、以下の特長を持ちます。

  1. $k$-$\omega$モデルと$k$-$\varepsilon$モデルのハイブリッド
    • 壁近傍では$k$-$\omega$モデルを使用し、壁面に近い部分での精度を高めます。
    • 壁面から離れた部分では$k$-$\varepsilon$モデルを使用し、自由流の挙動を適切に予測します。
  2. せん断応力輸送(SST)モデル
    • 境界層剥離などのせん断応力が重要な現象をより正確に捉えるため、せん断応力を考慮する形に改良されています。
    • 境界層内の分離挙動を精度よく予測する能力があります。

次回の記事では$k$-$\varepsilon$と$k$-$\omega$SSTとの結果の違いも見ていきたいと思います。

離散化スキーム

system/fvSchemesで離散化のスキームの設定を行います。
特に粘性項のない場合の移流方程式などでは、対流項のスキームによってかなり結果が変わることもあります。

今回は粘性項も圧力項もあるのでスキームの違いによる大きな変化はないかもしれません。

system/fvSchemes

興味があれば色々と変更して遊んでみてください。

代数ソルバ

system/fvSolutionで行列解法の設定を行います。

system/fvSolution

計算が発散する場合はrelaxationFactorsなどの数値を小さくしてどうなるか様子を見てください。

境界条件

それぞれの境界面の名前は以下のようになっており、各面に対して適切な設定する必要があります。

$k$-$\omega$SSTに必要な境界条件として以下となります。

  • U: 流速ベクトル場
  • p: 圧力場
  • k: 乱流運動エネルギー
  • omega: 比乱流散逸率
  • nut: 乱流粘性係数

U: 流速ベクトル場

p: 圧力場

以下、壁関数の設定を含む乱流モデルの変数の設定です。
壁関数については、こちらにわかりやすくまとめられています。

k: 乱流運動エネルギー

omega: 比乱流散逸率

nut: 乱流粘性係数

計算制御設定

system/controlDictで計算に関する設定を行います。
また、functionsで出力設定なども行います。

  • ypuls:$y^+$
  • continuityError:連続式の誤差
  • residuals:残差

これらの設定を行います。

また、system/sampleDictで物理量の出力設定も行います。

system/sampleDict

以上で解析設定が終わりました。

計算の実行

では、計算の実行を行います。
ここでは、

  • 計算実行
  • 各ステップの物理量の出力
  • ある座標軸での物理量の出力

を行うためにAllrunスクリプトにコマンドをまとめておきます。

では、Allrunスクリプトを実行します。

計算ログが出力されて終了します。

結果のグラフ化

まずは$y^+$を確認してみましょう。

$y+$の確認

壁面bottomの$y^+$は平均で71.49747となっています。
高レイノルズ型の乱流モデル$k$-$\varepsilon$であれば$y^+ \geq 30$は必要なのでOKそうですね。今回は、$k$-$\omega$SSTモデルなので、あまり厳しい$y^+$の縛りはないですが。

$y^+$-$u^+$の確認

壁からの距離$y$を横軸に、壁と水平方向($x$方向)の流速$u$を縦軸にとった以下のグラフとOpenFOAMの結果とを比較してみましょう。
※グラフは復習のため再度載せておきます。

  • $y^{+}=\frac{u_{\tau}y}{\nu}$
  • $u^{+}=\frac{u}{u^{\tau}}$

※$u_{\tau}=\sqrt{\frac{\tau_{w}}{\rho}}$:摩擦速度
※$\tau_{w}=\mu\frac{\partial u}{\partial y}$:壁面のせん断力
※$\kappa=0.41, C = 5.0$

では、OpenFOAMの結果をPythonで可視化し、上記理論式との比較を行います。

乱流の対数域の線に乗っているかどうか微妙なところですが、概ね理論通りでしょう。

まとめ

今回は、平板流れのモデル作成を通じて、乱流モデルと壁関数の設定方法について解説しました。また、$y^+$と$u^+$の関係を確認し、理論と一致しているかを可視化して検証するプロセスもご紹介しました。

次回は、さらに一歩踏み込んで、他の乱流モデル(例:$k$-$\varepsilon$モデルや低レイノルズ数型モデル)、別の壁関数の適用、さらには壁関数を使用しない場合の設定など、多様な条件下で結果がどのように異なるのかを比較・検証していきたいと思います。

計算力学技術者のための問題アプリ

計算力学技術者熱流体2級対策アプリをリリースしました。

  • 下記をクリックしてホームページでダウンロードできます。
  • LINE公式に登録すると無料で問題の一部を閲覧できます
    ※LINEの仕様で数式がずれていますが、アプリでは問題ありません。

お勧めの参考書

乱流モデルの数式の展開が非常に丁寧なのはこちらの参考書です。
今まで読んだ本の中で途中式もしっかり書いてあって一番丁寧でした。
乱流モデルの話だけでなく、混相流(気液、固液)や粒子法、浅水方程式の話も乗っているので重宝しています。

流れの方程式

流れの方程式

後藤仁志
9,900円(01/02 13:34時点)
Amazonの情報を掲載しています

乱流モデルはこちらもお勧めです。
前半は数値シミュレーションの離散化の話で、後半に乱流モデルの話が出てきます。

乱流の数値シミュレーション 改訂版

乱流の数値シミュレーション 改訂版

梶島 岳夫
6,690円(01/02 20:19時点)
Amazonの情報を掲載しています

乱流モデルのざっくりした解説と流体全般の基礎知識にはこちらがちょうど良いでしょう。

流体力学 (JSMEテキストシリーズ)

流体力学 (JSMEテキストシリーズ)

一般社団法人日本機械学会
2,750円(01/02 13:34時点)
Amazonの情報を掲載しています
関連記事もどうぞ

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です