$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;
}
実際の流速分布は以下の様になります。
流入面での流速分布(U)
メッシュは以下の通りで、メッシュ数は4100です。
メッシュ
計算結果は以下の通りです。
パイプ中央付近での断面方向の流速(U)
パイプ中央付近での断面方向の圧力(p)
主流方向の流速(U)
主流方向の圧力(p)
対称条件 cyclicAMI の動作を確認するために refineHexMesh を使用してあえて対となる2面のメッシュ数が異なるように設定しています。