$FOAM_TUTORIALS/incompressible/simpleFoam/pipeCyclic
円筒内に旋回流れが流入した場合の解析を行います。流体は領域 inlet から 流入し、領域 outlet から流出します。円筒の壁面 wall はすべりなし壁条件としています。形状の1/4だけモデル化し、分割面(side1、side2)に周期境界を使用して全体の流れを見積もります。
ファイル 0/U で以下の様に codedFixedValue を使用して C++ コードによって流入する流速分布を定義しています。具体的には面中心座標の2倍とベクトル (1, 0, 0) の外積を計算後、計算結果の X 成分を1.0で置き換えています。
inlet { type codedFixedValue; name swirl; code #{ const vector axis(1, 0, 0); vectorField v(2.0*this->patch().Cf() ^ axis); v.replace(vector::X, 1.0); operator==(v); #}; value $internalField; }
実際の流速分布は以下の様になります。
メッシュは以下の通りで、メッシュ数は4100です。
計算結果は以下の通りです。
対称条件 cyclicAMI の動作を確認するために refineHexMesh を使用してあえて対となる2面のメッシュ数が異なるように設定しています。