OpenFOAM

【OpenFOAM】MPPICFoamでk-ωSSTを設定する

こんにちは(@t_kun_kamakiri

最近DEMの見習い中で、DPM(Discrete Phase Model 分散モデル)と粒子間の衝突の取り扱いを簡略化したMP-PIC法(multiphase particle-in-cell method)を使った解析に取り組んでいます。

MP-PIC法については理解が浅いので参考記事を載せておきます。

今回はOpenFOAMのMP-PIC法のソルバのMPPICFoamで流体の乱流モデルの$k$-$\omega$SSTの解析をしてみます。
設定は少々適当ですので、「やってみた」系の記事なります。

OpenFOAM v2212

チュートリアルのコピー

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

フォルダ移動します。

とりあえずチュートリアを計算してみましょう。

メッシュ作成できたらParaViewで確認してみましょう。

これで解析実行がされます。
結果はParaViewで確認することができますが、ここでは割愛します。

粒子の設定の確認

このチュートリアルの肝になるのが粒子の設定の部分です。

constant/kinematicCloudProperties

設定の主要な部分だけ解説をしておきます。

  • particleForces:流体から粒子への力
  • injectionModels:patchInjectionでは指定したパッチから粒子を投入
  • patchInteractionModel:localInteractionでは指定したパッチ面との接触定義(反発係数や摩擦係数を指定)
  • dampingModelisotropyModel がMP-PICに関係している部分?よくわかっていない。ちなみに$FOAM_TUTORIALS/lagrangian/MPPICFoam/cyclone/constant/kinematicCloudPropertiesを見ると以下のようになっています。

HarrisCrightonは以下の応力の式です。

粒子追跡は以下でも関連記事を書いていますのでご参考ください。

乱流モデルの設定

$k$-$\omega$SST乱流モデルの設定ファイルをコピーします。

lagrangianのチュートリアルの中で乱流モデルの「k」ファイルを使っているケースはないかを探します。

候補として1つだけありました。

このチュートリアルの乱流モデルは何を使っているのか確認してみましょう。

$FOAM_TUTORIALS/lagrangian/MPPICFoam/cyclone/constant/turbulenceProperties.air

どうやらLESのようです。
今回はRANSの$k$-$\omega$SSTにしたいので、少し違いますが参考にはなりそうなので、こちらのチュートリアルを参考にさせてもらいます。

まずはconstant/turbulenceProperties.airを編集します。

constant/turbulenceProperties.air

境界条件

k.airとnut.airをコピーします。
omega.airは自分で作る必要があります。k.airを適当にコピーして編集することにします。

では、各ファイルを編集していきます。

0/k.air

冒頭のヘッダー部分は「k.air」であることを確認します。
outletは「phi phi.air」が必要だそうです。

0/nut.air

冒頭のヘッダー部分は「nut.air」であることを確認します。
outletは「phi phi.air」が必要だそうです。

0/omega.air

冒頭のヘッダー部分は「omega.air」であることを確認します。
outletは「phi phi.air」「k k.air」が必要だそうです

それぞれ.airの記述が必要な理由がわかっていませんが、計算に必要な物理量を書いているということでしょうか・・・0/Uは「phi phi.air」が必要です。

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

使用する物理量が変わったので離散化スキームと代数ソルバの設定も変更が必要です。

system/fvSchemes

divSchemesに「div(alphaPhi.air,omega.air) Gauss limitedLinear 1;」を設定します。

fvSchemesには壁関数の計算で壁からの距離を必要とするため、「wallDist」を設定する必要があります。

system/fvSolution

計算実行

では設定が終わりましたので、MPPICFoamを実行します。

結果をParaViewで確認してみましょう。

omegaの初期設定が適当なので流速が少し不自然なですね。
今回のMPPICFoamは非定常の解析なので、omegaの値も見積もって適切に設定する必要があります。

まとめ

今回はOpenFOAMをMPPICFoamで乱流モデル$k$-$\omega$SSTを設定してみました。

どういったアルゴリズムで解かれているか詳しく見ていかないといけませんが、とりあえず解析はできました。

わかっていない点

  1. outletは「phi phi.air」の記述が必要であるという意味は理解できていません。
  2. 連続相(流体)の流速に乱流場の変動成分を加える分散モデル(dispersionModel)の設定がありますが、どういうときに設定する必要があるのかわかっていません。
    GradientDispersionRAS:乱流エネルギーkの方向に一様乱数で乱れ速度を加える
    StochasticDispersionRAS:連続相の速度に一様乱数で発生させた方向に乱れ速度を加える

おすすめ参考図書

☟こちらは、OpenFOAMの日本語書籍が無い中唯一わかりやすい参考書だと思います。

OpenFOAMによる熱移動と流れの数値解析(第2版)

OpenFOAMによる熱移動と流れの数値解析(第2版)

3,520円(04/28 10:31時点)
Amazonの情報を掲載しています

☟こちらもOpenFOMの古いバージョンでの和訳になります。さすがにこちらはバージョンに対する日本語でのケアはしていないので、OpenFOAMに慣れている方は購入しても良いかと思います。僕は「日本語でまとまっている内容」なので少し重宝しています。

OpenFOAMプログラミング

OpenFOAMプログラミング

Mari´c,Tomislav, H¨opken,Jens, Mooney,Kyle
8,250円(04/28 20:49時点)
Amazonの情報を掲載しています

☟以下に、もっと初心者向けの同人誌を紹介しておきます。
初心者は「ってか、まずどうやってOpenFOAMをインストールするの?」というところからつまずきがちです。
そんな時は、以下の書籍をおすすめします。

改訂新版 OpenFOAMの歩き方 (技術の泉シリーズ(NextPublishing))

改訂新版 OpenFOAMの歩き方 (技術の泉シリーズ(NextPublishing))

川畑 真一
1,320円(04/28 18:48時点)
発売日: 2022/04/15
Amazonの情報を掲載しています

インストール方法とチュートリアルで流体解析を体験・・・ちょっと高度な解析まで解説があります。著者曰くOpenFOAMのバージョンの追跡を行いながら、書籍をアップデートするようなので安心ですね。

OpenFOAMコードの辞書的な扱いとしては以下の参考書が大変役に立ちます。
本記事ではESI版のOpenFOAMを使っているため本書のFoundation版で対応していない部分がありますが、その辺を考慮しても持っていて損はないでしょう。
本記事の粒子追跡については結構詳しく書かれていますので、とても参考になります。

OpenFOAMライブラリリファレンス

OpenFOAMライブラリリファレンス

株式会社テラバイト, 人見 大輔
16,500円(04/28 13:41時点)
Amazonの情報を掲載しています

メッシュ作成を極めたいって方はこちらもお勧めです。
OpenFOAMでメッシュ作成

関連記事もどうぞ

COMMENT

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