いきなりOpenFOAM (57)

回転する攪拌槽内の液体

解析モデルとメッシュ作成

 今回は、メッシュ移動機能を用いて、回転する撹拌槽内の液体の挙動をOpenFOAMで解析してみます。具体的には、図1に示す撹拌槽が毎秒1回転する場合の撹拌槽内の液体の挙動を解析します。解析ファイルはtestTubeMixerのファイルを流用します。今回はXSimでメッシュを生成するため、testTubeMixerのsystemフォルダ内のblockMeshDictファイルは不要です。
 始めに、3次元CADで撹拌槽のモデルを作成します。今回は図1のように、直径500mm、厚さ250mmの円筒形状で、内部には長さ100mmの撹拌用の翼を内周3か所に設けています。また、撹拌槽は水平から30度傾いた状態で回転するものとします。解析モデルをtestTubeMixerのUファイル領域名と同じwallsという名称でstlファイルを出力します。

図1 モデル形状・寸法

 ブラウザでXSimに接続し、先ほど出力したstlファイルをインポートし、スケールを変更します。次に、メッシュ設定では、図2に示すように、目標ベースメッシュ数をデフォルト設定より2桁ほど大きくします。また、領域wallsにデフォルト設定で境界層を設けます。エクスポートで解析ファイルを出力、展開した後、端末からコマンド./Allrun –mでメッシュを生成します。

図2 メッシュ設定
ファイルの修正

 今回はtestTubeMixerのファイルを流用しますので、testTubeMixerフォルダのconstantフォルダ内に生成されたpolymeshフォルダを移動します。次に、systemフォルダ内のsetFieldsDictファイルを修正します。今回は、図3に示すように、撹拌槽の中心を原点として、z軸方向に-1mから-0.2mまでalpha.waterが1となるようにします。これで撹拌槽内部空間と交錯する領域に液体が設定されますが、液体の体積については、あらかじめCADでz=-0.2の平面で撹拌槽を切断し下側の空間の体積から求める必要があります。任意の液体体積を設定したい場合は、設定したい体積に相当するように直方体の領域を撹拌槽内に設定すれば、解析開始と同時に落下し、撹拌槽内に広がります。ただし、落下と拡散の影響が収まるまでの十分な時間を設定する必要があります。今回は、OpenFOAMの練習を兼ねているため、解析時間が短く、設定が容易な前者の方法を採用しました。setFieldsDictファイル設定については、いきなりOpenFOAM第45回を参照してください。

図3 setFieldsDictファイルの修正

 次に、constantフォルダ内のdynamicMeshDictファイルを修正します。回転運動なので、図4に示すように、solidBodyMotionFunctionはaxisRotationMotionにします。水平から斜め30度傾いた軸周りに毎秒1回転なので、radialVelocityは(0 360*cos(π/6) 360*sin(π/6))となります。回転速度は、揺動や周期のラジアン単位とは異なり、度単位となることに注意してください。dynamicMeshDictファイルについては、いきなりOpenFOAM第54回を参照してください。
 また、controlDictファイルも図5に示すように、回転開始から1秒間だけ計算し、0.01秒ごとに結果を出力するように修正します。結果ファイルの出力間隔は、回転中の位置が特定の箇所だけにならないように回転速度や撹拌槽の形状を基に決定してください。

図4 dynamicMeshDictファイルの修正
図5 controlDictファイルの修正

 今回は、密閉容器内の解析のため、圧力参照点と基準圧力を指定する必要があります。圧力参照点と基準圧力はsystemフォルダ内のfvSolutionファイルのPIMPLEにあります。圧力参照点pRePointの座標が撹拌槽内にある場合は、このままでかまいません。設定方法については、前回のいきなりOpenFOAM第56回を参考にしてください。

 解析用ファイルを上書き保存後、端末でsetFields、interFoamの順にコマンドを入力すると、計算が始まります。

結果の可視化

 計算が終了したら、paraFoamと入力し、Paraviewを起動して結果を可視化します。図6は回転開始時の液面を表示したものです。また、図7は回転開始から0.5秒後の液面を表示したものです。図8は液面形状の変化を動画にしたものです。液体が撹拌槽の回転に伴い、撹拌され、一部は飛散する様子がわかります。

図6 液面形状(回転開始時)
図7 液面形状(回転開始から0.5秒後)
図8 液面形状の変化(アニメーション)

 今回、攪拌槽内の液体はデフォルト設定の水としましたが、任意の液体で解析する場合は、constantフォルダ内のtransportPropertiesファイルのwater側の動粘性係数nuと密度rhoを解析したい液体の値に設定します。詳しくは、いきなりOpenFOAM第53回を参照してください。
 次回から、地震によるタンク内のスロッシング現象をOpenFOAMで解析してみます。ただし、地震現象は震度という一種の加速度で表すことに対して、OpenFOAMのメッシュ移動機能では変位で設定します。そこで次回は震度についての説明と、加速度から変位への変換について説明します。

 このページでは、各アプリケーションの操作説明は省略しています。FreeCADの具体的な操作については、いきなりOpenFOAM第5回および第7回、OpenFOAMでの計算実行は第8回、ParaViewの操作については第3回第4回および第8回を参考にしてみてください。

おことわり
 本コンテンツの動作や表示はお使いのバージョンにより異なる場合があります。
 本コンテンツの動作ならびに設定項目等に関する個別の情報提供およびサポートはできかねますので、あらかじめご了承ください。
 本コンテンツは動作および結果の保証をするものではありません。ご利用に際してはご自身の判断でお使いいただきますよう、お願いいたします。