SlideShare a Scribd company logo
OpenFOAMによる
ミルククラウンの
シミュレーション
日本アムスコ
きっかけ
• 5年前に行われたミルククラウンの実験・
シミュレーション(OpenFOAM)
突起出ず壁に穴あき
計算結果 理想的な形状
以前行われたシミュレーションでは
きれいなミルククラウンにならなかった
目的
5年経ち、ソフト・ハードの性能が向上
CAE環境にも変化が
様々な計算資源を活用し
きれいな形状のミルククラウンを作る
課題①
以前よりもメッシュを細かくした試計算を実施
しかし、形状が不自然
よりきれいな形状にするには
パラメーターの調整が必要
試計算結果
飛散し過ぎ高さ不足
理想的な形状
課題②
初期条件・物性値・計算スキームなど
調整すべきパラメーターは多数
パラメーターの調整に時間がかかりすぎる
(1/4モデルでも1条件に3日かかる)
計算の高速化が必要
シミュレーションの進め方
1. 計算領域・メッシュ最適化
2. FOCUSスパコンの活用
3. GPUの活用
まず課題②の計算の高速化(下記)を行い
その後、課題①のパラメーター調整を行う
計算高速化対策
計算高速化対策1(計算領域・メッシュ最適化)
時間の進行に伴い、現象の大きさに応じて
計算領域・メッシュサイズを適宜調整
メッシュは二段階
(界面付近は周囲の1/4サイズ)
のアダプティブメッシュを使用
計算序盤
計算領域:小 メッシュサイズ:小
計算終盤
計算領域:大 メッシュサイズ:大
計算高速化対策2(FOCUSスパコンの活用)
公益財団法人 計算科学振興財団の
FOCUSスパコンの活用
• 12CPUの並列計算を行うことで35%の高速化を実現
• FOCUSではメモリが多いのも利点
• 実際の計算では、利用は有料のためフルモデル計算の一部に活用
ベンチマークに用いたミルククラウン計算
(約10,000,000メッシュ)
メモリ32GB メモリ64GB
計算高速化対策3(GPUの活用(1/2))
OpenFOAMでのGPUの活用
処理に時間のかかる
「③線形ソルバー」を
自作のGPUコードに挿し替え
計算のながれ
main{
AX = b
}
CPU用コード
挿し替え
③線形ソルバー
(連立方程式の求解)
①入力値読込 ②式の組立 ④値の更新 ⑤結果の出力
自宅PC
3.5GHz×4CPU
(GAMGソルバー)
自宅PC
CPU+GPU
(Geforce970)
計算時間
33%短縮
• 線形ソルバーは高速化したが、その他CPUの処理(メッシュ生成・
気液界面の計算)が多く効果は限定的、計算全体では33%の高速化
• 実際の計算では、1/4モデルのパラメータ調整に活用
GPU線形ソルバーを用いて計算時間を測定
ベンチマークに用いたミルククラウン計算
(約10,000,000メッシュ)
計算高速化対策3(GPUの活用(2/2))
線形
ソルバー
その他処理
(CPU)
CPU
GPU
パラメータ調整の実施(1/3)
突起を形成するには?
• OpenFOAMバージョン→2.3.0以降
(界面の計算方法が改良されている)
• メッシュサイズ→40μm以下
(十分細かくしないと突起が形成されない)
ある程度計算は高速化したのでパラメータ調整に移行…
パラメータ調整の実施(2/3)
高い形状にするには?
• 初期水面→低く
• 表面張力→小さく
• 水滴初速→速く
• 水滴大きさ→大きく
パラメータ調整の実施(3/3)
穴が開かないようにするには?
• メッシュ→細かく
• 界面の鮮明化係数→小さく
• クラウン高さ→低く
薄い膜に穴が
開くことがある
ミルククラウンの完成・ポスト処理
界面形状を抽出し
オープンソースソフトPOV-Ray
によるレンダリングを実施
POV-Rayによるレンダリング
完成したミルククラウン
まとめ
• きれいなミルククラウンをシミュレーションで
作ることができた
• 物性値が現実の値と異なるため、完全再現
とは言えない
• FOCUSやGPUの利用は比較的容易、しかし
どの程度高速化するかは計算内容に依る

More Related Content

What's hot

ParaviewでのParticle Tracerを用いた可視化
ParaviewでのParticle Tracerを用いた可視化ParaviewでのParticle Tracerを用いた可視化
ParaviewでのParticle Tracerを用いた可視化
takuyayamamoto1800
 
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
Fumiya Nozaki
 
OpenFoamの混相流solver interFoamのパラメータによる解の変化
OpenFoamの混相流solver interFoamのパラメータによる解の変化OpenFoamの混相流solver interFoamのパラメータによる解の変化
OpenFoamの混相流solver interFoamのパラメータによる解の変化takuyayamamoto1800
 
OpenFOAM を用いた Adjoint 形状最適化事例1
OpenFOAM を用いた Adjoint 形状最適化事例1OpenFOAM を用いた Adjoint 形状最適化事例1
OpenFOAM を用いた Adjoint 形状最適化事例1
Fumiya Nozaki
 
OpenFOAMにおける相変化解析
OpenFOAMにおける相変化解析OpenFOAMにおける相変化解析
OpenFOAMにおける相変化解析
takuyayamamoto1800
 
Turbulence Models in OpenFOAM
Turbulence Models in OpenFOAMTurbulence Models in OpenFOAM
Turbulence Models in OpenFOAM
Fumiya Nozaki
 
Mixer vessel by cfmesh
Mixer vessel by cfmeshMixer vessel by cfmesh
Mixer vessel by cfmesh
Etsuji Nomura
 
スーパーコンピューターとクラウドでのOpenFOAM性能・費用ベンチマークテスト
スーパーコンピューターとクラウドでのOpenFOAM性能・費用ベンチマークテストスーパーコンピューターとクラウドでのOpenFOAM性能・費用ベンチマークテスト
スーパーコンピューターとクラウドでのOpenFOAM性能・費用ベンチマークテスト
Masanori Sumitomo
 
OpenFOAMソルバの実行時ベイズ最適化
OpenFOAMソルバの実行時ベイズ最適化OpenFOAMソルバの実行時ベイズ最適化
OpenFOAMソルバの実行時ベイズ最適化
Masashi Imano
 
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件についてOpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件についてFumiya Nozaki
 
OpenFOAM の境界条件をまとめよう!
OpenFOAM の境界条件をまとめよう!OpenFOAM の境界条件をまとめよう!
OpenFOAM の境界条件をまとめよう!Fumiya Nozaki
 
流体解析入門者向け超初級講習会@関東 修正版
流体解析入門者向け超初級講習会@関東 修正版流体解析入門者向け超初級講習会@関東 修正版
流体解析入門者向け超初級講習会@関東 修正版
Masashi Imano
 
OpenFOAM LES乱流モデルカスタマイズ
OpenFOAM LES乱流モデルカスタマイズOpenFOAM LES乱流モデルカスタマイズ
OpenFOAM LES乱流モデルカスタマイズ
mmer547
 
multiDimAMR
multiDimAMRmultiDimAMR
multiDimAMR
守淑 田村
 
OpenFOAMの壁関数
OpenFOAMの壁関数OpenFOAMの壁関数
OpenFOAMの壁関数
Fumiya Nozaki
 
Paraviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力するParaviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力する
takuyayamamoto1800
 
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
 
Boundary Conditions in OpenFOAM
Boundary Conditions in OpenFOAMBoundary Conditions in OpenFOAM
Boundary Conditions in OpenFOAM
Fumiya Nozaki
 

What's hot (20)

ParaviewでのParticle Tracerを用いた可視化
ParaviewでのParticle Tracerを用いた可視化ParaviewでのParticle Tracerを用いた可視化
ParaviewでのParticle Tracerを用いた可視化
 
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』
 
OpenFoamの混相流solver interFoamのパラメータによる解の変化
OpenFoamの混相流solver interFoamのパラメータによる解の変化OpenFoamの混相流solver interFoamのパラメータによる解の変化
OpenFoamの混相流solver interFoamのパラメータによる解の変化
 
OpenFOAM を用いた Adjoint 形状最適化事例1
OpenFOAM を用いた Adjoint 形状最適化事例1OpenFOAM を用いた Adjoint 形状最適化事例1
OpenFOAM を用いた Adjoint 形状最適化事例1
 
OpenFOAMにおける相変化解析
OpenFOAMにおける相変化解析OpenFOAMにおける相変化解析
OpenFOAMにおける相変化解析
 
Mesh dexcs
Mesh dexcsMesh dexcs
Mesh dexcs
 
Turbulence Models in OpenFOAM
Turbulence Models in OpenFOAMTurbulence Models in OpenFOAM
Turbulence Models in OpenFOAM
 
Mixer vessel by cfmesh
Mixer vessel by cfmeshMixer vessel by cfmesh
Mixer vessel by cfmesh
 
スーパーコンピューターとクラウドでのOpenFOAM性能・費用ベンチマークテスト
スーパーコンピューターとクラウドでのOpenFOAM性能・費用ベンチマークテストスーパーコンピューターとクラウドでのOpenFOAM性能・費用ベンチマークテスト
スーパーコンピューターとクラウドでのOpenFOAM性能・費用ベンチマークテスト
 
OpenFOAMソルバの実行時ベイズ最適化
OpenFOAMソルバの実行時ベイズ最適化OpenFOAMソルバの実行時ベイズ最適化
OpenFOAMソルバの実行時ベイズ最適化
 
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件についてOpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
OpenFOAM の cyclic、cyclicAMI、cyclicACMI 条件について
 
OpenFOAM の境界条件をまとめよう!
OpenFOAM の境界条件をまとめよう!OpenFOAM の境界条件をまとめよう!
OpenFOAM の境界条件をまとめよう!
 
流体解析入門者向け超初級講習会@関東 修正版
流体解析入門者向け超初級講習会@関東 修正版流体解析入門者向け超初級講習会@関東 修正版
流体解析入門者向け超初級講習会@関東 修正版
 
OpenFOAM LES乱流モデルカスタマイズ
OpenFOAM LES乱流モデルカスタマイズOpenFOAM LES乱流モデルカスタマイズ
OpenFOAM LES乱流モデルカスタマイズ
 
multiDimAMR
multiDimAMRmultiDimAMR
multiDimAMR
 
OpenFOAMの壁関数
OpenFOAMの壁関数OpenFOAMの壁関数
OpenFOAMの壁関数
 
Paraviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力するParaviewの等高面を綺麗に出力する
Paraviewの等高面を綺麗に出力する
 
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)-
 
interFoamの検証
interFoamの検証interFoamの検証
interFoamの検証
 
Boundary Conditions in OpenFOAM
Boundary Conditions in OpenFOAMBoundary Conditions in OpenFOAM
Boundary Conditions in OpenFOAM
 

OpenFOAMによるミルククラウンのシミュレーション