SlideShare a Scribd company logo
1 of 118
山本卓也
OpenFOAMによる気液2相流解析の
基礎と設定例
東北大学大学院 工学研究科 金属フロンティア工学専攻
環境科学研究科 先端環境創成学専攻
1
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
5
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
6
OpenFOAMとは?
Open Field Operation And Manipulation
Imperial college Londonの研究室(Gosman研)でスタートしたCFDパッケージ
特徴: オープンソースである
汎用的なオブジェクト指向で書かれている
流動、伝熱だけでなく、化学反応、燃焼、電磁場、粒子解析も
複雑形状に対応可能(任意格子形状)
世界中にユーザーがいて、互助会がある
デベロッパーだけでなく、ユーザー側からの更新も可能
Linux (Unix)のコマンドで実行
(Windows, mac上で環境構築可能)
7
OpenFOAMの守備範囲
解析できる対象
• 非圧縮性流体(ニュートン性流体、非ニュートン性流体、随伴解析、乱
流モデル、・・・)
• 圧縮性流体(圧縮性流体、音速流)
• 気液混相流(VOF法、Euler-Euler法、相変化、キャビテーションモデル)
• 熱流体解析(固液領域連成、輻射解析、熱対流)
• 電磁場解析(静電場解析、MHD解析)
• 応力解析
• 離散的な解析(離散要素法、流体-粒子連成解析、燃焼モデル)
• 金融(Black-Scholes方程式)
基礎的な解析はほとんど可能
8
OpenFOAMの歴史
~2003 Imperial college Londonで開発、商用ソフト(FOAM)として販売
2004~ OpenCFD社がOpenFOAMをオープンソースとして公開
2011 OpenFOAM Foundation Inc.が設立し、OpenCFD社をSGI社が買収
2012 OpenCFD社がESI社が買収
2016 OpenFOAM Foundation版とESI-OpenCFD社版に分裂
OpenFOAM Foundation版
OpenFOAM ESI-OpenCFD版
OpenFOAM-v3.0+, OpenFOAM-v1606+, OpenFOAM-v1612+, OpenFOAM-v1706, …
現在の最新VersionはOpenFOAM-v2106
年2度更新(6月、12月)
2020年6月更新はv2006、2018年12月更新はv1812という命名方法
OpenFOAM-4.0, OpenFOAM-4.1, OpenFOAM-5, OpenFOAM-6, …
現在の最新VersionはOpenFOAM-9
年1度更新(7月)
OpenFOAM-devとして開発版も存在する
9
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
10
OpenFOAMにおける気液混相流
applications/solvers/multiphase中にsolverが格納
• interFoam系(一流体モデル)
界面捕獲法(interface capturing method)とも呼ばれる
• twoPhaseEulerFoam系(二流体モデル)
Euler-Euler modelとも呼ばれる
主に
1流体モデル
2流体モデル
ミルククラウンのように気液
界面を直接追跡したい場合
は、1流体モデルを利用する
11
界面捕獲法 (interface capturing method)
• Volume of Fluid (VOF) method
• Level Set (LS) method
• Phase Fields method
• Moment of Fluid (MOF) method
…
数多くの方法が提案されてきている。
界面捕獲法概略図
計算格子を移動しない
マーカーを利用して界面位置を追跡
マーカーが拡散指定しまい、界面位置が
なまる誤差あり
12
界面捕獲法計算例
Dam Break (Tutorial)
界面の拡散(誤差)
13
VOF法
Hirt and Nichols (1981)によって開発された手法
C.W. Hirt and B. D. Nichols, J. Comput. Phys. 39 (1981) 201-226.
1. 体積分率a(VOF関数とも呼ばれる)に対する保存方程式を解く
𝜕𝛼
𝜕𝑡
+ ∇ ∙ 𝒖𝛼 = 0
2. 体積分率aが拡散するのを防ぐため、
各計算格子セル内に体積分率が1までたまるまで移動させない
a = 1: 液体
a = 0: 気体
0 < a < 1: 界面
VOF法は体積分率の数値拡散との戦い
14
VOF関数の数値拡散
0 0 0 0 0
0 0 0 0.1 0.3
0 0 0.5 0.95 1.0
0 0.4 1.0 1.0 1.0
0 0.7 1.0 1.0 1.0
界面がなまる
数値的に拡散する
実際の形状 数値上での表現
G. Tryggvason et al., Direct Numerical Simulation of Gas-Liquid Multiphase Flow (Cambridge University Press, 2011)
15
界面再構築方法
• Geometrical reconstruction (幾何学的な再構築)
SLIC, PLIC, ELVIRA, isoAdvector等の方法
計算精度良好、アルゴリズム実装複雑
計算が不安定
• Algebraic reconstruction (代数学的な再構築)
HRIC, CICSAM等の方法
計算精度そこまで高くない、アルゴリズム実装容易
計算が安定
代数学的に修正
幾何学的に
修正
16
OpenFOAMにおけるVOF法
• interFoam
Algebraic VOF法
MULES (Multi-Dimensional Universal Limiter with Explicit Solution)を利用
全てのOpenFOAMで利用可能
• interIsoFoam
Geometric VOF法
IsoAdvectorを利用
ESI版OpenFOAMで利用可能
(OpenFOAM v1706以降, v1806以降でdynamic mesh利用可能)
• interFoam
Algebraic VOF法+PLIC (MPLIC)
MULES (Multi-Dimensional Universal Limiter with Explicit Solution)を利用
PLIC (MPLIC)は補間に利用
OpenFOAM-dev(OpenFOAM Foundation版)で利用可能(2020年夏以降) 17
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
18
interFoamのtutorial
Dambreak Dambreak with obstacle
19
interFoamにおける支配方程式
解いている方程式
H. Rusche, Ph.D. Thesis of Imperial College London (2002).
• Navier-Stokes式(表面張力項が追加)
𝜕 𝜌𝒖
𝜕𝑡
+ ∇ ⋅ 𝜌𝒖𝒖 = −∇𝑝 + 𝜇∇2𝒖 + 𝜌𝒈 + 𝑭σ
• 連続式
𝜕𝜌
𝜕𝑡
+ ∇ ⋅ 𝜌𝒖 = 0
• VOF関数の保存方程式
𝜕𝛼
𝜕𝑡
+ ∇ ⋅ 𝛼𝒖 + ∇ ⋅ 𝛼 1 − 𝛼 𝒖r = 0
流れ
気液
界面
位置
𝜌: 密度
u: 速度
t:時間
p: 圧力
𝜇 : 粘度
g: 重力加速度
𝑭σ: 表面張力項
a: VOF関数
ur: 相対速度
界面圧縮項としてモデル化
20
𝜕𝛼
𝜕𝑡
+ ∇ ⋅ 𝛼𝒖 + ∇ ⋅ 𝛼 1 − 𝛼 𝒖r = 0
VOF関数の保存方程式
VOF関数の保存方程式
Algebraic reconstruction (代数的再構築)の1種
支配方程式を変更することで代数的にVOF関数を修正
界面圧縮
21
𝜕𝛼
𝜕𝑡
+ ∇ ⋅ 𝛼𝒖 + ∇ ⋅ 𝛼 1 − 𝛼 𝒖r = 0
VOF法における物性値更新
VOF関数の保存方程式
𝜌 = 𝜌1𝛼 + 𝜌2 1 − 𝛼
𝜇 = 𝜇1𝛼 + 𝜇2 1 − 𝛼
𝜌: 密度
𝜇: 粘度
物性値の補間には一般には調和平均が利用されるが、
VOF法では線形補間でも大差がないため線形補間がよく利用される 22
𝜕𝛼
𝜕𝑡
+ ∇ ⋅ 𝛼𝒖 + ∇ ⋅ 𝛼 1 − 𝛼 𝒖r = 0
VOF関数の保存方程式の離散化
VOF関数の保存方程式
Ω
∇ ⋅ 𝛼𝒖 + ∇ ⋅ 𝛼 1 − 𝛼 𝒖r 𝑑Ω
ガウスの発散定理
Ω
∇ ⋅ 𝑨 𝑑Ω =
S
𝑨 𝑑S
Ω: 体積
S: 面積
f: 体積流量
Sf: 面積ベクトル
f: 格子セル表面
Ω
∇ ⋅ 𝛼𝒖 + ∇ ⋅ 𝛼 1 − 𝛼 𝒖r 𝑑Ω = Σ 𝛼𝒖 f + 1 − 𝛼 𝛼𝒖r f
⋅ 𝑺f
= Σ 𝛼𝜙 f + 1 − 𝛼 𝛼𝜙r f
有限体積法なので
相対体積流量のモデル化が必要 23
界面圧縮モデル
相対体積流量(圧縮体積流量としてモデル化)
𝜙r f = min 𝐶𝛼
𝜙f
𝑺f
, max
𝜙f
𝑺f
𝑛f
f: 体積流量
𝐶𝛼: 圧縮パラメータ
𝑺f: 面積ベクトル
𝑛f: 界面に対する法線面積フラックス
𝒏f: 界面に対する法線単位ベクトル
𝛿s: 安定化パラメータ
𝑉𝑐𝑒𝑙𝑙: 計算格子セル体積
𝑛f = 𝒏f ⋅ 𝑺f 𝒏f =
∇𝛼 f
∇𝛼 f + 𝛿s
𝐶𝛼
𝜙f
𝑺f
とmax
𝜙f
𝑺f
の小さい方を選択
注:古いOpenFOAMの場合
𝐶𝛼 = 0とおくと圧縮流量ゼロに
𝐶𝛼が大きいほど圧縮流量大に
𝛿s =
1 × 10−8
𝑉
cell
1/3
𝜙r f = 𝐶𝛼
𝜙f
𝑺f
𝑛f
注:新しいversionのOpenFOAMの場合
注意: 論文中では上側の表記が殆ど
a

24
界面圧縮モデル
相対体積流量(圧縮体積流量としてモデル化)
f: 体積流量
𝐶𝛼: 圧縮パラメータ
𝑺f: 面積ベクトル
𝑛f: 界面に対する法線面積フラックス
𝒏f: 界面に対する法線単位ベクトル
𝛿s : 安定化パラメータ
𝐶𝛼 = 0とおくと圧縮流量ゼロに
𝐶𝛼が大きいほど圧縮流量大に
nf
1 − 𝛼 𝛼𝜙r
界面圧縮体積流量
1 − 𝛼 𝛼 界面領域のみに働く
右側に圧縮する速度を自動的に加えている
注:nfの計算が正確でなければ変な方向に
圧縮を加えてしまう
𝜙r f = 𝐶𝛼
𝜙f
𝑺f
𝑛f
25
𝒏f =
∇𝛼 f
∇𝛼 f + 𝛿s
界面圧縮モデル(ESI版追加オプション,icAlpha)
相対体積流量(圧縮体積流量としてモデル化)
𝐶𝛼 = 0とおくと圧縮流量ゼロに
𝐶𝛼が大きいほど圧縮流量大に
𝜙r f = 𝐶𝛼
𝜙f
𝑺f
1 − 𝑖cα + 𝐶𝛼𝑖cα|𝒖|f 𝑛f
ESI版追加オプションicAlpha (isotropic compression)
𝜙r f = 𝐶𝛼
𝜙f
𝑺f
𝑛f
元々
𝜙f
𝑺f
を利用するか|𝒖|fを利用するかを𝑖cαで割合を決定
𝑖cα = 0とおくと従来のinterFoamと同様
𝑖cαを1に近づけるほど等方的成分増加
𝜙f
𝑺f
=
𝒖f ⋅ 𝑺f
𝑺f
計算格子セル面垂直成分
計算格子セル面垂直成分で圧縮 or セル面速度の大きさで圧縮
理論上はセル面に平行な流れ成分が支配的な場合は𝑖cαが大きい方が圧縮される
(後述のspurious currentの影響もあるので、何とも言えない) 26
界面圧縮モデル(ESI版追加オプション,scAlpha)
相対体積流量(圧縮体積流量としてモデル化)
𝜙r f = 𝐶𝛼
𝜙f
𝑺f
+ 𝑠cα 𝜹 ⋅
1
2
∇𝒖 + ∇𝒖T
f
𝑛f
ESI版追加オプションscAlpha (shear compression)
追加項
剪断成分を追加
𝐶𝛼 = 0とおくと圧縮流量ゼロに
𝐶𝛼が大きいほど圧縮流量大に
𝑠cα = 0とおくと従来のinterFoamと同様
𝑠cαを大きくするほど剪断成分増加
理論上は界面付近でセル面で剪断流が支配的な場合は𝑠𝑐𝛼が大きい方が圧縮される
(後述のspurious currentの影響もあるので、何とも言えない)
𝜹: 隣接セル中心との
位置ベクトル
27
interFoamにおける支配方程式
解いている方程式
H. Rusche, Ph.D. Thesis of Imperial College London (2002).
• Navier-Stokes式(表面張力項が追加)
𝜕 𝜌𝒖
𝜕𝑡
+ ∇ ⋅ 𝜌𝒖𝒖 = −∇𝑝 + 𝜇∇2𝒖 + 𝜌𝒈 + 𝑭σ
• 連続式
𝜕𝜌
𝜕𝑡
+ ∇ ⋅ 𝜌𝒖 = 0
• VOF関数の保存方程式
𝜕𝛼
𝜕𝑡
+ ∇ ⋅ 𝛼𝒖 + ∇ ⋅ 𝛼 1 − 𝛼 𝒖r = 0
流れ
気液
界面
位置
𝜌: 密度
𝒖: 速度
𝑡:時間
𝑝: 圧力
𝜇 : 粘度
𝒈: 重力加速度
𝑭σ: 表面張力項
a: VOF関数
𝒖r: 相対速度
28
表面張力モデル
J.U. Brackbill et al., J. Comput. Phys. 100 (1992) 335-354.
Continuum Surface Tension (CSF) model
表面張力は面積力であるが、
数値的に解くために体積力によってモデル化
𝑭σ = 𝜎𝑘𝒏𝛿 = 𝜎𝑘∇𝛼
𝜎: 表面張力
𝑘: 界面曲率
𝒏: 界面に対する法線単位ベクトル
𝛿: デルタ関数(界面でのみのデルタ関数)
𝛼 : 体積分率
𝒏 =
∇𝛼
|∇𝛼|
, 𝛿 = ∇𝛼 ,
𝑘 = ∇ ⋅ 𝒏
表面張力項の計算では、𝛻𝛼がかなり重要となる
この計算の誤差が後に説明するspurious currentの原因に
29
interFoamアルゴリズム
VOF関数の保存方程式
Navier-Stokes式による速度予測
圧力ポアソン方程式
PIMPLE
ループ
時間発展 Δ𝑡sub =
Δ𝑡
𝑛α,sub
VOF関数の保存方程式更新
𝑛α,sub回ループ
オプションで時間刻みを小さくする
サブサイクル
fvSolution/nAlphaSubCyclesで回数を設定
界面移動速度が大きい時には多少安定化することも
(個人的な感想としてはあまり改善しない、問題に依る?)
30
interFoamによるミルククラウンの実行例
注:公開ファイルの条件での計算、コンテストがあるため雑な計算条件にしています 31
YouTube
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
32
interIsoFoam(ESI版OpenFOAM)
の数値モデル
33
界面再構築方法
• Geometrical reconstruction (幾何学的な再構築)
SLIC, PLIC, ELVIRA, isoAdvector等の方法
計算精度良好、アルゴリズム実装複雑
計算が不安定
• Algebraic reconstruction (代数学的な再構築)
HRIC, CICSAM等の方法
計算精度そこまで高くない、アルゴリズム実装容易
計算が安定
代数学的に修正
幾何学的に
修正
34
interIsoFoamのtutorial例
Dambreak (interFoam) Dambreak (interIsoFoam)
VOF関数の拡散が大きい VOF関数の拡散が小さい
35
interIsoFoamに利用されるisoAdvector
isoAdvector
気液界面で構成される球面を計算
格子を横切る単一平面で表現
isoAdvectorの時間発展
青、緑、赤の順に時間発展
計算格子内の界面移動も表現可能
36
J. Roenby, H. Bredmose, H. Jasak, R. Soc. Open Sci. 3 (2016) 160405.
isoAdvectorの数値モデル導出
体積分率aの他にHという指標を導入
𝐻 𝒙, 𝑡 =
𝜌 𝒙, 𝑡 − 𝜌𝐵
𝜌𝐴 − 𝜌𝐵
Aなら𝐻 = 1
Bなら𝐻 = 0
連続式を考える
37
𝑑
𝑑𝑡 Ω
𝜌 𝒙, 𝑡 𝑑Ω = −
𝑆
𝜌 𝒙, 𝑡 𝒖 𝒙, 𝑡 𝑑𝑺
𝑑𝜌 𝒙, 𝑡
𝑑𝑡
+ ∇ ⋅ 𝜌 𝒙, 𝑡 𝒖 𝒙, 𝑡 = 0
有限体積法 (ガウスの発散定理利用)
𝜌: 密度
𝑡: 時間
𝒖: 速度
𝒙: 座標
Ω: 体積
𝑺: 面積ベクトル
Hで表現
𝑑
𝑑𝑡 Ω
𝐻 𝒙, 𝑡 𝑑Ω = −
𝑆
𝐻 𝒙, 𝑡 𝒖 𝒙, 𝑡 𝑑𝑺
isoAdvectorの数値モデル導出
計算格子セルにおける体積分率aは
38
𝑑
𝑑𝑡 Ω
𝐻 𝒙, 𝑡 𝑑Ω = −
𝑆
𝐻 𝒙, 𝑡 𝒖 𝒙, 𝑡 𝑑𝑺
𝛼 =
1
Ωcell Ωcell
𝐻 𝒙, 𝑡 𝑑Ω
𝛼で表現し時間に対して計算格子に対して離散化すると
𝛼 𝑡 + Δ𝑡 = 𝛼 𝑡 −
1
Ωcell
Σ𝑠𝑗
𝑡
𝑡+Δ𝑡
𝑆𝑗
𝐻 𝒙, 𝑡 𝒖 𝒙, 𝑡 𝑑𝑺 𝑑𝑡
Dtの間に計算セル面jにおける計算格子セルに流入する流体Aの体積をDVj(t,Dt)とおくと
Δ𝑉
𝑗 𝑡, Δ𝑡 =
𝑡
𝑡+Δ𝑡
𝑆𝑗
𝐻 𝒙, 𝑡 𝒖 𝒙, 𝑡 𝑑𝑺𝑑𝑡
𝜌: 密度
𝑡: 時間
𝒖: 速度
𝒙: 座標
Ω: 体積
𝑺: 面積ベクトル
𝑠: 符号関数
isoAdvectorの数値モデル導出
39
𝛼 𝑡 + Δ𝑡 = 𝛼 𝑡 −
1
Ω𝑐𝑒𝑙𝑙
Σ𝑗𝑠𝑗Δ𝑉
𝑗 𝑡, Δ𝑡
最終的に式変形すると
これをisoAdvectorで求めれば良い
Δ𝑉
𝑗 𝑡, Δ𝑡 =
𝑡
𝑡+Δ𝑡
𝑆𝑗
𝐻 𝒙, 𝑡 𝒖 𝒙, 𝑡 𝑑𝑺𝑑𝑡
=
𝜙𝑗 𝑡
𝑺𝑗 𝑡
𝑡+Δ𝑡
𝑆𝑗
𝐻 𝒙, 𝑡 𝑑𝑺𝑑𝑡 =
𝜙𝑗 𝑡
𝑺𝑗 𝑡
𝑡+Δ𝑡
𝐴𝑗 𝑡 𝑑𝑡
f: 体積流量
𝐴𝑗 𝑡 =
𝑆𝑗
𝐻 𝒙, 𝑡 𝑑𝑺 とおく
Ajは計算格子セル面における流体Aの埋め込み面積
このAjを逐次幾何学的に求めて計算する
VOF関数移動の計算精度
VOF関数を移動させた際の計算
40
J. Roenby, H. Bredmose, H. Jasak, R. Soc. Open Sci. 3 (2016) 160405.
VOF関数移動の計算精度
J. Roenby, H. Bredmose, H. Jasak, R. Soc. Open Sci. 3 (2016) 160405.
interIsoFoam(IsoAdvector)で計算する方が精度良く計算可能
interIsoFoam interFoam
41
interIsoFoamによるミルククラウンの実行例
注:公開ファイルの条件での計算、コンテストがあるため雑な計算条件にしています 42
YouTube
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
43
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
44
VOF関数の数値拡散
界面の拡散(誤差)
界面が拡散すると
• 表面張力が正確に計算できない
• 非物理的な界面形状
どのようにVOF関数の数値拡散を
低減するか?
45
VOF関数の数値拡散の低減方法
• 計算格子解像度
• Adaptive mesh refinement (AMR)
• Caの変更 (interFoam)
46
VOF関数の数値拡散の低減方法
計算格子解像度
粗い格子解像度 細かい格子解像度
気液界面を正確に計算するためには計算格子解像度が必要
(特に気液界面付近で) 47
VOF関数の数値拡散の低減方法
• 計算格子解像度
• Adaptive mesh refinement (AMR)
• Caの変更 (interFoam)
48
VOF関数の数値拡散の低減方法
AMR (Adaptive Mesh Refinement)
局所的に計算格子を切り直す方法
VOF法と一緒に利用することで、VOF関数の拡散を低減
interFoam, interIsoFoamで実行可能
八分木で計算格子を計算時間毎に分割
局所的に計算格子を細かくするので、
計算負荷があまり大きくならずに計算精度をあげることができる
49
VOF関数の数値拡散の低減方法:解析例
AMR (Adaptive Mesh Refinement)
格子局所分割を行っている
格子分割のおかげで界面の拡
散(誤差)が低下
注: 初期値の設定要注意
条件によっては計算が破綻 50
VOF関数の数値拡散の低減方法
• 計算格子解像度
• Adaptive mesh refinement (AMR)
• Caの変更 (interFoam)
51
VOF関数の数値拡散の低減方法(interFoam)
Caの変更
Ca = 1が標準値
Ca 大: 界面圧縮が強い
界面が圧縮されすぎて格子形状に沿ってガタガタする
Ca 小: 界面圧縮が弱い
VOF関数が拡散する
非物理的な気泡、液滴の分裂が発生しうる
後述のspurious currentが強くなり、誤差が大きくなる
流れが激しく、界面が拡散しやすく、
spurious currentの影響が小さい条件
流れが緩やかで、界面が拡散しにくく、
spurious currentの影響が大きい条件
52
VOF関数の数値拡散の低減方法:解析例
Caの変更
Ca = 0 Ca = 1 Ca = 2
Caが大きい方が拡散が低減
問題に応じてこの値を変更する必要あり
一般に、激しい気液界面振動の場合はCa大
(Ca大で非物理的な液面振動や気泡分裂も有り) 53
VOF関数の数値拡散の低減方法:解析例
圧縮オプションの変更
Ca = 1, ica = 0.5 Ca = 1 Ca = 1, sca = 1
等方的圧縮 剪断圧縮
あまり大きな差が見られない
問題に応じて利用する
54
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
55
Spurious (Parasitic) current
56
Spurious (Parasitic) current
界面張力項(CSFモデル)
J. U. Brackbill et al., J. Comp. Phys., 100, 335-354 (1992).
界面張力項はNavier-Stokes式に直接外力として加えるので、界
面上で界面張力のアンバランスな場所で速度が発生する
∇𝛼, 𝑘の計算で誤差大(界面張力のバランスが取れない)
spurious (parasitic) current 57
𝛿s =
1 × 10−8
𝑉
cell
1/3
𝑭σ = 𝜎𝑘𝒏𝛿 = 𝜎𝑘∇𝛼
𝒏 =
∇𝛼
|∇𝛼 + 𝛿𝑠|
, 𝛿 = ∇𝛼 , 𝑘 = ∇ ⋅ 𝒏
Spurious (Parasitic) current
Spurious currentのスケーリング
Lafaurie et al., J. Comput. Phys. 113 (1994) 134-147.
𝑅𝑒𝑠𝑝 ∝ 𝐿𝑎 Re: Reynolds数
La: Laplace数
usp: Spurious currentの速度
D: 代表長さ
𝜈: 動粘度
𝜌: 密度
𝜎: 表面張力
𝜇: 粘度
𝑅𝑒𝑠𝑝 =
𝑢𝑠𝑝𝐷
𝜈
𝐿𝑎 =
𝜎𝜌𝐷
𝜇2
𝑢𝑠𝑝 ∝
𝜎
𝜇
表面張力が大きく、粘度が小さい系ではspurious currentが大きくなる
大きさスケールによらないので、マイクロバブル等の小さい気泡を対象とする場合、
Spurious currentによって気泡が動いたりする
solverの改造をしなければまともに計算できないことも
58
Spurious current低減法
• スムーズ化したalpha分布より曲率等を計算する。
D. A. Hoang et al., Comput. Fluids, 86, 28-36 (2013).
• S-CLSVOF法を使い、Level-Set法と組み合わせる。
A. Albadawi et al., Int. J. Multiphase Flow, 53, 11-28 (2013).
• Caの値を解こうとする問題に合わせて調整する。
solverの改良が必要なものがほとんど
• その他多数の誤差低減方法が論文で報告されている
ので、それを自分で実装する。
59
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
60
Laplace圧の誤差
Laplace圧
2種の流体を分ける表面を横切るときに生ずる静水圧のジャンプDp
(表面張力の物理学 著 ドゥジェンヌ、ブロシャール−ヴィアール、ケレ 訳
奥村剛)
61
Dp = p0
in
- p¥
out p0
in
p¥
out
気泡中心部の圧力
壁境界での圧力
数値計算によるLaplace圧と理論値の比較
∆𝑝 = 𝜎
1
𝑅
+
1
𝑅′
Laplace圧の誤差
62
• 計算条件
Dp = p0
in
- p¥
out
p0
in
p¥
out
気泡中心部の圧力
壁境界での圧力
等間隔格子
DX = 0.001 m (Fine)
0.05 m
0.05
m
0.01 m
理論値のラプラス圧
物性値
𝜎 0.01 N/m
計算によるラプラス圧
rg 1 kg/m3
mg 10-5 kg/(ms)
rl 1000 kg/m3
ml 10-3 kg/(ms)
gas
liquid
無重力条件
(静置条件)
計算時間
0.1 sec.
(Dt = 1x10-5 sec. (Coarse))
(Dt = 5x10-6 sec. (Fine))
相対圧力誤差E0
E0 =
Dp-Dpexact
Dpexact
∆𝑝 = 𝜎
1
𝑅
+
1
𝑅′
= 2
Laplace圧の誤差
63
黒線(alpha = 0.5)
E0 = 19 %
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
64
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
65
ここから先
OpenFOAMを使ったことがあるけどそこまでわからない人
のレベルに合わせて話を進めます
今回の講習会は
“オープンCAEコンテスト2021への参加者を増やすための企画”
http://www.opencae.or.jp/activity/training/opencae_contest2021_training/
66
OpenFOAMのディレクトリ構成
$HOME/OpenFOAM
$WM_PROJECT_DIR
$WM_PROJECT_USER_DIR
run
platforms
applications
このディレクトリ内で作業する。
(USER_NAME-version)
基本的に書き換えない。
計算実行用ディレクトリ
バイナリ(実行)ファイル用ディレクトリ
$WM_PROJECT_USER_DIR (USER_NAME-version)
自作solver, utility用ディレクトリ
移動コマンド(alias)
run
ここに計算するケースディレクトリを置く
67
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
68
ケースディレクトリの構造
ケースディレクトリ
ケース名 (例:damBreak)
0
constant
system
U, alpha.water, alpha.water.orig, p_rgh
各種変数の初期条件、境界条件の設定ディレクトリ
物性値、乱流モデルの設定ディレクトリ
計算スキーム、ユーティリティー等の設定ディレクトリ
ケースディレクトリ内で計算を実行
Tutorialのmultiphase/interFoam/laminar/damBreakの設定を説明
69
0ディレクトリの構造
各種変数の初期条件、境界条件の設定用フォルダ
U
alpha.water
alpha.water.orig
p_rgh
速度
圧力
VOF関数
0
VOF関数(保存用)
後述するsetFieldsで変更されるため
計算実行時には読まない
70
境界条件
boundaryName
{
type fixedValue;
value uniform (*x *y *z);
}
• fixedValue 固定値(Dirichlet境界条件)
(x成分 y成分 z成分)
• zeroGradient
boundaryName
{
type zeroGradient;
}
境界条件指定
• empty
境界の法線方向に勾配ゼロ
boundaryName
{
type empty;
}
境界条件指定
二次元計算をする場合に、
使用しない方向に対する境界条件
71
境界条件
• inletOutlet
boundaryName
{
type inletOutlet;
value uniform (0 0 0);
inletValue uniform (0 0 0);
}
境界条件指定
外に出て行くときは勾配ゼロ
流入する場合は流入値を設定
計算値(初期条件は流入値と同じ)
流入するときの流入値
• fixedFluxPressure
boundaryName
{
type fixedFluxPressure;
rho rhok;
value uniform 0;
}
境界条件指定
速度境界で指定した流束になるよう
圧力修正する境界条件
参照する密度の変数
初期値
72
境界条件
• totalPressure
boundaryName
{
type totalPressure;
p0 uniform 0;
}
境界条件指定
全体の圧力を規定
自由流入出条件で利用
計算値(初期条件は流入値と同じ)
• pressureInletOutletVelocity
boundaryName
{
type pressureInletOutletVelocity;
value uniform (0 0 0);
}
境界条件指定
境界面圧力勾配に応じて境界流入、
流出速度を決める自由流入出条件
初期値
73
境界条件
• noSlip
boundaryName
{
type noSlip;
}
境界条件指定
滑りなし(壁面)条件
• constantAlphaContactAngle
boundaryName
{
type constantAlphaContactAngle;
theta0 45;
limit gradient;
value uniform 0;
}
境界条件指定
静的接触角を決定
alpha(VOF関数)に利用
初期値
接触角
制限の掛け方
74
境界条件
• dynamicAlphaContactAngle
boundaryName
{
type dynamicAlphaContactAngle;
uTheta 1;
theta0 90;
thetaA 70;
thetaR 110;
limit gradient;
value uniform 0;
}
境界条件指定
動的接触角を決定
alpha(VOF関数)に利用
前進角
速度スケール
平衡接触角
後退角
制限
初期値
• symmetry
boundaryName
{
type symmetry;
}
対称境界
境界条件指定
75
境界条件
境界 圧力 速度 VOF関数
壁面 fixedFluxPressure fixedValue
noSlip
zeroGradient
constantAlphaContactAngle
dynamicAlphaContactAngle
自由流入出
(大気解放)
totalPressure pressureInletOutlet
Velocity
inletOutlet
2次元面 empty empty empty
対称面 symmetry symmetry symmetry
76
constantディレクトリの構造
constant
turbulenceProperties
transportProperties
物性値、乱流モデルの設定用ディレクトリ
polyMesh 計算格子データの格納
乱流モデルの設定
物性値の設定
g 重力加速度の設定
中身は見ればわかるので省略
物性値や重力加速度の数値を変更する
77
constantディレクトリの構造
system 計算スキーム、条件、ユーティ
リティーの設定用ディレクトリ
controlDict
fvSchemes
fvSolution
解析の実行条件の設定
離散スキームの設定
時間解法やマトリックスソルバーの設定
blockMeshDict
decomposeParDict
setFieldsDict
blockMeshの設定
並列計算時の分割設定
初期alphaの空間分布設定
78
controlDict
application interFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 1;
deltaT 0.001;
writeControl adjustableRunTime;
writeInterval 0.05;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
maxCo 1;
maxAlphaCo 1;
maxDeltaT 1;
solver名
計算開始設定方法
計算開始時刻
計算終了設定方法
計算終了時刻
時間刻み幅
出力設定方法
出力間隔
計算結果を保存する数
出力フォーマット
出力桁数
出力ファイル圧縮の可否
時間の出力フォーマット設定
時間桁数
計算途中に計算条件を変えられるかどうかの可否
最大Courant数 (adjustableの場合有効)
最大Alpha Courant数 (adjustableの場合有効)
最大時間刻み (adjustableの場合有効) 79
controlDict
application interFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 1;
deltaT 0.001;
writeControl adjustableRunTime;
writeInterval 0.05;
solver名(必須ではなく、書かれなくても実行する)
計算開始設定方法(firstTime: 最初の(最も古い)時間ステップから/
startTime startTime:で設定した時刻から/latestTime: 最新データから開始)
計算開始時刻
計算終了設定方法(endTime/writeNow/noWriteNow/nextWrite)
計算終了時刻
時間刻み幅(
出力設定方法(timeStep: 時間刻み数指定/runTime: 解析上の時間指定
/adjustableRunTime: /cpuTime: cpu時間指定/clockTime: 現時刻指定)
出力間隔(writeControlに合わせた出力間隔を入力)
80
controlDict
計算結果を保存する数(0なら全て保存、1なら現在の最終出力のみ保存、
2なら最終出力とその前の出力を保存)
出力フォーマット(ascii: ASCII形式/binary: Binary形式)
出力桁数(計算データの6桁まで出力)
出力ファイル圧縮の可否(onなら出力データはgzipになる)
時間の出力フォーマット設定(例. fixed: 0.003/scientific: 0.0e-03/ general:
fixedとscientificを切り替え)
時間桁数(デフォルトでは6桁)
計算途中に計算条件を変えられるかどうかの可否
Courant数制御する場合の最大Courant数
Courant数制御する場合の最大Alpha Courant数
Courant数制御する場合の最大時間刻み
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
maxCo 1;
maxAlphaCo 1;
maxDeltaT 1; 81
fvSchemes
ddtSchemes
{
default Euler;
}
gradScheme
{
default Gauss linear;
}
divSchemes
{
div(rhoPhi,U) Gauss linearUpwind grad(U);
}
時間進行スキーム
スキームの選択
勾配スキーム
スキームの選択
発散スキーム(対流項)
スキームの選択
82
fvSchemes
laplacianSchemes
{
default Gauss linear orthogonal;
}
interpolationScheme
{
default linear;
}
snGradSchemes
{
default orthogonal;
}
ラプラシアンスキーム(粘性項、拡散項)
補間スキーム
セル面の法線方向勾配スキーム
スキームの選択
スキームの選択
スキームの選択
離散スキームの種類については下記参照
OpenFOAMユーザーガイド4章
OpenCAE学会 OpenFOAMによる熱移動と流れの数値解析 (森北出版) 83
fvSolution
solvers
{
"alpha.water.*"
{
nAlphaCorr 2;
nAlphaSubCycles 1;
cAlpha 1;
MULESCorr yes;
nLimiterIter 5;
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-8;
relTol 0;
}
…
各変数の代数方程式の解法、残差の決定
代数方程式の解法
スムーザー
残差(打ち切りの条件1)
初期残差に対する比(打ち切りの条件2)
(relTol = 0と置くとtolelanceのみで決まる)
VOF関数の保存方程式の修正回数
時間刻みを変更するサブサイクル回数
圧縮を決定するca値
(ESI版の場合icAlpha,scAlphaをここに加えれば
オプション利用可能)
MULESの修正
制限回数
84
fvSolution
PIMPLE
{
momentumPredictor no;
nOuterCorrectors 1;
nCorrectors 3;
nNonOrthogonalCorrectors 0;
}
relaxationFactors
{
equations
{
".*" 1;
}
}
PIMPLE法の設定
速度予測
外部反復回数
PIMPLE法の反復回数
追加的な反復計算回数設定
(非直交性の大きい計算格子を利用している場合に
この係数を大きくすると計算が安定)
PIMPLE法に利用する緩和係数
変数毎に記載
(1ならPISO法と同じになる)
0~1の間を設定する
85
blockMeshDict
86
scale 0.146;
vertices
(
(0 0 0)
(2 0 0)
(2.16438 0 0)
(4 0 0)
…
);
blocks
(
hex (0 1 5 4 12 13 17 16) (23 8 1) simpleGrading (1 1 1)
…
);
スケールを変更(今回はmmスケールに)
計算領域の頂点を設定
計算領域の大きさに応じて変更
順に0,1,2と名付けられる
頂点を取り囲むブロックを設定
上で名付けた頂点を選択し、分割数を記入
blockMeshDict
87
boundary
(
leftWall
{
type wall;
faces
(
(0 12 16 4)
(4 16 20 8)
);
}
境界面を設定
境界名
境界の種類
面を取り囲む4つの頂点を指定
詳細に関してはOpenFOAM user guide参照
decomposeParDict
88
numberOfSubdomains 4;
method simple;
coeffs
{
n (2 2 1);
}
並列分割数を決定
分割方法を決定
simple, scotch等さまざまなオプションがある
simpleを指定した場合には(x y z)方向の
それぞれの分割数を指定する
並列分割数と対応するようにする
並列計算を行わない場合は必要なし
setFieldsDict
89
defaultFieldValues
(
volScalarFieldValue alpha.water 0
);
regions
(
boxToCell
{
box (0 0 -1) (0.1461 0.292 1);
fieldValues
(
volScalarFieldValue alpha.water 1
);
}
);
全体のデフォルト値設定
直方体領域指定
値
直方体領域指定のオプション
他にも様々なオプションがある
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
90
ミルククラウン
91
ミルククラウンの形成条件
R.D. Deegan et al., Nonlinearity, 21 (2007) C1.
D: 衝突液滴直径
U: 衝突速度
r: 密度
n: 動粘度
s: 表面張力
m: 粘度
h: 液膜厚み
𝑅𝑒 =
𝐷𝑈
𝜈
, 𝑊𝑒 =
𝜌𝐷𝑈2
𝜎
, 𝑂ℎ =
𝜇
𝜎𝜌𝐷
1
2
, 𝐻 =
ℎ
𝐷 92
ミルククラウンの計算設定例
gitに設定ファイル公開
M. Rieber and A. Frohn, Int. J. Heat Fluid Flow, 20 (1999) 455-461.
以下の論文の条件に近くなるように設定
We = 250, Oh = 0.0014, Re = 11300, H = 0.116, rl/rg = 1000
Crown Splash & Microdroplet Splash領域
注:良い条件を選び、検証して計算をしてしまうとコンテストにならないので、
結果が正しいかどうかは保証せず、雑な計算条件にしています 93
ミルククラウンの計算設定例
h = 0.82 mm
D = 7.04 mm
U = 1.61 m/s
60 mm
60 mm
20 mm
液体物性:r = 1000 kgm-3, m = 1 x 10-3 Pas
気体物性: r = 1 kgm-3, m = 1 x 10-5 Pas
表面張力: 72.5 mN/m
94
ミルククラウンの計算設定例
計算負荷低減のため、
1/4領域のみを計算
対称(symmetry)境界条件を利用
95
ケースディレクトリ作成手順
1. チュートリアルのdamBreak等をコピー
2. 計算格子をblockMeshで作成
3. 境界条件を設定
4. 物性値等を設定
5. 計算条件、時間刻み、初期条件等を設定
ケース名 (例:damBreak)
0.orig
constant
system
各種変数の初期条件、境界条件の設定ディレクトリ
物性値、乱流モデルの設定ディレクトリ
計算スキーム、ユーティリティー等の設定ディレクトリ
2,5
3
4
96
blockMeshDictの設定
scale 1e-3;
vertices
(
( 0 0 0 ) //0
( 30 0 0 ) //1
( 30 30 0 ) //2
( 0 30 0 ) //3
( 0 0 20 ) //4
( 30 0 20 ) //5
( 30 30 20 ) //6
( 0 30 20 ) //7
);
blocks
(
hex (0 1 2 3 4 5 6 7) (210 210 140) simpleGrading (1 1 1)
);
スケールを変更(今回はmmスケールに)
計算領域の頂点を設定
計算領域の大きさに応じて変更
30 mm
30 mm
20 mm
(x, y, z方向の分割数)
マシンスペックに応じて変更 97
blockMeshDictの設定
boundary
(
front
{
type symmetry;
faces
(
(0 1 5 4)
);
}
…
)
境界面の設定
境界の種類に応じて変更
30 mm
30 mm
20 mm
98
境界条件(0.orig/変数の設定)
境界 圧力 速度 VOF関数
壁面 fixedFluxPressure fixedValue
noSlip
zeroGradient
constantAlphaContactAngle
dynamicAlphaContactAngle
自由流入出
(大気解放)
totalPressure pressureInletOutlet
Velocity
inletOutlet
対称面 symmetry symmetry symmetry
手前と左側境界: 対称面
上側:自由流入出
その他:壁面
設定方法は前slide参照
99
物性値の設定
phases (water air);
water
{
transportModel Newtonian;
nu 1e-06;
rho 1000;
}
air
{
transportModel Newtonian;
nu 1e-05;
rho 1;
}
sigma 0.0725;
constant/transportProperties
2相の名前を設定
物性のモデル
動粘度
密度
物性のモデル
動粘度
密度
表面張力
100
重力加速度、乱流モデルの設定
dimensions [0 1 -2 0 0 0 0];
value (0 0 -9.81);
constant/g
重力加速度の次元
値
constant/turbulenceProperties
simulationType laminar; 乱流モデル
laminar: 乱流モデルなし
LES: Large Eddy Simulationモデル
RAS: レイノルズ平均モデル
101
setFieldsDictの設定
system/setFieldsDict
defaultFieldValues
(
volScalarFieldValue alpha.water 0
volVectorFieldValue U (0 0 0)
);
regions
(
sphereToCell
{
centre (0 0 6e-3);
radius 3.52e-03;
fieldValues
(
volScalarFieldValue alpha.water 1
volVectorFieldValue U (0 0 -1.61)
);
}
boxToCell
{
box (0 0 0) (0.1 0.1 8.16e-4);
fieldValues
(
volScalarFieldValue alpha.water 1
);
}
);
全体のデフォルト値設定
液滴部設定
中心位置
半径
値
液膜部設定
直方体
領域指定
値
102
controlDictの設定
system/controlDict
103
startTime 0;
stopAt endTime;
endTime 4e-02;
deltaT 1e-05;
writeControl adjustableRunTime;
writeInterval 4e-04;
adjustTimeStep yes;
maxCo 0.5;
maxAlphaCo 1;
ミルククラウン形成に合わせて
出力間隔を決定する
Courant数制御
Courant数の設定
実行方法
$ blockMesh
$ setFields
$ decomposePar (並列計算する場合)
$ interFoam
($ mpirun -np * interFoam -parallel 並列計算する場合、*に並列数を記載)
計算終了後
$ reconstructPar (並列計算する場合)
$ paraFoam (可視化)
104
interFoam計算結果
計算格子: 210x210x140, 617.4万セル (1/4モデル)
CPU: AMD EPYC 7352 (24 core, 2.3 GHz)x2 48並列
メモリBW: 204.8 GB/s
計算時間: 8313 s (2.3 h)
a = 0.5 の等値面
105
YouTube
interFoam計算結果
a = 0.5 の等値面
106
YouTube
interIsoFoam計算結果
計算格子: 210x210x140, 617.4万セル (1/4モデル)
CPU: AMD EPYC 7352 (24 core, 2.3 GHz)x2 48並列
メモリBW: 204.8 GB/s
計算時間: 8270 s (2.3 h)
a = 0.5 の等値面
107
YouTube
interIsoFoam計算結果
a = 0.5 の等値面
108
YouTube
更なる計算精度改善方法
109
• VOF関数の数値拡散低減方法で説明した箇所
• interFoam (OpenFOAM Foundation版) (M)PLIC法
• その他solverの改造等
かなりの改善方法があります
是非コンテストまでに試してみてください
本日の内容
1. OpenFOAMによる気液2相流解析の基礎
2. OpenFOAMによる気液2相流解析の設定例
• OpenFOAMとは?
• OpenFOAMにおける気液混相流
 interFoamの数値モデル
 interIsoFoamの数値モデル
• VOF法における代表的な問題点
• damBreakケースの説明
• ミルククラウンの設定例
Q & A
 VOF関数の数値的な拡散
 Spurious current (Parasitic current)
 Laplace圧の誤差
110
ご質問があれば受け付けます
ミルククラウンコンテストへの積極的な参加を
お待ちしております
111
112
• Copyright © 2021 The Open CAE Society of Japan
• This work is licensed under a Creative Commons
• Attribution-NonCommercial 4.0 International License.
• http://creativecommons.org/licenses/by-nc/4.0/
113
114
補足資料
115
検証問題(Zalesak1979)
S. T. Zalesak, J. Comput. Phys. 31 (1979) 335-362.
100 cells
100
cells
一回転する間にどれほ
ど液相率が変化するか
を検証する 116
使用する速度場
x
y
 
 
5
.
0
314
5
.
0
314
















x
v
y
u


1 m
1 m
117
各種スキーム(interFoam)
PIMPLE
{
momentumPredictor no;
nCorrectors 3;
nNonOrthogonalCorrectors 0;
nAlphaCorr 1;
nAlphaSubCycles 1;
cAlpha 1;
pRefCell 0;
pRefValue 0;
}
ddtSchemes
default Euler;
gradSchemes
default Gauss linear;
divSchemes
div(rho*phi,U) Gauss limitedLinearV 1;
div(phi,alpha) Gauss vanLeer;
div(phirb,alpha) Gauss interfaceCompression;
div(nVecf) Gauss limitedLinearV 1;
laplacianSchemes
default Gauss linear corrected;
interpolationSchemes
default linear;
snGradSchemes
default corrected;
118
cAlphaによる変化(interFoam)
cAlpha = 0
cAlpha =1 cAlpha = 2
Initial Condition
119
検証問題(Zalesak1979)
200 cells
200
cells
一回転する間にどれほ
ど液相率が変化するか
を検証する 120
cAlphaによる変化(interFoam)
cAlpha = 0
cAlpha =1 cAlpha = 2
Initial Condition
121

More Related Content

What's hot

OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-Fumiya Nozaki
 
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方takuyayamamoto1800
 
OpenFoamの混相流solver interFoamのパラメータによる解の変化
OpenFoamの混相流solver interFoamのパラメータによる解の変化OpenFoamの混相流solver interFoamのパラメータによる解の変化
OpenFoamの混相流solver interFoamのパラメータによる解の変化takuyayamamoto1800
 
OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-
OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-
OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-Fumiya Nozaki
 
OpenFOAMにおけるDEM計算の力モデルの解読
OpenFOAMにおけるDEM計算の力モデルの解読OpenFOAMにおけるDEM計算の力モデルの解読
OpenFOAMにおけるDEM計算の力モデルの解読takuyayamamoto1800
 
OpenFOAM の境界条件をまとめよう!
OpenFOAM の境界条件をまとめよう!OpenFOAM の境界条件をまとめよう!
OpenFOAM の境界条件をまとめよう!Fumiya Nozaki
 
OpenFOAMのinterfoamによる誤差
OpenFOAMのinterfoamによる誤差OpenFOAMのinterfoamによる誤差
OpenFOAMのinterfoamによる誤差takuyayamamoto1800
 
OpenFOAMにおけるDEM計算の衝突モデルの解読
OpenFOAMにおけるDEM計算の衝突モデルの解読OpenFOAMにおけるDEM計算の衝突モデルの解読
OpenFOAMにおけるDEM計算の衝突モデルの解読takuyayamamoto1800
 
Paraviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力するParaviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力するtakuyayamamoto1800
 
ParaviewでのParticle Tracerを用いた可視化
ParaviewでのParticle Tracerを用いた可視化ParaviewでのParticle Tracerを用いた可視化
ParaviewでのParticle Tracerを用いた可視化takuyayamamoto1800
 
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件についてOpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件についてFumiya Nozaki
 
OpenFOAMソルバの実行時ベイズ最適化
OpenFOAMソルバの実行時ベイズ最適化OpenFOAMソルバの実行時ベイズ最適化
OpenFOAMソルバの実行時ベイズ最適化Masashi Imano
 
About multiphaseEulerFoam
About multiphaseEulerFoamAbout multiphaseEulerFoam
About multiphaseEulerFoam守淑 田村
 
OpenFOAMを用いた計算後の等高面データの取得方法
OpenFOAMを用いた計算後の等高面データの取得方法OpenFOAMを用いた計算後の等高面データの取得方法
OpenFOAMを用いた計算後の等高面データの取得方法takuyayamamoto1800
 
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』Fumiya Nozaki
 
PreCICE CHT with OpenFOAM and CalculiX
PreCICE CHT with OpenFOAM and CalculiXPreCICE CHT with OpenFOAM and CalculiX
PreCICE CHT with OpenFOAM and CalculiX守淑 田村
 
Mixer vessel by cfmesh
Mixer vessel by cfmeshMixer vessel by cfmesh
Mixer vessel by cfmeshEtsuji Nomura
 
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜Daisuke Matsubara
 

What's hot (20)

OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
 
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方
 
OpenFoamの混相流solver interFoamのパラメータによる解の変化
OpenFoamの混相流solver interFoamのパラメータによる解の変化OpenFoamの混相流solver interFoamのパラメータによる解の変化
OpenFoamの混相流solver interFoamのパラメータによる解の変化
 
OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-
OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-
OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)-
 
interFoamの検証
interFoamの検証interFoamの検証
interFoamの検証
 
OpenFOAMにおけるDEM計算の力モデルの解読
OpenFOAMにおけるDEM計算の力モデルの解読OpenFOAMにおけるDEM計算の力モデルの解読
OpenFOAMにおけるDEM計算の力モデルの解読
 
OpenFOAM の境界条件をまとめよう!
OpenFOAM の境界条件をまとめよう!OpenFOAM の境界条件をまとめよう!
OpenFOAM の境界条件をまとめよう!
 
OpenFOAMのinterfoamによる誤差
OpenFOAMのinterfoamによる誤差OpenFOAMのinterfoamによる誤差
OpenFOAMのinterfoamによる誤差
 
OpenFOAMにおけるDEM計算の衝突モデルの解読
OpenFOAMにおけるDEM計算の衝突モデルの解読OpenFOAMにおけるDEM計算の衝突モデルの解読
OpenFOAMにおけるDEM計算の衝突モデルの解読
 
Paraviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力するParaviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力する
 
rhoCentralFoam in OpenFOAM
rhoCentralFoam in OpenFOAMrhoCentralFoam in OpenFOAM
rhoCentralFoam in OpenFOAM
 
ParaviewでのParticle Tracerを用いた可視化
ParaviewでのParticle Tracerを用いた可視化ParaviewでのParticle Tracerを用いた可視化
ParaviewでのParticle Tracerを用いた可視化
 
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件についてOpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
 
OpenFOAMソルバの実行時ベイズ最適化
OpenFOAMソルバの実行時ベイズ最適化OpenFOAMソルバの実行時ベイズ最適化
OpenFOAMソルバの実行時ベイズ最適化
 
About multiphaseEulerFoam
About multiphaseEulerFoamAbout multiphaseEulerFoam
About multiphaseEulerFoam
 
OpenFOAMを用いた計算後の等高面データの取得方法
OpenFOAMを用いた計算後の等高面データの取得方法OpenFOAMを用いた計算後の等高面データの取得方法
OpenFOAMを用いた計算後の等高面データの取得方法
 
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
OpenFOAMのチュートリアルを作ってみた#1 『くさび油膜効果の計算』
 
PreCICE CHT with OpenFOAM and CalculiX
PreCICE CHT with OpenFOAM and CalculiXPreCICE CHT with OpenFOAM and CalculiX
PreCICE CHT with OpenFOAM and CalculiX
 
Mixer vessel by cfmesh
Mixer vessel by cfmeshMixer vessel by cfmesh
Mixer vessel by cfmesh
 
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜
桜の花の落ちるスピードは秒速5センチメートルか? 〜OpenFOAM編〜
 

Similar to OpenFOAMによる気液2相流解析の基礎と設定例

OpenCAEシンポジウム発表資料-OpenFOAMのVOF法における計算時間、計算誤差最小条件の探索
OpenCAEシンポジウム発表資料-OpenFOAMのVOF法における計算時間、計算誤差最小条件の探索OpenCAEシンポジウム発表資料-OpenFOAMのVOF法における計算時間、計算誤差最小条件の探索
OpenCAEシンポジウム発表資料-OpenFOAMのVOF法における計算時間、計算誤差最小条件の探索takuyayamamoto1800
 
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...T T
 
X tapp lecture_20140226
X tapp lecture_20140226X tapp lecture_20140226
X tapp lecture_20140226xTAPP
 
『劣モジュラ最適化と機械学習』 4章
『劣モジュラ最適化と機械学習』 4章『劣モジュラ最適化と機械学習』 4章
『劣モジュラ最適化と機械学習』 4章ayato shimada
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoderSho Tatsuno
 
第21回新生流体科学セミナー@宇宙航空研究開発機構(JAXA)
第21回新生流体科学セミナー@宇宙航空研究開発機構(JAXA)第21回新生流体科学セミナー@宇宙航空研究開発機構(JAXA)
第21回新生流体科学セミナー@宇宙航空研究開発機構(JAXA)Masahiro Kanazaki
 
Chao-Chen-(and-others)--DF-FEA-Paper1-(Japanese)
Chao-Chen-(and-others)--DF-FEA-Paper1-(Japanese)Chao-Chen-(and-others)--DF-FEA-Paper1-(Japanese)
Chao-Chen-(and-others)--DF-FEA-Paper1-(Japanese)Chao Chen
 
timeVaringMappedFixedValueについて
timeVaringMappedFixedValueについてtimeVaringMappedFixedValueについて
timeVaringMappedFixedValueについてDaisuke Matsubara
 
配管流路の多目的最適化OpenFOAM+OpenMDAO(第28回オープンCAE勉強会@関西)
配管流路の多目的最適化OpenFOAM+OpenMDAO(第28回オープンCAE勉強会@関西)配管流路の多目的最適化OpenFOAM+OpenMDAO(第28回オープンCAE勉強会@関西)
配管流路の多目的最適化OpenFOAM+OpenMDAO(第28回オープンCAE勉強会@関西)TatsuyaKatayama
 
トリムを考慮した小型翼胴融合型旅客機の翼型空力設計
トリムを考慮した小型翼胴融合型旅客機の翼型空力設計トリムを考慮した小型翼胴融合型旅客機の翼型空力設計
トリムを考慮した小型翼胴融合型旅客機の翼型空力設計Masahiro Kanazaki
 
Model seminar koba_and_student_100710_ch2
Model seminar koba_and_student_100710_ch2Model seminar koba_and_student_100710_ch2
Model seminar koba_and_student_100710_ch2Kazuya Nishina
 
ADVENTURE_Magnetic Ver.1.5.0の概要
ADVENTURE_Magnetic Ver.1.5.0の概要ADVENTURE_Magnetic Ver.1.5.0の概要
ADVENTURE_Magnetic Ver.1.5.0の概要ADVENTURE Project
 
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3Takashi Hoshino
 

Similar to OpenFOAMによる気液2相流解析の基礎と設定例 (17)

OpenCAEシンポジウム発表資料-OpenFOAMのVOF法における計算時間、計算誤差最小条件の探索
OpenCAEシンポジウム発表資料-OpenFOAMのVOF法における計算時間、計算誤差最小条件の探索OpenCAEシンポジウム発表資料-OpenFOAMのVOF法における計算時間、計算誤差最小条件の探索
OpenCAEシンポジウム発表資料-OpenFOAMのVOF法における計算時間、計算誤差最小条件の探索
 
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
 
X tapp lecture_20140226
X tapp lecture_20140226X tapp lecture_20140226
X tapp lecture_20140226
 
『劣モジュラ最適化と機械学習』 4章
『劣モジュラ最適化と機械学習』 4章『劣モジュラ最適化と機械学習』 4章
『劣モジュラ最適化と機械学習』 4章
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 
第21回新生流体科学セミナー@宇宙航空研究開発機構(JAXA)
第21回新生流体科学セミナー@宇宙航空研究開発機構(JAXA)第21回新生流体科学セミナー@宇宙航空研究開発機構(JAXA)
第21回新生流体科学セミナー@宇宙航空研究開発機構(JAXA)
 
Chao-Chen-(and-others)--DF-FEA-Paper1-(Japanese)
Chao-Chen-(and-others)--DF-FEA-Paper1-(Japanese)Chao-Chen-(and-others)--DF-FEA-Paper1-(Japanese)
Chao-Chen-(and-others)--DF-FEA-Paper1-(Japanese)
 
機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について
機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について
機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について
 
timeVaringMappedFixedValueについて
timeVaringMappedFixedValueについてtimeVaringMappedFixedValueについて
timeVaringMappedFixedValueについて
 
Chap. 6(nakagawa)
Chap. 6(nakagawa)Chap. 6(nakagawa)
Chap. 6(nakagawa)
 
配管流路の多目的最適化OpenFOAM+OpenMDAO(第28回オープンCAE勉強会@関西)
配管流路の多目的最適化OpenFOAM+OpenMDAO(第28回オープンCAE勉強会@関西)配管流路の多目的最適化OpenFOAM+OpenMDAO(第28回オープンCAE勉強会@関西)
配管流路の多目的最適化OpenFOAM+OpenMDAO(第28回オープンCAE勉強会@関西)
 
トリムを考慮した小型翼胴融合型旅客機の翼型空力設計
トリムを考慮した小型翼胴融合型旅客機の翼型空力設計トリムを考慮した小型翼胴融合型旅客機の翼型空力設計
トリムを考慮した小型翼胴融合型旅客機の翼型空力設計
 
Model seminar koba_and_student_100710_ch2
Model seminar koba_and_student_100710_ch2Model seminar koba_and_student_100710_ch2
Model seminar koba_and_student_100710_ch2
 
ADVENTURE_Magnetic Ver.1.5.0の概要
ADVENTURE_Magnetic Ver.1.5.0の概要ADVENTURE_Magnetic Ver.1.5.0の概要
ADVENTURE_Magnetic Ver.1.5.0の概要
 
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
 
multiDimAMR
multiDimAMRmultiDimAMR
multiDimAMR
 
Tokyo r #43
Tokyo r #43Tokyo r #43
Tokyo r #43
 

More from takuyayamamoto1800

OpenFOAM benchmark for EPYC server: cavity medium
OpenFOAM benchmark for EPYC server: cavity mediumOpenFOAM benchmark for EPYC server: cavity medium
OpenFOAM benchmark for EPYC server: cavity mediumtakuyayamamoto1800
 
OpenFOAM benchmark for EPYC server cavity flow small
OpenFOAM benchmark for EPYC server cavity flow smallOpenFOAM benchmark for EPYC server cavity flow small
OpenFOAM benchmark for EPYC server cavity flow smalltakuyayamamoto1800
 
OpenFOAM benchmark for EPYC server -Influence of coarsestLevelCorr in GAMG so...
OpenFOAM benchmark for EPYC server -Influence of coarsestLevelCorr in GAMG so...OpenFOAM benchmark for EPYC server -Influence of coarsestLevelCorr in GAMG so...
OpenFOAM benchmark for EPYC server -Influence of coarsestLevelCorr in GAMG so...takuyayamamoto1800
 
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読takuyayamamoto1800
 
How to get contour surface position by openfoam
How to get contour surface position by openfoamHow to get contour surface position by openfoam
How to get contour surface position by openfoamtakuyayamamoto1800
 
Estimation of numerical schemes in heat convection by OpenFOAM
Estimation of numerical schemes in heat convection by OpenFOAMEstimation of numerical schemes in heat convection by OpenFOAM
Estimation of numerical schemes in heat convection by OpenFOAMtakuyayamamoto1800
 
熱流体解析における離散スキームの評価
熱流体解析における離散スキームの評価熱流体解析における離散スキームの評価
熱流体解析における離散スキームの評価takuyayamamoto1800
 
Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)
Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)
Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)takuyayamamoto1800
 
OpenFOAMに実装したS-CLSVOF法検証(静止気泡のLaplace圧)
OpenFOAMに実装したS-CLSVOF法検証(静止気泡のLaplace圧)OpenFOAMに実装したS-CLSVOF法検証(静止気泡のLaplace圧)
OpenFOAMに実装したS-CLSVOF法検証(静止気泡のLaplace圧)takuyayamamoto1800
 

More from takuyayamamoto1800 (9)

OpenFOAM benchmark for EPYC server: cavity medium
OpenFOAM benchmark for EPYC server: cavity mediumOpenFOAM benchmark for EPYC server: cavity medium
OpenFOAM benchmark for EPYC server: cavity medium
 
OpenFOAM benchmark for EPYC server cavity flow small
OpenFOAM benchmark for EPYC server cavity flow smallOpenFOAM benchmark for EPYC server cavity flow small
OpenFOAM benchmark for EPYC server cavity flow small
 
OpenFOAM benchmark for EPYC server -Influence of coarsestLevelCorr in GAMG so...
OpenFOAM benchmark for EPYC server -Influence of coarsestLevelCorr in GAMG so...OpenFOAM benchmark for EPYC server -Influence of coarsestLevelCorr in GAMG so...
OpenFOAM benchmark for EPYC server -Influence of coarsestLevelCorr in GAMG so...
 
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
OpenFOAMのDEM解析のpatchInteractionModelクラスの解読
 
How to get contour surface position by openfoam
How to get contour surface position by openfoamHow to get contour surface position by openfoam
How to get contour surface position by openfoam
 
Estimation of numerical schemes in heat convection by OpenFOAM
Estimation of numerical schemes in heat convection by OpenFOAMEstimation of numerical schemes in heat convection by OpenFOAM
Estimation of numerical schemes in heat convection by OpenFOAM
 
熱流体解析における離散スキームの評価
熱流体解析における離散スキームの評価熱流体解析における離散スキームの評価
熱流体解析における離散スキームの評価
 
Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)
Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)
Setting and Usage of OpenFOAM multiphase solver (S-CLSVOF)
 
OpenFOAMに実装したS-CLSVOF法検証(静止気泡のLaplace圧)
OpenFOAMに実装したS-CLSVOF法検証(静止気泡のLaplace圧)OpenFOAMに実装したS-CLSVOF法検証(静止気泡のLaplace圧)
OpenFOAMに実装したS-CLSVOF法検証(静止気泡のLaplace圧)
 

OpenFOAMによる気液2相流解析の基礎と設定例