走行するモーターバイクの周りの流れ(LES)
OpenFOAM 4.x
ケース
$FOAM_TUTORIALS/incompressible/pisoFoam/les/motorBike
概要
モーターバイク周りの風の流れを解析します。流体は領域 inlet(X最小面)から (20, 0, 0) m/s で流入し、領域 outlet(X最大面)から流出します。バイク表面はすべりなし壁条件とし、地面は速度 (20, 0, 0) m/s とします。それ以外の壁(領域 upperWall、領域 frontAndBack)はすべり壁条件とします。
まず最初に simpleFoam で RANS(Spalart Allmaras モデル)を使用して定常計算を行います。その後、定常計算で得られた結果を初期条件として LES(Spalart Allmaras DDES)を使用して0秒から0.7秒までの非定常計算を行います。
モデル形状(全体)
モデル形状(バイク付近)
メッシュは以下の通りで、メッシュ数は6615102です。
メッシュ(全体)
メッシュ(バイク付近)
メッシュ(XZ 面)
計算結果は以下の通りです。
流速(U)
流速(U)
圧力(p)
実行コマンド
cp -r $FOAM_TUTORIALS/incompressible/pisoFoam/les/motorBike motorBike
### まず RANS で定常状態を計算
cd motorBike/motorBike
# メッシュ作成
cp $FOAM_TUTORIALS/resources/geometry/motorBike.obj.gz constant/triSurface/
mkdir 0
blockMesh
cp system/decomposeParDict.hierarchical system/decomposeParDict
decomposePar
cp system/decomposeParDict.ptscotch system/decomposeParDict
mpirun -np 8 snappyHexMesh -overwrite -parallel
# ファイル「*level*」を検索し、見つかったファイルを全て削除
find . -type f -iname "*level*" -exec rm {} \;
# ディレクトリ「processor*」を検索し、見つかったディレクトリ内のディレクトリ「0」を 0.orig で更新
ls -d processor* | xargs -I {} cp -r 0.orig ./{}/0
# RANS での定常計算
mpirun -np 8 renumberMesh -overwrite -parallel
mpirun -np 8 potentialFoam -initialiseUBCs -parallel
mpirun -np 8 simpleFoam -parallel
cd ../
### 計算結果を初期条件として LES で流れを計算
mkdir motorBikeLES
cd motorBikeLES
cp -r ../motorBike/processor* .
cp -r ../motorBike/system .
cp -r ../motorBike/constant .
cp ../lesFiles/fvS* ../lesFiles/controlDict system/
cp ../lesFiles/turbulenceProperties constant/
# ディレクトリ「processor*」を検索し、見つかったディレクトリ内のディレクトリ「0」を RANS での計算結果で更新
ls -d processor* | xargs -I {} rm -rf ./{}/0
ls -d processor* | xargs -I {} mv ./{}/500 ./{}/0
ls -d processor* | xargs -I {} rm -rf ./{}/0/uniform
# LES での計算
mpirun -np 8 pisoFoam -parallel
# 分割されているメッシュ、結果を結合
reconstructParMesh -constant -mergeTol 1e-6
reconstructPar
paraFoam
計算時間
- メッシュ作成:9分16.31秒
- 解析(RANS):52分39.82秒
- 解析(LES):27時間56分58秒
※8並列、Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz
参照