数値流体計算(2)動くようにはなったが・・・
5月1日の記事の続きです。(5月16日に記事を掲載したあと、回転させても水面が上がらない原因が判明したので、モデルと記事の内容を修正)
tutorials/multiphase/InterFoam/laminar/mixerVessel2Dをもとに、
5月1日に紹介した例題にあるように設定を変更する。(OpenFOAMがv2.1からv2.2になり、チュートリアルの構成が変更になりtutorials/multiphase/MRFInterFoam/mixerVessel2Dは存在しない)
このままではエラーが発生するので、少し調べました。
例えば、回転条件の設定の部分
constantのMRFZOneファイルがfvOptionに変更、記述方法も多少変更になりました。
実行はtutorials/multiphase/interFoam/laminar/MixerVessel2Dに付属のAllrunとMakeMeshを修正して作成し、ソルバーinterFoamを利用して実行
意図したとおりに計算できず、参考にした設定ファイルを再確認
constant/g z方向に-9.81設定
constant/polyMesh/blockMeshDictPipe-8.m
円管の長さ 5->2
長さの変換係数 ConvertToMetre 0.1 -> 1 に変更
constant/transportProperties
水の動粘性係数 1e-06に変更(元ファイルには1e-04とあり、OpenFormの日本語マニュアルには1e06とあり(タイプミス))
水と空気の粘性率sigma0.07に設定
実行可能であることを確認。
次にRASモデルを利用し、層流計算から乱流計算に変更
tutorials/multiphase/InterFoam/ras/damBreakから乱流計算のファイル
RASproperties をコピー
k をコピーし、wallsの設定を他のファイルと同じように変更
turbulenceProperties で SimulationType RASModel;に変更
エラーが出たので
fvSolusionの中の
PIMPLEに
pRefCell 0;
pRefValue 0;
の設定追加
OpenFOAMチュートリアルドキュメント作成プロジェクト ふうに基本情報をまとめました。
multiphaseInterFoam:3D回転円管の混相流
基本情報
Solver | multiphaseInterFoam |
Case | mixerVessel2D(/tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D)をもとにmixerVessel3Dを作成 |
Version | 2.3.1 |
Kerword | 非定常,混相流, VOF, MRF, 層流 or 乱流 |
変数 | alpha[], U[m/s], p_rgh[kg/m/s^2] を各相(air, mercury, oil, water)毎に計算 |
定数 | constant/g
g=0 [m/s^2] constant/transportProperties にて、各相の nu, rho を定義 nu.water=1e-6, nu.oil=1e-6, nu.mercury=1.125e-7,nu.air=1.48e-5 [m^2/s] rho.water=1000,rho.oil=500, rho.mercury=13529, rho.air=1 [kg/m^3] constant/fvOption にて、回転条件を設定 origin (0 0 0); // 回転中心 axis (0 0 1); // 回転軸 omega constant 10.5; // 回転角速度 rad/s |
基礎方程式 | |
コメント | ・メッシュは、Moguraさんの円管メッシュ作成m4スクリプトを使って作成している。半径0.5m、高さ2mの円筒、円管の長手方向をz軸に設定
・setFieldDictによって初期水面の高さを1mに設定している。 ・topoSetによって回転領域を定義している。 ・Ver 2.3.0 までは、MRFMultipahseInterFoam というMRF計算専用のソルバーを使う必要があったが、Ver 2.3.1 からは、通常のmultiphaseInterFoamソルバーにて、constant/fvOption を使って計算できるようになった。 ・下記例題では、高さ1mまでwaterを充填してz軸周りに回転する計算を実施 |
ここまでの結果が以下になります。
paraViewのスクリーンショットコピー機能で画像を保存しました。
200s後のalpha.waterの状態(赤い部分が水)
200s後の(-0.5, 0, 1)-(0.5, 0, 1)のラインの水の相比率
相比率(この場合水と空気)の変化から、回転軸から離れた壁面では1mの高さには水があり(水の比率が1に近い)、中心付近では水面が下がり1mの高さではほとんど水がない(水の比率が0に近い)様子がわかります。
回転角速度21rad/sの最初の10sのアニメーション
次はこのモデルを利用して、円筒容器内で回転する水の振動現象と履歴現象,ながれ30(2011)455-458の現象を再現してみようと思います。
さらにその次は、温度場計算モデルを加え、円筒容器表面の温度差による熱対流をモデル化する予定です。
スペースコロニー・アイランド3の大気循環解析までには、まだまだモデル設定や計算方法について勉強が必要です。