メッシュの再分割

OpenFOAM 4.x
このチュートリアルの実行には make のインストールが必要です。Ubuntu ではコマンド 「sudo apt install make」 でインストールが可能です。

ケース

$FOAM_TUTORIALS/mesh/refineMesh/refineFieldDirs

概要

ユーティリティー refineMesh を使用して既存のメッシュを再分割します。

まず blockMesh を使用して以下の様な初期メッシュを作成します。その後、 Z 方向に6回に分けて再分割を行い、さらに円筒座標系に合わせて3回に分けて再分割を行います。

初期メッシュ - メッシュ数1880 初期メッシュ - メッシュ数1880

メッシュは以下の通りです。

Z方向に再分割したメッシュ - メッシュ数50400 Z方向に再分割したメッシュ - メッシュ数50400
最終メッシュ - メッシュ数197120 最終メッシュ - メッシュ数197120

実行コマンド

cp -r $FOAM_TUTORIALS/mesh/refineMesh/refineFieldDirs refineFieldDirs
cd refineFieldDirs

# calcRadiusField をビルドしてシステムにインストール
wmake calcRadiusField
wclean calcRadiusField

# 初期メッシュを作成
blockMesh

mkdir 0

# Z方向で6段階に分けて再分割
calcRadiusField
topoSet -dict system/topoSetDict.tier1
refineMesh -dict system/refineMeshDict.tier1 -overwrite
rm -r 0/*

calcRadiusField
topoSet -dict system/topoSetDict.tier2
refineMesh -dict system/refineMeshDict.tier2 -overwrite
rm -r 0/*

calcRadiusField
topoSet -dict system/topoSetDict.tier3
refineMesh -dict system/refineMeshDict.tier3 -overwrite
rm -r 0/*

calcRadiusField
topoSet -dict system/topoSetDict.tier4
refineMesh -dict system/refineMeshDict.tier4 -overwrite
rm -r 0/*

calcRadiusField
topoSet -dict system/topoSetDict.tier5
refineMesh -dict system/refineMeshDict.tier5 -overwrite
rm -r 0/*

calcRadiusField
topoSet -dict system/topoSetDict.tier6
refineMesh -dict system/refineMeshDict.tier6 -overwrite
rm -r 0/*

# 円筒座標系で3段階に分けて再分割
calcRadiusField -calcDirections
topoSet -dict system/topoSetDict.range1
refineMesh -dict system/refineMeshDict.range1 -overwrite
rm -r 0/*

calcRadiusField -calcDirections
topoSet -dict system/topoSetDict.range2
refineMesh -dict system/refineMeshDict.range2 -overwrite
rm -r 0/*

calcRadiusField -calcDirections
topoSet -dict system/topoSetDict.range3
refineMesh -dict system/refineMeshDict.range3 -overwrite
rm -r 0/*

paraFoam

計算時間

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