地形データ上に置かれた風車の解析

OpenFOAM 4.x

ケース

$FOAM_TUTORIALS/incompressible/simpleFoam/turbineSiting

概要

3次元の地形データ上に風車を配置した場合の流れを計算します。

モデル形状(全体) モデル形状(全体)
モデル形状(風車付近) モデル形状(風車付近)

流体は、ABL(Atm Boundary Layer)モデルによって定義された分布で領域 inlet(X最小面)から流入し、領域 outlet(X最大面)から流出します。地面は速度 0 m/s で固定され、側面、上面はすべり壁条件となっています。

ABL モデルでは流速、乱流エネルギー、乱流消失率が以下の様にモデル化されています。

流速:U = \frac{U^*}{\kappa} ln\left(\frac{z - z_g + z_0}{z_0}\right)

乱流エネルギー:k = \frac{(U^*)^2}{\sqrt{C_mu}}

乱流消失率:\epsilon = \frac{(U^*)^3}{\kappa(z - z_g + z_0)}

ただし U* は摩擦速度で以下の様になります。

U^* = \kappa\frac{U_{ref}}{ln\left(\frac{Z_{ref} + z_0}{z_0}\right)}

また κ はカルマン定数、Cmu は乱流粘性係数、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)- 全体
風車の高さでの流れの速さ(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

参照