大学数学

【interFoam(OpenFOAM)】3次元ダムブレイクモデル解析実行(4)

こんにちは(@t_kun_kamakiri

今回は3次元ダムブレイクの実験と同じ状況をOpenFOAMで再現しようと思います。

使用しているベースとなるチュートリアルは「$FOAM_TUTORIALS/multiphase/interFoam/laminar/damBreakWithObstacle/」よりコピーして使っています。

今回の内容

3次元ダムブレイクの流体解析をOpenFOAMで実施。

OpenFOAM初心者でチュートリアルを動かしたことがある方を対象にしています。

DEXCS2020
OpenFOAM v2006

解くべき方程式

OpenFOAMの2相流のソルバ”interFoam”を用いて3次元ダムブレイクの解析を行います。

ツール

  • OpenFOAM:v2006
  • ソルバ:inerFoam

解くべき方程式

  • 運動方程式(2次元)
  • 体積分率の保存
  • 表面張力
    ※VOFによる界面の表現

今回使っている「interFoam」のソルバはVolume Of Fluid(VOF)法による、二相流ソルバーです。

相の区別を各相の体積分率(0~1)で行い、密度や粘性を体積分率をかけて、ナビエストークス方程式を解いています。

ナビエストークス方程式

\begin{align*}\frac{\partial \rho_{b}\boldsymbol{u}}{\partial t}+\nabla\cdot\big(\rho_{b}\boldsymbol{u}\boldsymbol{u}\big)=-\nabla p+\nabla\cdot\mu_{b}\big(\nabla \boldsymbol{u}+\nabla \boldsymbol{u}^{T}\big)+\rho_{b}\boldsymbol{f}+\boldsymbol{F}_{s}\end{align*}

密度

\begin{align*}\rho_{b}=\alpha_{1}\rho_{1}+\alpha_{2}\rho_{2}\end{align*}

粘性

\begin{align*}\mu_{b}=\alpha_{1}\mu_{1}+\alpha_{2}\mu_{2}\end{align*}

表面張力

\begin{align*}\boldsymbol{F}_{s}=\gamma \kappa\big(\nabla \alpha\big)\end{align*}

\begin{align*}\kappa=\nabla\cdot\big(\frac{\nabla\alpha}{|\nabla\alpha|}\big)\end{align*}

非圧縮の条件

\begin{align*}\nabla\cdot \boldsymbol{u}=0\end{align*}

体積分率の移流方程式

\begin{align*}\frac{\partial \alpha}{\partial t}+\nabla\cdot \big(\alpha \boldsymbol{u}\big)=0\end{align*}

※\(\alpha_{2}=1-\alpha_{2}\)
※\(\kappa\):界面の曲率
※\(\gamma\):界面張力

解析設定

今回は乱流モデル無しで行います。

constant/turbulenceProperties

今回こちら「$FOAM_TUTORIALS/multiphase/interFoam/laminar/damBreakWithObstacle/」のチュートリアルを利用していますが、乱流モデルなしのケースファイルでも「k,nut,omega」ファイルがありますが、こちらは乱流モデルの際に使うので今回は特に設定をしなくも良いです(使っていないので)。

0.org/U

0.org/p_rgh

0.org/alpha.water

チュートリアルは空気と水の界面でのメッシュを時刻歴で再分割するようにdynamicMeshが採用されています。

今回このような設定では解析時間がとてもかかるのと、結果処理がものすごく重いためノートPCで耐えられる計算ではないため、「dynamicFvMesh staticFvMesh;」を使って無効にしておきます。

constant/dynamicFvMeshDict

計算時間もかかるため4並列にして計算を実行します。

system/decomposeParDict

scotchを使えば適当に最適化して分割してくれます。

その他の設定は特に触っていないのでそのままでいきます。
設定が終わったので以下のコマンドで解析を実行しましょう。

計算が終わったらparaviewで結果を確認しましょう。

このように水が崩れて障害物で水しぶきを上げている結果が得られました。

まとめ

今回は3次元ダムブレイクの解析実行までを行いました。

次回は、3次元ダムブレイクの実験との比較を行います。
実験の様子はこちらです。
p1~p8まで障害物に圧力センサーを取り付け圧力の時刻歴を拾っています。
このような実験で得られた物理量とCAE解析で得られた結果の比較を行い、解析の妥当性の検証を行いたいと思います。

参考書

PENGUINさんサイトを体系的に学べる書籍となっています。ネット記事でも十分勉強できるのですが、OpenFOAMの初学者でOpenFOAMをインストール済みであれば一冊持って置き、体系的に学ぶのが良いでしょう。

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

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

3,520円(07/01 20:11時点)
Amazonの情報を掲載しています

あとは初心者向けに丁寧に解説がされているこちらの書籍もお勧めです。最後の章にはオーバーセットメッシュ(重合メッシュ)の機能を使った解析を最後まで丁寧に解説しているので挫折することはないでしょう。

OpenFOAMの歩き方 (技術の泉シリーズ(NextPublishing))

OpenFOAMの歩き方 (技術の泉シリーズ(NextPublishing))

川畑 真一
1,100円(06/30 20:40時点)
発売日: 2021/02/26
Amazonの情報を掲載しています

【プロフィール】

カマキリ
(^^)

大学の専攻は物性理論で、Fortranを使って数値計算をしていました。
CAEを用いた流体解析は興味がありOpenFOAMを使って勉強しています。

プロフィール記事はこちら

 

大学学部レベルの物理の解説をします 大学初学者で物理にお困りの方にわかりやすく解説します。

このブログでは主に大学以上の物理を勉強して記事にわかりやすくまとめていきます。

  • ・解析力学
  • ・流体力学
  • ・熱力学
  • ・量子統計
  • ・CAE解析(流体解析)
  • note
    noteで内容は主に「プログラミング言語」の勉強の進捗を日々書いています。また、「現在勉強中の内容」「日々思ったこと」も日記代わりに書き記しています。
  • youtube
    youtubeではオープンソースの流体解析、構造解析、1DCAEの操作方法などを動画にしています。
    (音声はありません_(._.)_)
  • Qiita
    Qiitaではプログラミング言語の基本的な内容をまとめています。

COMMENT

メールアドレスが公開されることはありません。