いきなりOpenFOAM (59)

スロッシング現象(その2)

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

 今回は、任意の形状のタンクに震度5強相当の振動を与えた場合のスロッシング現象をOpenFOAMで解析してみます。
 解析モデルは図1に示す、長さ1000mm、幅300mm、高さ700mmの直方体で、容積の半分、すなわち、高さ350mmまで水が入っているとします。任意の液体で解析を行う場合は、constantフォルダ内のtransportPropertiesファイルのwater側の動粘性係数nuと密度rhoをその液体の値に修正してください。

図1 モデル形状・寸法

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

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

 解析用ファイルは、いきなりOpenFOAM第56回の揺れるフラスコ内の液体用の解析ファイルを流用します。流用した解析フォルダのconstantフォルダ内に生成されたpolymeshフォルダを移動します(コピーペーストした解析フォルダ内の結果ファイルやpolymeshフォルダはあらかじめ削除してください)。
 次に、systemフォルダ内のsetFieldsDictファイルを図3に示すように修正します。タンクの底から350mmまで水が満たされているので、boxToCellでalpha.waterが1の領域を設定します。ここでは、タンク底面の中心を原点としていますが、原点が異なる場合は、boxToCellの座標指定を変更してください。setFieldsDictファイル設定については、いきなりOpenFOAM第45回を参照してください。

図3 setFieldsDictファイルの修正

 次に、constantフォルダ内のdynamicMeshDictを修正します。タンクを水平振動なので、揺れるフラスコ内の液体用の解析ファイルを流用であれば、amplitudeとomegaの修正だけで済みます。今回は震度5強の揺れなので、前回のいきなりOpenFOAM第58回での計算結果を用いて、図4に示すようにamplitudeは0.072、omegaは6.28とします。なお、加振方向はタンクの長さ方向(x軸方向)とします。詳細は、いきなりOpenFOAM第58回を参照してください。

図4 dynamicMeshDictファイルの修正

 次に、systemフォルダ内のcontrolDictファイルを図5に示すように、揺動開始から17秒間分計算し、0.1秒ごとに結果ファイルを出力させます。揺動開始からスロッシングが安定するまでには多少時間がかかります。終了時間には余裕を持たせるようにしてください。また、結果ファイルの出力タイミングは、動きをランダムに捉えることができるように留意してください。

図5 controlDictファイルの修正

 また今回は、密閉容器内の解析のため、圧力参照点と基準圧力を指定する必要があります。圧力参照点と基準圧力はsystemフォルダ内のfvSolutionファイルのPIMPLEにあります。圧力参照点pRePointの座標はモデル内にあるはずですが、もし外れている場合は記述の修正が必要です。設定方法については、いきなりOpenFOAM第56回を参考にしてください。

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

結果の可視化

 計算が終了したら、paraFoamと入力し、Paraviewを起動して結果を可視化します。図6は揺動開始から2.5秒後のタンク内の液面を表示したもので、内部の液体がタンク内壁に衝突し、液面が乱れる様子がわかります。図7は液面の変化を動画にしたものです。

図6 揺動開始から2.5秒後の液面
図7 液面形状の変化(アニメーション)

 今回行ったような計算を、周波数を変えて複数回解析するといった作業を繰り返すと、スロッシング現象に対する加振周波数の影響を定量的に把握できますが、時間と手間が膨大な量になります。そこで、スロッシング解析に振動工学のインパルス加振による周波数応答測定を応用することで、2回の解析で加振周波数の影響を求めることができます。
 次回から振動工学の基礎とインパルス加振、その例題について説明します。

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

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