いきなりOpenFOAM (69)

回転系の解析(その1)

解析モデルの作成

 今回は回転するプロペラ周りの流れをOpenFOAMで解析してみます。
 始めに、モデルを作成します。3次元CADで円筒と斜めに傾斜した平板を作成し、図1に示すような簡単なプロペラを作成します。次に、図2に示すように、プロペラを囲むように球体を作成します。今回はOpenFOAMの練習が目的のため、球体の直径はプロペラ直径よりも多少大きい程度にしていますが、実際の解析では、境界条件の違いによる影響をなくすため、球体はプロペラに対して十分な大きさを持たせます(例えば、球体の直径はプロペラ直径の10倍以上)。

図1 円筒に斜めの平面を合成してプロペラを作成
図2 プロペラ周りに球体を作成

 3次元CADでモデルをstlファイルに出力します。今回は、球体をbound.stl、プロペラをblade.stlという名称でstlファイルに出力しました。

XSimでの設定

 次に、ブラウザでXSimサイトに接続し、出力したstlファイルのインポートとスケールの変更を行います。
 メッシュ設定では、図3に示すように、目標ベースメッシュ数をデフォルトの10倍に設定します。また、計算領域の座標をプロペラから離れた位置に指定します。XSimでは、計算領域で指定した座標周りの空間にメッシュを生成するように指示しますが、デフォルトではこの座標はモデル全体の中心となり、本来はメッシュの存在しないプロペラ内部を指定してしまうためです。次に、図4に示すように、プロペラを囲む円筒状に再分割領域を設定します。

図3 メッシュ設定
図4 再分割領域設定

レイヤーメッシュ設定では、プロペラ表面すなわち領域bladeにデフォルトで境界層を設定します。
 次に、基本設定では、図5に示すように、「回転領域」にチェックを入れます。
 XSimの画面は割愛しますが、物性設定では、物性値として「Air」を選択し、初期条件では、速度を静止状態すなわち(0,0,0)に設定します。流れ境界条件は、領域boundに全圧指定で全圧0を設定します。

図5 基本設定

 次に、回転領域では、図6に示すように領域タイプとして「円柱」を選択し、プロペラ周りにメッシュで設定した再分割領域よりも多少小さい円筒を回転運動パラメーター欄で設定します。回転速度は、1秒間で回転する角度を指定します。図6では、3600°/sのため、回転速度は10r/secあるいは600r/minとなります。回転の向きは正負で区別し、Z軸正が右ねじの進む方向となるように回転すると正の値となります。図6では上から見て反時計回りに回転します。なお、前回の説明にあるように、ここで指定した領域では座標系を回転させることで回転現象を再現させるため、メッシュが移動することはありません。

図6 回転領域の設定

 次に、計算設定では、緩和係数をデフォルトよりも小さな値に設定します。図7では、速度、乱流エネルギー、乱流散逸率を0.7から0.5に、圧力を0.3から0.2にしていますが、モデルや計算条件により異なります。一度計算を行ってみて、計算が発散しない程度の値に設定してください。
 出力設定では、計算結果の出力間隔などを設定し、エクスポートで解析ファイルをzipファイルとして保存します。

図7 緩和係数の設定
計算の実行

 XSimで保存した解析ファイルを解凍し、端末からコマンド./Allrunでメッシュ作成から計算を行います。もし、計算が発散した場合は、いきなりOpenFOAM第25回を参考に、systemフォルダ内のfvSolutionファイルの緩和係数をエディタで直接修正してください。
 次に、定常計算ではsimpleFoam、非定常計算ではpimpleFoamと、端末にコマンドを入力すると、計算が始まります。

結果の可視化

 計算が終了したら、端末にparaFoamと入力し、結果を可視化します。図8は縦断面での流速分布を、図9は同じく、静圧分布を示したものです。プロペラを通過して上から下への流れが見えるほか、翼上面では圧力が低下し、翼下面では圧力が上昇するといった、一般的なプロペラ周りの流れが再現されていることがわかります。

図8 縦断面での流速分布
図9 縦断面での静圧分布
回転を定義するファイル

 以上のように、XSimの基本設定で「回転領域」にチェックを入れるだけで、比較的簡単にMRF(Multiple Reference Frame)による回転系の計算ができますが、今までの静止領域だけの解析とは、OpenFOAMの解析ファイルにどのような違いがあるのかを簡単に説明します。

 まず、constantフォルダ内にMRFpropertiesファイルが生成されます。これは図10に示すように、回転領域の原点と回転軸と回転速度とを示したファイルです。MRFpropertiesファイル内のoriginはXSimでは、回転運動パラメーターの下面の中心に、また、axisは、同じく、上面の中心に該当します。omega constantは回転速度に相当しますが、単位がrad/sとなることに注意してください(XSimでの角度は度が単位で、OpenFOAMでの角度はラジアンが単位となります)。

図10 MRFpropertiesファイル(一部抜粋)

 この他に、systemフォルダ内のメッシュ生成用ファイルsnappyHexMeshDictファイルに、図11および図12に示す新たな条件が追加されます。
 図11に示すようにメッシュ生成用のファイルにmrfCylinder0として円筒形状が追加されます。point1がXSimで回転運動パラメーターの下面の中心に、また、point2が同様に上面の中心に相当します。図11での名称mrfCylinder0が図12に示す箇所でcellZoneとして設定され、図10で示したMRFpropertiesファイルの条件が適用されます。

図11 snappyHexMeshDictファイル-1(一部抜粋)
図12 snappyHexMeshDictファイル-2(一部抜粋)

 今回はOpenFOAMの回転系機能を用いて、プロペラの解析を行いました。
 送風機などの解析では、任意円筒断面での翼周り流速や圧力の表示、翼周りの相対流れの表示といった結果処理が必要とされます。次回はparaviewでの円筒断面表示や相対流れの表示方法を説明します。

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

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