キャビティ流れ(粗密のあるメッシュへのマッピング)

OpenFOAM 4.x

ケース

$FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavityGrade

概要

このケースを実行するには事前にケース「cavity(キャビティ流れ)」を実行しておく必要があります。

またケース cavity 実行後に cavity の親ディレクトリで以下のコマンドを実行してケース「cavityFine」を作成、実行しておく必要があります。

mkdir cavityFine
cd cavityFine
cp -r ../cavity/0 .
cp -r ../cavity/system .
cp -r ../cavity/constant .
sed -i -e s/"20 20 1"/"41 41 1"/g system/blockMeshDict
sed -i -e s/"\(startTime[ \t]*\) 0;"/"\1 0.5;"/g system/controlDict
sed -i -e s/"\(endTime[ \t]*\) 0.5;"/"\1 0.7;"/g system/controlDict
sed -i -e s/"\(deltaT[ \t]*\) 0.005;"/"\1 0.0025;"/g system/controlDict
sed -i -e s/"\(writeControl[ \t]*\) timeStep;"/"\1 runTime;"/g system/controlDict
sed -i -e s/"\(writeInterval[ \t]*\) 20;"/"\1 0.1;"/g system/controlDict

blockMesh
mapFields ../cavity -sourceTime latestTime -consistent
icoFoam

解析の流れは以下の様になります。

  1. ケース cavity で0.5秒まで流れを計算
  2. 計算結果をメッシュが細かいケース cavityFine の初期条件としてマッピング
  3. ケース cavityFine で0.5秒から0.7秒まで流れを計算
  4. 計算結果をメッシュに粗密があるケース cavityGrade(本チュートリアル)の初期条件としてマッピング
  5. ケース cavityGrade で0.5秒から0.7秒まで流れを計算

境界条件はケース cavity と同じで以下の通りです。

モデル形状 モデル形状

cavity、cavityFine、本チュートリアルの各ケースのメッシュは以下の通りです。Z 方向は1メッシュとして2次元問題として計算を行います。

cavity のメッシュ cavity のメッシュ
cavityFine メッシュ cavityFine メッシュ
本チュートリアルのメッシュ 本チュートリアルのメッシュ

ユーティリティー mapFields を使用してケース cavityFine の計算結果をマッピングして初期条件として使用します。

計算結果は以下の通りです。

0.7秒での流速(U) 0.7秒での流速(U)
0.7秒での圧力(p) 0.7秒での圧力(p)

実行コマンド

cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavityGrade cavityGrade
cd cavityGrade

blockMesh
mapFields ../cavityFine -sourceTime latestTime -consistent
icoFoam

paraFoam

計算済みの cavityFine ディレクトリは cavityGrade と同じディレクトリにあるものとします。

マッピング元とマッピング先の形状、境界条件が同じ場合は mapFields 実行時にオプション -consistent を指定します。

計算時間

--- ※シングル、Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz