日本画像学会のチュートリアルはblueCFD-core-2020 用なのと,x軸を対称軸に設定していますが,y軸を対称軸にした方が変更がスムースなので,この機会に修正します(なぜかx軸を対称軸にしないと計算できないと勘違いしていた・・・).ここでは変更手順のメモを示します.詳細な手順を示したチュートリアルは後日作成します.
このチュートリアルをやる前に capillaryRise を勉強しておくことを強く勧めます.
1 blockMeshDictを変更
・capillaryRise のチュートリアルをコピーして,capillaryRise2Dと名前を変える.
・座標を楔形に変更.半径0.8 mm, 高さ13 mmにする
・分割はx方向8メッシュ,y方向 130メッシュ,z方向 1メッシュ
・frontAndBack → fron と back に分ける
・axisをつくる
・図のようにvertices, blocks, boundaryを修正する.
・実際のblockMeshDict は以下のようになる.
vertices (
(0 0 0) //0
(0.8 0 -0.03) //1
(0.8 13 -0.03) //2
(0 13 0) //3
(0.8 0 0.03) //4
(0.8 13 0.03) //5
);
blocks ( hex (0 1 2 3 0 4 5 3) (8 130 1) simpleGrading (1 1 1) );
boundary (
inlet { type patch; faces ( (0 1 4 0) ); }
atmosphere { type patch; faces ( (3 5 2 3) ); }
walls { type wall; faces ( (5 4 1 2) ); }
front { type wedge; faces ( (0 4 5 3) ); }
back { type wedge; faces ( (0 3 2 1) ); }
axis { type empty; faces ( (0 3 3 0) ); }
);
2 境界条件を修正
・alpha.water.org, U, p_rgh の境界条件に以下を追加します.
front { type wedge; }
back { type wedge; }
axis { type empty; }
3 setFields を修正
・boxToCell の設定範囲を修正. y方向に500μmまで流体をセットする.
boxToCell {
box (0 0 -1) (1 5e-4 1);
fieldValues ( volScalarFieldValue alpha.water 1 );
}
4 Allclena をつくる
Allrun を コピーして Allclean をつくる.以下のように修正する.
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase
rm log* # logがあるとrunApplicaitonを実行しない
cp alpha.water.orig 0/alpha.water
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
application=$(getApplication)
runApplication blockMesh
runApplication setFields
#runApplication $application
#foamRun
5 重力加速度を正確な値に修正
・constant\g を開いて以下を修正
-10 → -9.8
value (0 -9.8 0);
6 設定確認
./Allclean を実行し,メッシュとVOF値を確認
こんな風に下部に流体が設定されていればOK
7 物性値修正
・physicalProperties.waterを開いて以下に修正
粘性,表面張力を一般的なインクジェットのインクの値にする.
viscosityModel constant;
nu 7e-06;
rho 1000;
・phaseProperties を開いて以下に修正
phases (water air);
sigma 0.03;
8 計算条件変更
・controlDict を開いて以下に修正
endTime 0.1;
deltaT 1e-4;
writeInterval 0.002;
9 計算実行
・foamRun ⏎ で計算開始
./Allrun ⏎ を実行してもいい
10 結果確認
・paraFoamで結果をみる
0コメント