地形データ上に置かれた風車の解析
更新:2017/6/1
OpenFOAM 4.x
ケース
$FOAM_TUTORIALS/incompressible/simpleFoam/turbineSiting
概要
3次元の地形データ上に風車を配置した場合の流れを計算します。
モデル形状(全体)
モデル形状(風車付近)
流体は、ABL(Atm Boundary Layer)モデルによって定義された分布で領域 inlet(X最小面)から流入し、領域 outlet(X最大面)から流出します。地面は速度 0 m/s で固定され、側面、上面はすべり壁条件となっています。
ABL モデルでは流速、乱流エネルギー、乱流消失率が以下の様にモデル化されています。
流速:
乱流エネルギー:
乱流消失率:
ただし U* は摩擦速度で以下の様になります。
また κ はカルマン定数、Cm u は乱流粘性係数、z は垂直方向の座標、z0 は表面粗さ高さ、zg はZ座標最小値、Zref は参照高さ、Uref は Zref での参照流速です。これらのパラメーターはファイル 0.orig/include/ABLConditions で以下の様に定義されています。
Uref 10.0;
Zref 20;
zDir (0 0 1);
flowDir (1 0 0);
z0 uniform 0.1;
zGround uniform 935.0;
value $internalField;
乱流モデルには標準 k-ε モデルを使用します。
メッシュは以下の通りで、メッシュ数は252944です。
メッシュ
計算結果は以下の通りです。
風車の高さでの流れの速さ(U)- 全体
風車の高さでの流れの速さ(U)- 風車付近
実行コマンド
cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/turbineSiting turbineSiting
cd turbineSiting
# ダミーの0ディレクトリを作成
mkdir 0
# メッシュ作成
blockMesh
cp system/decomposeParDict.hierarchical system/decomposeParDict
decomposePar
cp system/decomposeParDict.ptscotch system/decomposeParDict
mpirun -np 4 snappyHexMesh -parallel -overwrite
# 大文字小文字を区別せずにファイル「*level*」を検索し、見つかったファイルを削除
find . -type f -iname "*level*" -exec rm {} \;
# ディレクトリ「processor*」を検索し、見つかったディレクトリ内のディレクトリ「0」に 0.orig をコピー
ls -d processor* | xargs -I {} cp -r 0.orig ./{}/0
# セルゾーンを作成
mpirun -np 4 topoSet -parallel
# 解析を実行
mpirun -np 4 simpleFoam -parallel
# 分割されているメッシュ、結果を結合
reconstructParMesh -constant
reconstructPar
paraFoam
計算時間
39.69秒 ※4並列、Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz
参照