こんにちは(@t_kun_kamakiri)
本記事では、以下の内容のように球体周りの流れをOpenFOMAでシミュレーションするための解説をしていきます。
複数回に分けて記事を書いていくため流体解析に興味があり、自宅PCで解析してみたいという方は最後までお付き合いください_(._.)_
本記事は前回作成したメッシュを使って球体周りの流れを解析する手順を解説します。
ただ、OpenFOAMで球体周りの流れをシミュレーションするだけではなく、文献値がある抗力係数との比較もおこなうことで数値シミュレーションの妥当性検証も行います。
今のモデルだと高レイノルズ数領域で厳しくなりますね。 https://t.co/MrIWrC6FM2 pic.twitter.com/2nIrm4ZC8I
— カマキリ🐲Python頑張る昆虫 (@t_kun_kamakiri) February 10, 2022
高レイノルズ数領域はノートPCでの計算負荷が大きいため再現することを断念しましたが、おおむね広い範囲でレイノルズ数と抗力係数の傾向をとらえています。
本記事のシリーズは流体解析のスペシャリストを対象にしておらず、むしろ初学者でOpenFOMAを触り始めた人が「まずは自身で触りながら解析をしたい」と思ったときに使う題材としたいと考えています。
こんな方はどうぞ
- 商用流体解析ソフトは触ったことがあり境界条件の意味などの説明は必要ない方
(CFD歴1か月以上) - Linuxでターミナルを立ち上げてCUI上でディレクトリ間を移動できる方
- 上記の経験はないが資料をもとに自分でコツコツやることが出来て分からないことがあっても心を折られない方
逆にこんな方は向いていないかもしれません
- 1~10までわかりやすく教えてもらいたい方
- 自分の質問には全部答えてほしい方
- 自分で資料などを見て勉強する気はない方
- 進行に間違いがあったときに気分が悪くなる方
過去にXsimというWeb上で解析設定が行えるサービスを使って球体周りの流れを解析するという記事をアップしました。
本記事よりももっと「ポチポチ」とボタンを押すだけでかいせきができるので不安な方はこちらの記事から始めてください。
使用環境
- FreeCAD0.19(Windows11)
- Paraview5.19(Windows11)
- OpenFOAMv2006(WSL2)
- Python 3.8.1(WSL2)
OpenFOAMとPythonはWSL2で行い、モデル作成(FreeCAD)と可視化(Paraview)はWindows上にインストールして使用しています。
解くべき方程式
- 運動方程式(3次元):ナビエストークス方程式
- 質量保存則:非圧縮条件
今回は、定常解析をするため「simpleFOAM」を使います。
simpleFOAMがどんな用途のためのソルバなのか?って思った場合は以下の表を参考にすれば良いでしょう。
OpenFOAMの「非圧縮性流体ソルバ」を以下に示しておきます。
adjointShapeOptimizationFoam | 定常/非ニュートン流体の乱流/随伴方程式を使用することで障害物による圧損を考慮してダクト形状を最適化 |
boundaryFoam | 定常/1次元乱流/通常は流入口での境界層条件の生成に使用 |
icoFoam | 非定常/ニュートン流体の層流 |
nonNewtonianIcoFoam | 非定常/非ニュートン流体の層流 |
pimpleFoam | 非定常/時間刻み幅大/(PISOとSIMPLEを組み合わせた)PIMPLEアルゴリズム |
pimpleDyMFoam | 非定常/移動メッシュ/(PISOとSIMPLEを組み合わせた)PIMPLEアルゴリズム |
SRFPimpleFoam | 非定常/時間刻み幅大/単一の回転領域 |
pisoFoam | 非定常/PISOアルゴリズム |
shallowWaterFoam | 非定常/回転を伴う非粘性の浅水方程式 |
simpleFoam | 定常 |
porousSimpleFoam | 定常/多孔質体(陰解法・陽解法)有りの乱流/MRF(Multiple Reference Frame)機能を使用可能 |
SRFSimpleFoam | 定常/単一の回転領域 |
この中で今回は「simpleFOAM」という、非定常・非圧縮性の流れを扱う際に使うソルバをベースにします。
非圧縮性の流体は基本的には温度場は解きません。
なぜなら、知りたい物理量は「流速\(\boldsymbol{u}\)」と「圧力\(p\)」の2つであり、解くべき方程式「運動量保存則」と「質量保存則」の2つです。
なので、方程式自体が閉じいるので温度を解く必要がありません。温度変化による密度への影響というのはとても小さいので温度を考える必要がないというのもあります。
温度変化することによる密度変化を考慮しないといけない場合は、ブシネスク近似でモデル化しますがここでは深い話はしません。
simpleFoamの設定(乱流モデル$k-\epsilon$モデル)
モデルの作成手順はこちらにアップしています。
paraviewで可視化するとこのようになります。
参考書
PENGUINさんサイトを体系的に学べる書籍となっています。ネット記事でも十分勉強できるのですが、OpenFOAMの初学者でOpenFOAMをインストール済みであれば一冊持って置き、体系的に学ぶのが良いでしょう。
あとは初心者向けに丁寧に解説がされているこちらの書籍もお勧めです。最後の章にはオーバーセットメッシュ(重合メッシュ)の機能を使った解析を最後まで丁寧に解説しているので挫折することはないでしょう。