↑ページトップへ

チュートリアル:混相流機能によるダムブレイク問題の計算

混相流機能を使用した2種類の液体によるダムブレイク問題の計算を行なうための設定について説明します。

解析の概要

2種類の液体「水」と「ケロシン」によるダムブレイク問題の計算を5秒間分、行ないます。

ダムブレイク問題の計算

計算設定ファイルの作成

プロジェクトの作成

XSim を開き、プロジェクトの作成ダイアログでプロジェクト名として「DamBreak」と入力し作成を押します。

プロジェクトの作成ダイアログ
プロジェクトの作成ダイアログ

形状のインポート

まず解析領域となる空間を作成します。形状のインポート設定の「形状の追加」タブでタイプとして「直方体」、最小座標(0, 0, 0)、最大座標(1, 1, 1)として追加を押して解析領域を追加します。追加された形状は3Dビュー上に表示されます。

直方体形状の追加
直方体形状の追加

次へでメッシュ設定へ進みます。

メッシュ

目標ベースメッシュ数を200000に設定します。ベースメッシュ数の表示の横のプレビューボタン「プレビュー」アイコンを押すとベースメッシュを確認することができます。

目標ベースメッシュ数の設定
目標ベースメッシュ数の設定

以上でメッシュの設定は終わりです。次へで解析の基本設定へ進みます。

基本設定

解析の種類を設定します。「非定常」を選択し終了時刻を「5秒」に設定します。また初期時間間隔を「0.01秒」とします。さらに「混相流」を選択し、基準圧力を「0 Pa」に設定します。

基本設定
基本設定

次へで物性の設定へ進みます。

物性

まず基本物性値を設定します。

空気中での2種類の液体の流れを計算したいので基本物性値には空気の値を設定します。基本物性値エリアのライブラリーボタン「ライブラリー」アイコンを押して物性値ライブラリーから「Air」を選んで設定します。

基本物性値の設定
基本物性値の設定

さらに2種類の液体「水」「ケロシン」を追加物性値として設定します。

追加物性値エリアのライブラリーボタン「ライブラリー」アイコンを押して物性値ライブラリーから「Water」を選択し、さらに設定を押すと追加物性値としてWater(水)が登録されます。

ケロシンは物性値ライブラリーには無いので手入力で設定します。追加物性値エリアで物性名として「Kerosene」、タイプとして「ニュートン流体」、密度「0.8 g/cm3」、動粘度「0.000239 m2/s」を入力し、設定を押すと追加物性値としてKerosene(ケロシン)が登録されます。

追加物性値の設定
追加物性値の設定

各流体の間には表面張力の値を設定する必要がありますが、このチュートリアルでは全て「0.07 N/m」と簡略化して計算を行なうことにします。

次へで初期条件設定へ進みます。

初期条件

2種類の液体の初期配置を設定します。

物理量として「流体」を選択し、物性名「Water」、範囲タイプ「直方体」、最小座標(0, 0, 0)m、最大座標(0.4, 0.4, 0.8)mとして設定を押すと、水の初期配置が設定されます。

同様に、物理量「流体」、物性名「Kerosene」、範囲タイプ「球」、中心(0.7, 0.7, 0.5)m、半径0.25mとして設定を押してケロシンの初期配置を設定します。

流体の初期配置の設定
流体の初期配置の設定

このチュートリアルでは関係ありませんが、初期配置の範囲が重なっていた場合は初期条件エリアで下に表示されているものが優先されます。例えば上の図のような場合には水の初期条件が設定された後に上書きするようにケロシンの初期条件が設定されます。初期条件エリアに表示されている各設定はマウスドラッグによって順番を入れ替えることができます。

3Dビュー下の表示切り替え「表示切り替え」アイコンで3D表示を半透明に切り替えてから、各設定のプレビューボタン「プレビュー」アイコンを押すと初期配置の形状を確認できます。

流体の初期配置(3D)
流体の初期配置(3D)

以上で初期条件の設定は終わりです。次へで境界条件設定へ進みます。

流れ境界条件

このチュートリアルではX座標最大の面のみが開放されていて、他の面は静止壁であるということにします。

  • 流入出境界

    領域として「選択されている領域」、タイプとして「自然流入出」、流入流体として「Air」を選び、ナビゲーション・ビューで「XMax」を選択して設定を押します。

    流入出境界条件
    流入出境界条件
  • 静止壁境界

    領域として「選択されている領域」、タイプとして「静止壁」を選び、ナビゲーション・ビューで「XMin」、「YMin」、「YMax」、「ZMin」、「ZMax」を選択してから設定を押します。

    壁境界条件
    壁境界条件

次へで計算設定へ進みます。

計算設定

計算に使用するマシンの CPU コア数に合わせて並列数を設定します(例えば 10)。

またこのチュートリアルでは計算時間を短くするため粗めのメッシュにしているため、計算が不安定になりやすいので数値スキーム、行列ソルバーの両方を「安定性重視」の設定にしておきます。

計算設定
計算設定

次へで出力設定へ進みます。

出力

今回の計算は非定常計算なのでタイプとして「指定時刻ごと」を選択し、間隔として0.0416秒(=約1/24秒)を設定します。

出力設定
出力設定

次へでエクスポートページへ進みます。

エクスポート

これで全ての設定が終わりました。エクスポートボタンをクリックして解析設定を zip 圧縮された OpenFOAM ケースのディレクトリ「DamBreak.zip」としてエクスポートします。 zip ファイルのダウンロードはただちに開始されます。

エクスポート
エクスポート

計算の実行

ダウンロードした「DamBreak.zip」を展開します。ケース・ディレクトリ内に bash スクリプト「Allrun」があります。以下のコマンドでこのスクリプトを実行してメッシュの作成と OpenFOAM ソルバーの実行を行います。

./Allrun

実行しているマシンがデスクトップ環境で、gnuplot がインストールされている場合にはモニタリング用に残差収束グラフが表示されます。

モニタリング用グラフ
モニタリング用グラフ

10並列(Inter(R) Core(TM) i7-8700 CPU @ 3.20GHz 3.19GHz)で実行した場合、メッシュ作成には10秒、解析には30分ほどかかります。

計算結果の確認

計算が終了したら以下のコマンドで ParaView を実行してメッシュと計算結果を可視化できます。

paraFoam

メッシュは以下のようになります。

メッシュ
メッシュ

またParaViewのThresholdフィルターで下限を0.1として体積率(alpha.Water、alpha.Kerosene)を可視化すると以下の様になります。

混相流解析の結果(1/3倍速)