いきなりOpenFOAM (6)
専用プリプロセッサ「XSim」の使い方
「次へ」をクリックすると、図2に示す形状のインポートに移ります。ファイルドロップタブを選択し、stlファイルをドラッグドロップすると、図に示すように、右側のウィンドウに形状が表示されます。ここで、右下赤い〇で囲まれたアイコンをクリックすると、寸法が表示されます。この例では、非常に大きな寸法となっています。これは、stlファイルは単位を持っていないため、作成時の数値(この例ではmmの単位の数値)がそのままインポートされています。一方、OpenFOAMはSI単位すなわちメートル基準です。
そこで、図3に示すように、形状編集タブを選択し、スケールを変更します。赤い□で囲まれた拡大縮小率でmm⇔mを選択し、拡大縮小中心として原点を選択し、「適用」をクリックするとモデルのスケールが変わります。右側のウィンドウから一旦モデルが消えますが、右下の青い〇で囲まれた虫眼鏡アイコンをクリックすると、再度表示されます。図を見ると、正しい寸法になっていることがわかります。
なお、右側のウィンドウのモデルはマウスで回転・移動・拡大縮小できます。マウス左ボタンで回転、マウス中ボタンで移動、マウスホイールが拡大・縮小です。
「次へ」をクリックし、メッシュ設定に移ります。体積メッシュはモデルを囲む直方体部分の基本となるメッシュ分割で、同時にメッシュ数なども指定します。その際、赤い〇で囲まれた「計算領域」で示された座標を含む空間が流体領域と認識します。計算領域はデフォルトでは、モデルを囲む直方体の中心に設定されるため、通常は、設定する必要はありませんが、流路が偏っているなど中心からずれるようなモデルでは、流体領域内となるように座標を修正してください。
なお、図の右下の青い〇で囲まれたアイコンをクリックするごとに、モデルはレンダー(ソリッド)→半透明→ワイヤーフレームと表示が切り替わります。
入力欄の下側に移動し、再分割設定を行います。流体解析では、メッシュの細かさと計算時間とはトレードオフの関係にあります。そこで、全体を細かくするのではなく、必要な箇所のみを細かくすることで計算時間を短縮します。これが再分割設定です。
図5に示すように、細かくする範囲のタイプを選択し、図6に示すように範囲を示す座標を入力し、「追加」をクリックすると再分割領域が設定されます。
入力欄を下側に移動し、レイヤーメッシュを設定します。流体と静止する物体表面の境では、流速の変化が大きくなるため、さらにメッシュを細分化する必要があります。レイヤーメッシュを設定する領域(面)を選択し、層数を入力し、「設定」をクリックするとレイヤーメッシュが設定されます。
なお、レイヤーメッシュの厚みや総数は流速や使用する乱流モデルなどから理論的な最適値(推奨値)があるのですが、メッシュ形状がいびつにならないように、まずは、厚み比率を0.1~0.3、層数を1~3あたりを目安にするのが良いと思います。
ここまでで、モデルのインポートからメッシュの設定が終わりました。計算メッシュの生成はOpenFOAM計算時に行われるため、この画面上で計算メッシュを確認することはできません。
次に、物性設定で流体物性値を設定します。(図9) 水と空気については、物性値がプリセットされています。図の赤い〇で囲まれたアイコンをクリックして表示されるウィンドウでAirあるいはWaterを選択し、「OK」をクリックすると、流体の物性値が設定できます。
流体のタイプは水や空気などの一般的な流体であれば「ニュートン流体」を選択します。
物性の後は、初期条件の設定になります。(図10) 速度、圧力などが設定できます。速度を設定し、数値欄をクリックして表示されるウィンドウに数値を入力し、「設定」をクリックすると初期条件が設定されます。
境界条件設定に移ります。境界条件は図11に示すように、流入流出には、流速指定、流量指定、圧力指定、自然流入出が選択できます。また、壁面には、すべり壁、静止壁などが設定できます。
流速指定、圧力指定は言葉通りですが、自然流入出について簡単に説明します。流速指定・圧力指定ともに、速度は一様を仮定しています。しかしながら、現実の流入出では速度が均一となるとは限らないため、OpenFOAMでは不均一な速度にも対応できるpressureInletOutletVelocityというコマンドが用意されています。自然流入出はこのコマンドを利用して不均一速度の流入出にも対応できるようになっています。
タイプを選択後、図12のように領域(面)と個別タイプを選択し、数値を入力後「設定」をクリックすることで、境界条件が設定できます。(下の境界条件ボックスに条件が追加されます)
計算設定では、並列数と図13に示す数値スキームの選択、図14に示すソルバーの選択が行えます。
並列数はコンピュータのコア数以内であれば、多いほど計算が速くなりますが、すべてのコアを計算に使ってしまうと他の操作ができなくなってしまうため、コア数未満にするのが一般的です。
なお、数値スキームとソルバーはまずはデフォルトの設定で計算してみて、うまく計算できない場合に変更することをお勧めします。また緩和係数の数値は一般的に推奨されている値がデフォルトでセットされています。
図15の赤い〇で囲まれた□にチェックを入れOpenFOAMで計算を開始すると、残差グラフを表示します。「可能な場合はモニターウィンドウを表示」とありますが、通常GNUプロットがインストールされていれば表示されます。
また、「定常収束判定値」は残差がこの値を下回ると計算を終了させるもので、定常解析でのみ有効です。
ここまでで計算設定は終了です。計算設定ではいくつか数値流体力学の知識が必要な部分がありますが、まずはデフォルトの条件で計算してみて、うまく計算できない場合に調整することをお勧めします。また、計算がうまくいかない原因の多くが、入口はあるのに出口が無いなどの条件の矛盾、単位やスケールの間違いに起因しています。数値スキームや行列ソルバー、緩和係数などの計算コントロールを調整する前に、今一度設定した条件を見直して、矛盾が無いことを確認してみてください。
図18に示すように、「全体」タブで各項目にチェックを入れることで、どのようなパラメータを出力するかを選択できます。
図19の「領域」タブをクリックすると、領域に付随した情報を出力できます。例えば、抗力係数や揚力係数の算出は、「力係数」を利用すると簡単に行えます。これらの具体的な方法については後の回の事例で紹介します。
図20に示す「サンプリング」タブは、指定した位置での情報を出力します。物理量を選択し、座標を入力、座標を入力した右の青い〇で囲まれたアイコンをクリックすると、図21に示すように、右側のウィンドウに赤い〇で囲まれた点の情報が出力されます。
XSimではデフォルトでParaView用のファイルを出力するように設定されますが、図22に示すように、その他のポストプロセッサ用のデータを出力することもできます。
出力されたzipファイルを解凍すると、フォルダ内にOpenFOAM用の設定ファイル(一式)があります。いくつかファイルやフォルダがありますが、名前やフォルダ構成等は変更しないようにしてください。
解凍したファイルの中に、「Allrun」というシェルスクリプトがあります。Allrunに実行権限を付与し、Allrunを実行すると、OpenFOAMが起動し、メッシュ分割から計算を自動で行います。また、同じフォルダにある「Allclean」というシェルスクリプトを実行すると、計算結果を削除して計算前の状態に戻すことができます。
なお、Linuxのターミナル上ではAllrunまたはAllcleanのファイルがあるディレクトリに移動し、下記のようにコマンドを入力しEnterで実行します。
./Allrun
./Allclean
今回は少々長かったですが、XSimでの設定の流れを紹介しました。次回は具体的なモデルを使って、XSimで計算用ファイルを作成、計算実行まで行います。
おことわり
本コンテンツの動作や表示はお使いのバージョンにより異なる場合があります。
本コンテンツの動作ならびに設定項目等に関する個別の情報提供およびサポートはできかねますので、あらかじめご了承ください。
本コンテンツは動作および結果の保証をするものではありません。ご利用に際してはご自身の判断でお使いいただきますよう、お願いいたします。