多孔質領域機能を使用して流路内にフィルターがあるタンクへの流入出での圧力損失計算を行なうための設定について説明します。
流入口、流出口がある、多孔質フィルターが装着されたタンク内へ流速 0.1 m/s で水を流入させて定常状態を計算し、圧力損失(流入口と流出口の差圧)を出力します。
XSim を開き、プロジェクトの作成ダイアログでプロジェクト名として「TankWithFilter」と入力し を押します。
このチュートリアルではあらかじめ用意された形状ファイルを使用します。次のリンク「tutorial-TankWithFilter.zip」からZipファイルをダウンロードし、適当な場所に展開します。
「ファイルドロップ」タブでダウンロード・展開したファイル「Filter.stl」「Tank.stl」「Inlet.stl」「Outlet.stl」をドラッグ&ドロップして読み込みます。3Dビュー下の表示切り替えで3D表示を半透明に切り替えることができます。
でメッシュ設定へ進みます。
目標ベースメッシュ数を640000に設定します。ベースメッシュ数の表示の横のプレビューボタンを押すとベースメッシュを確認することができます。
またレイヤーメッシュ設定で領域「Tank」にレイヤー層数「3」でレイヤーメッシュ設定を行ないます。
以上でメッシュの設定は終わりです。
で解析の基本設定へ進みます。解析の種類を設定します。「定常」を選択し終了サイクルを「400」に設定します。また「多孔質領域」を選択します。
で物性の設定へ進みます。
デフォルトの物性値で問題ないので設定を行なう必要はありません。物性値として「Water」(水)が設定されていることを確認したら
で初期条件の設定へ進みます。デフォルトのパラメーターで問題ないので設定を行なう必要はありません。
で流れ境界条件の設定へ進みます。領域として「選択されている領域」、タイプとして「流速指定」を選びます。流速として(0.1, 0, 0)m/s を設定し、ナビゲーション・ビューで「Inlet」を選択してから
を押します。今回の計算では流出口「Outlet」の圧力を圧力基準点として計算を行います。まず領域として「選択されている領域」、タイプとして「静圧指定」を選びます。静圧として 0 Pa を設定し、ナビゲーション・ビューで「Outlet」を選択してから
を押します。領域として「選択されている領域」、タイプとして「静止壁」を選び、ナビゲーション・ビューで「Tank」を選択してから
を押します。境界条件の設定が終わると3Dビューの表示は以下のようになります。
で多孔質体領域の設定へ進みます。
このチュートリアルでは多孔質体モデルとしてダルシー・フォークハイマー則を使用します。
多孔質タイプとして「ダルシー・フォークハイマー則」、領域タイプとして「任意形状(アセンブリ)」を選択します。さらに多孔質パラメーターとして d に (5e7, 5e7, 5e7) を、アセンブリとして「Filter」を設定してから
を押します。※「5e7」と入力すると「50000000(=5×107)」に表記が変換されます。
で計算設定へ進みます。
計算に使用するマシンの CPU コア数に合わせて並列数を設定します(例えば 10)。
で出力設定へ進みます。
今回の計算は定常計算なのでタイプとして「指定サイクルごと」を選択し、間隔として50サイクルを設定します。
また流出口を基準とした流入口の圧力を出力したいので「領域」タブを選択し、領域として「選択されている領域」、タイプとして「平均値」、物理量として「圧力」を選び、ナビゲーション・ビューで「Inlet」を選択してから
を押します。でエクスポートページへ進みます。
これで全ての設定が終わりました。
ボタンをクリックして解析設定を zip 圧縮された OpenFOAM ケースのディレクトリ「TankWithFilter.zip」としてエクスポートします。 zip ファイルのダウンロードはただちに開始されます。ダウンロードした「TankWithFilter.zip」を展開します。ケース・ディレクトリ内に bash スクリプト「Allrun」があります。以下のコマンドでこのスクリプトを実行してメッシュの作成と OpenFOAM ソルバーの実行を行います。
実行しているマシンがデスクトップ環境で、gnuplot がインストールされている場合にはモニタリング用に残差収束グラフが表示されます。
10並列(Inter(R) Core(TM) i7-8700 CPU @ 3.20GHz 3.19GHz)で実行した場合、メッシュ作成には1分、解析には6分ほどかかります。
計算が終了したら以下のコマンドで ParaView を実行してメッシュと計算結果を可視化できます。
メッシュは以下のようになります。
また流速、流速ベクトル、圧力の分布は以下の様になります。
次に流入口の圧力の計算結果を確認します。入口(Inlet)での平均圧力は postProcessing/patchAverage(patch=Inlet,p) フォルダ内に保存されています。出力結果は次のようになります。
# Region type : patch Inlet # Faces : 299 # Area : 1.954882e-03 # Time areaAverage(p) 0 0.000000e+00 1 4.931639e-01 2 5.779418e-01 3 2.377576e-01 ……(省略)…… 398 2.414822e-02 399 2.414903e-02 400 2.414786e-02
1列目がサイクル数、2列目が平均圧力となり、非圧縮性流体であるため、圧力の単位は m2/s2 です。