ユーザ用ツール

サイト用ツール


openfoam:tutorial

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
openfoam:tutorial [2020/12/02 11:02]
michiya
openfoam:tutorial [2021/01/09 14:37] (現在)
行 19: 行 19:
 </code> </code>
  
 +Thirdpatryに付属するParaViewをビルドには時間がかかるため,あらかじめ用意したバイナリのParaViewで可視化できる.
 +ParaViewでは*.foamの形式でOpenFOAMの結果を読み込むことができる.
 +<code>
 +$ touch result.foam 
 +$ paraview result.foam
 +</code>
 +
 +{{:openfoam:result_dam_break_serial.png?400 |}}
  
 ===== Dam Break (Parallel) ===== ===== Dam Break (Parallel) =====
行 26: 行 34:
 $ foamCloneCase damBreak damBreakFine $ foamCloneCase damBreak damBreakFine
 </code> </code>
-[[tutorial#Dam Break (Serial)|Dam Break (Serial)]]で実行したモデルのメッシュ分割数を変更する. +[[tutorial#Dam Break (Serial)|Dam Break (Serial)]]で実行したモデルのメッシュ分割数を変更ため,system/blockMeshDictを以下のように編集.
-<code> +
-$ emacs system/blockMeshDict +
-</code>+
  
 <code> <code>
 blocks blocks
 ( (
-hex (0 1 5 4 12 13 17 16) (46 10 1) simpleGrading (1 1 1) +    hex (0 1 5 4 12 13 17 16) (46 10 1) simpleGrading (1 1 1) 
-hex (2 3 7 6 14 15 19 18) (40 10 1) simpleGrading (1 1 1) +    hex (2 3 7 6 14 15 19 18) (40 10 1) simpleGrading (1 1 1) 
-hex (4 5 9 8 16 17 21 20) (46 76 1) simpleGrading (1 2 1) +    hex (4 5 9 8 16 17 21 20) (46 76 1) simpleGrading (1 2 1) 
-hex (5 6 10 9 17 18 22 21) (4 76 1) simpleGrading (1 2 1) +    hex (5 6 10 9 17 18 22 21) (4 76 1) simpleGrading (1 2 1) 
-hex (6 7 11 10 18 19 23 22) (40 76 1) simpleGrading (1 2 1)+    hex (6 7 11 10 18 19 23 22) (40 76 1) simpleGrading (1 2 1)
 ); );
 </code> </code>
  
 +領域分割で割り当てられたプロセスを可視化するため,system/controlDictの末尾に以下を記述.
 +
 +<code>
 +libs
 +(
 +    "libfieldFunctionObjects.so"
 +);
 +
 +functions
 +{
 +    func
 +    {
 +        type processorField;
 +        outputControl outputTime;
 +        outputInterval 1;
 +    }
 +}
 +</code>
 +実行.
 <code> <code>
 $ rm 0/alpha.water $ rm 0/alpha.water
 +$ blockMesh
 $ setFields $ setFields
 $ decomposePar $ decomposePar
 $ mpirun -np 4 interFoam -parallel > log & $ mpirun -np 4 interFoam -parallel > log &
 $ reconstructPar $ reconstructPar
 +</code>
 +結果を確認.
 +<code>
 $ paraFoam $ paraFoam
 </code> </code>
 +
 +{{:openfoam:result_dam_break_parallel_procs.png?400 |}}
 +{{:openfoam:result_dam_break_parallel_water.png?400 |}}
 +
 +===== Dam Break (Parallel and Scotch) =====
 +
 +<code>
 +$ foamCloneCase damBreakFine/ damBreakFineScotch
 +</code>
 +
 +system/decomposeParDictの領域分割方法を'scotch'に変更する.
 +<code>
 +- method          simple;
 ++ method          scotch;
 +</code>
 +
 +残りの手順は[[tutorial#Dam Break (Parallel)|Dam Break (Parallel)]]と同様である.
 +
 +{{:openfoam:result_dam_break_parallel_scotch_procs.png?400 |}}
 +{{:openfoam:result_dam_break_parallel_scotch_water.png?400 |}}
 +
openfoam/tutorial.1606906959.txt.gz · 最終更新: 2021/01/09 14:37 (外部編集)