OpenFOAM

T703 OpenFoam tips

この記事は約4分で読めます。

OpenFoamの覚書です。

基本の流れ

バージョン : Windows版(OpenFOAM-v2106-windows-mingw.exe)

参考:Windows版(インストール)
チュートリアル

pitzDaily を解析実行
1.OpenFoam起動
2.チュートリアルの「pitzDaily」(コピー済み)のフォルダに移動
3. blockMesh コマンドを実行(メッシュ作成)
4. simpleFoam コマンドを実行(計算実行)
5. foamToVTK コマンドを実行(ParaView用結果ファイル作成)
6. ParaViewにて結果表示

並列計算 (linux)

並列計算のコマンド

decomposePar

mpirun -np 4 interFoam -parallel

reconstructPar

decomposeParDict の実行

mpirun -np (CPUNUM) (jobCOMMAND) -parallel  :計算実行

要素

要素の作成方法は以下があります。

・blockMeshコマンドによる作成

・外部メッシャーによる要素インポート(T711 要素ファイルの使

フィールドファイル

dimensions

物理量と基本単位を表示しています。

[kg m s k mol A cd]

質量:kg

長さ:m

時間:s

温度:k

物質量:mol

電流:A

光度:cd

dimensions      [1 2 -3 0 0 -1 0]; kg・m^2 / s^3 /A (単位時間あたりの磁束 = V(電圧))
dimensions          [1 -1 -2 0 0 0 0]; kg/m/s^2 (Pa:パスカル)

動的メッシュ

constantフォルダにdynamicMeshDictファイルを設定。

dynamicMeshDict その1

dynamicFvMesh   dynamicRefineFvMesh;

// How often to refine
refineInterval  1;

// Field to be refinement on
field           alpha.water;

// Refine field inbetween lower..upper
lowerRefineLevel 0.001;
upperRefineLevel 0.999;

// If value < unrefineLevel unrefine
unrefineLevel   10;

// Have slower than 2:1 refinement
nBufferLayers   1;

// Refine cells only up to maxRefinement levels
maxRefinement   2;

// Stop refinement if maxCells reached
maxCells        1500000;

// Flux field and corresponding velocity field. Fluxes on changed
// faces get recalculated by interpolating the velocity. Use 'none'
// on surfaceScalarFields that do not need to be reinterpolated.
correctFluxes
(
    (phi none)
    (nHatf none)
    (rhoPhi none)
    (alphaPhi_ none)
    (ghf none)
    (phi0 none)
    (dVf_ none)
);

// Write the refinement level as a volScalarField
dumpLevel       true;

dynamicMeshDict その2

dynamicFvMesh   dynamicMotionSolverFvMesh;

motionSolverLibs (fvMotionSolvers);

motionSolver    velocityComponentLaplacian;

component       x;
diffusivity     directional (1 200 0);

コメント

Translate »
タイトルとURLをコピーしました