いきなりOpenFOAM (42)
ボトルへの注水(その1)
解析モデルとXSimでのメッシュ設定
今回は自由表面解析の応用例として、ボトルへの注水をOpenFOAMで解析してみます。モデルは図1に示すように、直径100mm、高さ350mmで、直径10mmのノズルから水が10-4m3/sでボトル内に供給されます。
解析モデルを面要素に分割し、ノズル底面をinlet、ノズルとボトルとの隙間をoutlet、ボトル内面をwallsとしてSTLファイルを出力します。
次に、XSimでSTLファイルのインポートとスケール変更を行います。メッシュ設定は、目標ベースメッシュ数を一桁大きくし、図2に示すような円筒状の再分割領域を設定します。領域wallsに境界層をデフォルト設定で設定します。
解析ファイルをエクスポートと展開し、端末から./Allrun –mと入力し、メッシュ分割を行います。端末でparaFoamと入力して、ParaViewを起動すると、生成されたメッシュを確認できます。
ひな型を利用した境界条件の設定
次に、ひな型のファイルを修正します。(ひな形の利用については、いきなりOpenFOAM第35回と第36回を参照してください)
constantフォルダ内に、生成されたpolyMeshフォルダを移動します。続いて、Uファイル、alpha.water.origファイル、controlDictファイルの3つを図3、図4、図5に示すように修正します。
controlDictファイルの時間刻みdeltaTはクーラン条件を満足するように設定します。適当な時間刻みで、短い時間の解析を行って、端末に表示されるクーラン数をもとに調整すると確実です。また、短い時間の解析結果をParaViewで読込み、水面を表示させて問題なく表示されるかの確認も必要です。メッシュが粗いと水面が表示されなくなります(VOF法ではメッシュ内のVOF関数値をもとに等値面を作成しますが、メッシュが粗いとVOF関数値が平均化され、境界が区別できない場合があります)。その場合は、XSimで再度メッシュ分割の設定とメッシュ生成を行ってください。
計算実行とParaViewによる可視化
端末で、interFoamと入力すると、計算が始まります。
計算が完了したら、paraFoamと入力し、ParaViewを起動します。等値面でalphaが0.5の面を表示させると図6に示す水面形状が得られます。水面の表示方法については、いきなりOpenFOAM第34回を参照してください。
File→saveAnimationとして、各時間の水面形状を保存した後、端末でconvertコマンドを用いることで、図7に示す動画を作成できます。詳しくは、いきなりOpenFOAM第34回を参照してください。
図6および図7の動画を見ると、ノズルから注入された水はボトル内の水面に達すると、空気を巻き込みながら、ボトル底部へと流れることがわかります。
水面形状をSTLファイルとして取り出し、ボトルへの注水のCG画像を作成してみます。ParaViewで水面形状のみを表示させ、file→saveDataとして拡張子STLを選択して保存します。CADで適当なボトルとノズルを作成し、先ほど保存したSTLファイルとボトルのモデルをCGソフトで読込み、スケール変更(OpenFOAMから出力されたSTLファイルのスケールはm)や材質の設定などを行うと、図8に示すような画像が得られます。現実の様子とは異なって見えるのは、水の体積部分がないためで、本格的なCG作成では、このあたりの処理作業も行います。
今回はボトルへの注水を解析し、空気が巻き込まれる現象を把握しました。次回は、ボトル底部の形状を変えて、空気の巻き込みの様子が変化するかを比較してみます。
このページでは、各アプリケーションの操作説明は省略しています。FreeCADの具体的な操作については、いきなりOpenFOAM第5回および第7回、OpenFOAMでの計算実行は第8回、ParaViewの操作については第3回、第4回および第8回を参考にしてみてください。
おことわり
本コンテンツの動作や表示はお使いのバージョンにより異なる場合があります。
本コンテンツの動作ならびに設定項目等に関する個別の情報提供およびサポートはできかねますので、あらかじめご了承ください。
本コンテンツは動作および結果の保証をするものではありません。ご利用に際してはご自身の判断でお使いいただきますよう、お願いいたします。