Fluidity を使ってみる2013年11月2日 | |
はじめにFluidity を使ってみる。 バージョンFluidity 4.1.103 ファイル問題キャビティ問題を解く。モデルは 0.1 x 0.1 x 0.01 の直方体モデルで、3 次元モデルとして作るが 2 次元的に解く。上面 x 方向速度を 1 m/s とし、側面は non slip、奥行き両面は z 方向速度 0 とする。動粘性係数は 0.01 とする。時間刻みは 0.005 s とし、0.5 s まで計算する。 メッシュの作成Gmsh でモデルを作る。 cavity.geo
Point(1) = {0, 0, 0, 1.0};
Point(2) = {0.1, 0, 0, 1.0};
Point(3) = {0.1, 0.1, 0, 1.0};
Point(4) = {0, 0.1, 0, 1.0};
Line(1) = {1, 2};
Line(2) = {2, 3};
Line(3) = {3, 4};
Line(4) = {4, 1};
Line Loop(5) = {1, 2, 3, 4};
Plane Surface(6) = {5};
Extrude {0, 0, 0.01} {
Surface{6};
}
Physical Surface(29) = {23};
Physical Surface(30) = {27, 15, 19};
Physical Surface(31) = {28, 6};
Physical Volume(32) = {1};
Mesh.CharacteristicLengthMin = 0.;
Mesh.CharacteristicLengthMax = 5e-3;
メッシュの作成。 $ gmsh -3 -optimize cavity.geo ケースの設定diamond を起動。 $ diamond 以下のように設定。
cavity.flml として保存する。 実行ここでは 2 ケース計算を実行するために、実行用ディレクトリを作る。 $ mkdir case1 $ cd case1 $ ln -s ../cavity.flml $ ln -s ../cavity.msh 実行。 $ fluidity -v2 -l cavity.flml & オプション "-v2" は表示の詳細レベルの指定、"-l" はログを書き出すことを指示する。ログは "fluidity.log-0"、"fluidity.err-0" などといった名前で書き出される。 計算結果を見るには、ParaView で "cavity_*.vtu" ファイルを開く。 ![]() 比較のため、OpenFOAM の icoFoam による結果を示す。 ![]() 並列計算並列計算を行うには、まず領域分割を行う (ここでは 2 並列)。 $ mpirun -np 2 flredecomp -i 1 -o 2 cavity cavity_decomp cavity_decomp.flml というファイルができる。 実行。 $ mpirun -np 2 fluidity -v2 -l cavity_decomp.flml 計算結果を見るには、ParaView で "cavity_*.pvtu" ファイルを開く。 | |
| PENGUINITIS | |