計算の実施には”0″ディレクトリに速度と圧力の初期条件と境界条件を入力する必要があります。それぞれ,0/U , 0/pと呼ぶことにしましょう。ここでは0/Uについて説明します。境界条件の設定については一部の設定をblockMeshDictで指定しています。その内容とつじつまが合うようにする必要があります。blockMeshの内容についてはこちらです。以下に示す内容でつじつまは合います。
blockMeshDictで与えた境界面の名前は下図です。z=0とZ=0.003の面はfrontAndBackという名前でまとめています。
0/Uの中身
以下の内容です。コピーして利用する場合は,赤字は説明文なのでコピーしないか,コピー後削除してください。
******************
dimensions [0 1 -1 0 0 0 0]; //速度の次元を与えます。m/sなので先の内容です。
//単位の設定はこちら(青字の表)を見てください。
internalField uniform (0 0 0); //モデル内の初期の速度分布はゼロとします。
//ここからは境界条件の設定です。
boundaryField
{
frontAndBack //z=0とz=0.003の境界面はblockMeshの設定でfrontAndBackとしました。
{
type empty; //二次元モデルとするため,z=0とz=0.003の境界面はemptyとします。
}
x_min //速度の入口面です。
{
type fixedValue; //入口面流速は一定値とします。
value uniform (0.005 0 0); //x方向に0.005m/sとします。(Re = 150)
}
x_max //出口面ですが,圧力の出口面とするため速度はzeroGradientとします。
{
type zeroGradient;
}
wall //snappyHexMeshで読み込んだジオメトリ形状です。
{
type noSlip; //壁面はnoSlipとします。
}
y_min //y方向の境界面の境界条件もここでは壁面にします。
{
type noSlip;
}
y_max //y方向の境界面の境界条件もここでは壁面にします。
{
type noSlip;
}
}
******************
初期条件の設定
初期条件としてモデル全体を初速度ゼロとする場合は下記のように記載します。
****************
internalField uniform (0 0 0);
****************
境界条件の設定
速度の境界条件設定について,それぞれ以下のように設定します。
二次元モデルの境界条件設定
frontAndBackという名前で,z=0の面とz=0.003の面を一緒に設定していました。二次元モデルとする場合は下記のように設定します。
*******
type empty;
*******
入口面の設定
本モデルでは入口面を速度の入口境界とします。Re = 150とするために入口面流速を0.005 m/sとします。
**************
type fixedValue;
value uniform (0.005 0 0);
**************
後ほど,レイノルズ数をケーススタディーするために入口面流速を変更する場合は上記の0.005の数値を変更します。
出口面の設定
出口面は圧力の出口境界とします。速度は下記のように設定します。
**********
type zeroGradient;
**********
このモデルでは速度と圧力(の相対値)を同時に解くに当たり,速度に関する入口面と出口面の設定はこのようにします。
壁面の設定
0/Uでは下記のように設定します。
*******
type noSlip;
*******
snappyHexMeshで読み込んだジオメトリについても同様に設定して壁面とします。
openfoamで利用できる境界条件にはsymmetry, symmetryPlane, cyclic, cyclicAMIなどがあります。別のところで説明します。
コメント
[…] 「ケース」ディレクトリ |–0/ | |–U | |–p |–constant/ | […]