0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenFOAMへのVARANSの実装(その1)

0
Last updated at Posted at 2026-02-22

はじめに

OpneFOAM の interFoam ソルバーをベースとした派生ツールの ihFoam$^1$ は波の境界条件および多孔質体ソルバーを含んでいる。ベースである OpenFOAM ではレイノルズ平均ナビエ・ストークス方程式 (RANS) を解くのに対し、ihFoam では体積平均 RANS (VARANS) を解く。ihFoam は変遷を経て、現在は olaFlow という名前のプロジェクトになっている。
最初に interFoam と olaFlow の基礎方程式の比較を行う。つづいて olaFlow のインストールを行い、最後に、olaFlow に付属しているチュートリアルケースの動作確認を行う。チュートリアルケースは、ダムブレイク (CR35_bambreak) を対象とする。

1. 基礎方程式

1.1 OpenFOAM (interFoam) のRANS方程式

1.1.1 連続の式

\nabla \cdot {\bf{U}} = 0\tag{1}

ここで、${\bf{U}}$ は流速を表す。

1.1.2 運動方程式

\frac{\partial (\rho {\bf{U}})}{\partial t} + \nabla \cdot (\rho {\bf{U U}}) = - \nabla p + \nabla \cdot (\mu \nabla {\bf{U}}) + \nabla \cdot \biggl[\mu \Bigl \{(\nabla {\bf{U}})^T - \frac{2}{3} (\nabla \cdot {\bf{U}}) I \Bigr\} \biggr] + \rho {\bf{g}} + {\bf{f}}_{\sigma}\tag{2}

ここで、$\rho$ は流体の加重平均密度、${\bf{g}}$ は重力加速度、$p$ は圧力、${\bf{f}}_{\sigma}$ は表面張力を表す。(2) 式は KEYSIGHT版 (ESI版) v2406 など最近の式であるが、古いバージョンでは次式のように定式化されていた。$^2$

\frac{\partial (\rho {\bf{U}})}{\partial t} + \nabla \cdot (\rho {\bf{U U}}) = - \nabla p + \nabla \cdot (\mu \nabla {\bf{U}}) + (\nabla {\bf{U}}) \cdot (\nabla \mu) + \rho {\bf{g}} + {\bf{f}}_{\sigma}\tag{3}

1.1.3 VoF方程式

\frac{\partial \alpha}{\partial t} + \nabla \cdot (\alpha {\bf{U}}) = 0\tag{4}

1.2 olaFlowのVARANS方程式

多孔質体内部での流速 (Darcy速度) ${\bf{u}}$ を、

{\bf{U}} = \frac{{\bf{u}}}{n}\tag{5}

と捉えて(1)、(2) および (4) 式の ${\bf{U}}$ を置き換えるのが VARANS の基本的な発想である。

1.2.1 連続の式

\nabla \cdot \frac{{\bf{u}}}{n} = 0\tag{6}

1.2.2 運動方程式

(1+c)\frac{\partial}{\partial t}\frac{\rho {\bf{u}}}{n} + \nabla \cdot \Bigl(\frac{{\bf{u}}}{n}\frac{{\bf{u}}}{n} \Bigr) = -\nabla p + \nabla \cdot \Bigl(\mu \nabla \frac{{\bf{u}}}{n} \Bigr) + \Bigl( \nabla \frac{{\bf{u}}}{n} \Bigr) \cdot \Bigl( \nabla \mu \Bigr) - A \frac{{\bf{u}}}{n} - B |{\bf{u}}| \frac{{\bf{u}}}{n} + \rho {\bf{g}}\tag{7}
A = a \frac{(1-n)^3}{n^2} \frac{\mu}{D_{50}^2}\tag{8}
B = b \Bigl(1 + \frac{7.5}{KC} \Bigr) \frac{1-n}{n^2} \frac{\rho}{D_{50}}\tag{9}

ここで、$n$ は空隙率 ($porosity$)、$D_{50}$ は多孔質体の中央径、$KC$ は Keulegan–Carpenter 数、$a$、$b$ は摩擦のパラメータとして調整される。経験的に、$c$ は 0.34 の定数とする。

1.2.3 VoF方程式

\frac{\partial \alpha}{\partial t} + \nabla \cdot (\alpha \frac{{\bf{u}}}{n}) = 0\tag{10}

system/fvSolutionのalpha.waterディクショナリで、"MULESCorr no;"とすることで、陽解法MULESが指定される。この場合、次の形でVoF方程式が解かれる。

n \frac{\partial \alpha}{\partial t} + \nabla \cdot (\alpha {\bf{u}}) = 0\tag{11}

"MULESCorr yes;" とすると、準陰解法 MULES が指定され、常に $n=1$ で計算される。陽解法 MULES を指定したときに、空隙率を加味した VoF 方程式を解くことが、olaFlow での改善点と思われる。逆に、準陰解法MULESを指定した場合は、ihFoam と同じ計算結果となる。よって、今回の動作確認では常に陽解法 MULES を指定する。

olaFlow のインストールにつづく

出典

  1. Higuera,P., Lara, J.L., Losada, I.J., 2013. Three-dimensional interaction of waves and porous coastal structures using OpenFOAM®. Part I: Formulation and validation
  2. PENGUINITISさんのホームページ
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?