・第4回 横からガスを吹いてみよう
続いて,この解析の目的から欠かすことの出来ない,アシストガスを系に導入する.ベースにしたのは第2回(2)のケースで,カーフから見て進行方向後ろ,下側にINPUTパッチを作ってみた.
(1)ガスと水が同時にスタートするケース
まずは単純に,INPUTパッチからt=0からガスが流れ出すという条件で計算を行った.ガスは体積流量でなく流速で与える.
解析領域 | 0.03×0.015×0.02[m] |
メッシュ | 30×15×20 |
Light fluid(気体) | 空気(@20℃) |
Heavy fluid(液体) | 水(@20℃) |
境界条件 | 下面のみ流出境界 ガス流入境界(紫) |
ガス流入条件 | 流速規定:x=-1.0m/s,z=1m/s |
重力 | -z,9.8m/s^2 |
スラブ(灰色のオブジェクト) | アルミニウム |
液体(茶色のオブジェクト) | 初期条件として設定 |
計算結果は下の様になった.上はSURN,下は速度ベクトルの時間変化を表している.ここで,「速度」は液体,気体を区別せず表示する仕様になっている.
計算としては上手くいったが,この方法では致命的に問題であることも同時にわかる.0.2秒までの計算で,ガスがカーフに届いていない!!ガスが充分カーフに届いてから水をスタートさせるのでは計算に時間が掛かってしょうがない.
(1)はじめからガスが流れているケース
こういう場合は,はじめにガスが定常状態で流れているところに水がスタートするような計算を行えば良い.Phoenicsは,PHIファイルを初期条件として使う機能があるので,これを使ってみよう.まず,上のq1ファイルを少々変更する.変更点は,ガスがノズルから自由空間に定常的に流れる様子を正しく模擬できるように,手前側を除く全ての面を流出境界とすることだ.経験的に,流入境界と流出境界を張り合わせると大変なことになることがわかっているので,ダミーのブロックを一つ定義して流入境界と流出境界の間に入れる.
計算条件を「Steady」に変える方法は以下の通り.
そして,忘れてはいけないのがq1ファイルの編集.VR Editorをいったん終了させたらq1ファイルを開き,以下の様に「LG(1)=T」の1行を最後に付け加える.この意味は,「Parallel計算において,各nodeの一時的PHIファイルを保持しなさい」ということである.これをしないと,マルチノードではPHIファイルを初期条件として使えない.
> OBJ, PRESSURE, 0.000000E+00
> OBJ, TEMPERATURE, SAME
> OBJ, COEFFICIENT, 1.000000E+03
> OBJ, VELOCITY, SAME , SAME , SAME
STOP
LG(1)=T
更にややこしいのは,もう一度VR Editorを開かなくてはならないということだ.これは,実際にソルバが参照するのはq1ファイルではなく,q1を元にVR Editorが作る様々なファイルであるためで,VR Editorは終了時,または明示的にSave working filesを行うときにこれらのファイルを作る.q1に相当する情報はq1earに入っているが,そんなことを知っている必要はない.
LG(1)=Tを指定したq1ファイルを使うと,PHIファイルと同じフォルダにPHI001というファイルができる.これと同じものが,他のnodeにも作られ,PHIファイルを初期条件とする場合は実際にはこれらのファイルが参照される.
で,出来たのがこのケース.
q1ファイル
計算結果.ガスは完全にカーフまで届いている.計算は,この状態で定常状態になり収束した.
つぎに,出来たPHIファイルを初期条件として,非定常解析を行う.念のため,今の計算結果を別のフォルダにバックアップして,q1ファイルを編集する.まず,水の流入境界を再定義,定常解析にするために行った変更を全て元に戻す.そして,初期条件設定を「Restart
for all variables」にセット.
q1ファイル
計算結果.期待通り,液体は,ガスによってカーフ前方に飛ばされている.これで,必要な道具は全て揃ったというわけだ.
・まとめ
03/09/05追記 液体の流入境界を流速に変更し,上と同じ解析をVer. 3.5 single node版で実行.全く同じ結果を得た.
実時間解析のq1ファイル(3.5 single版)
図は,y-y平面,スラブのすぐ下の面で見た液体の動きである.計算はVer. 3.5 single版で行った.