OpenFoamのサンプル確認(パラメータやキーワードの覚書)です。
バージョン : Windows版(OpenFOAM-v2106-windows-mingw.exe)
チュートリアルフォルダ:チュートリアル場所(windows)
引用元
<チュートリアルフォルダ>\heatTransfer\buoyantBoussinesqPimpleFoam\hotRoom
結果図

流体速度のモデルになります。
作業
基本的な流れはT703 OpenFoam tipsと同じです。(または作業)
//チュートリアルからサンプルをコピーしておきます。// //0.origから0へ(.org削除) //コマンド:メッシュ作成 blockMesh //コマンド実行 setFields //計算実行// buoyantBoussinesqPimpleFoam //ParaView用VTK変換// foamToVTK
モデル
設定値の抜粋まとめ
全体構造
//初期フォルダ・ファイル構成 hotRoom ├ 0.orig │ ├ alphat │ ├ epsilon │ ├ k │ ├ nut │ ├ p │ ├ p_rgh │ ├ T │ └ U ├ constant │ ├ g │ ├ transportProperties :物性値 │ └ turbulenceProperties ├ system │ ├ blockMeshDict :ブロックメッシュ定義 │ ├ controlDict :解析ジョブ設定 │ ├ fvSchemes :ソルバー設定 │ ├ fvSolution :ソルバー設定 │ └ setFieldsDict ├ Allclean └ Allrun
0.orig
設定確認 alphat
dimensions [0 2 -1 0 0 0 0]; internalField uniform 0; boundaryField { floor { type alphatJayatillekeWallFunction; Prt 0.85; value uniform 0; } ceiling { type alphatJayatillekeWallFunction; Prt 0.85; value uniform 0; } fixedWalls { type alphatJayatillekeWallFunction; Prt 0.85; value uniform 0; } }
epsilon
dimensions [0 2 -3 0 0 0 0]; internalField uniform 0.01; boundaryField { floor { type epsilonWallFunction; value uniform 0.01; } ceiling { type epsilonWallFunction; value uniform 0.01; } fixedWalls { type epsilonWallFunction; value uniform 0.01; } }
k
dimensions [0 2 -2 0 0 0 0]; internalField uniform 0.1; boundaryField { floor { type kqRWallFunction; value uniform 0.1; } ceiling { type kqRWallFunction; value uniform 0.1; } fixedWalls { type kqRWallFunction; value uniform 0.1; } }
nut
dimensions [0 2 -1 0 0 0 0]; internalField uniform 0; boundaryField { floor { type nutkWallFunction; value uniform 0; } ceiling { type nutkWallFunction; value uniform 0; } fixedWalls { type nutkWallFunction; value uniform 0; } }
設定確認 p
//ファイル:p// dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { floor { type calculated; value $internalField; } ceiling { type calculated; value $internalField; } fixedWalls { type calculated; value $internalField; } }
p_rgh
dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { floor { type fixedFluxPressure; rho rhok; value uniform 0; } ceiling { type fixedFluxPressure; rho rhok; value uniform 0; } fixedWalls { type fixedFluxPressure; rho rhok; value uniform 0; } }
T
dimensions [0 0 0 1 0 0 0]; internalField uniform 300; boundaryField { floor { type fixedValue; value nonuniform List<scalar> 400 ( 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 600 600 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 600 600 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 ) ; } ceiling { type fixedValue; value uniform 300; } fixedWalls { type zeroGradient; } }
設定確認 U
dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { floor { type noSlip; } ceiling { type noSlip; } fixedWalls { type noSlip; } }
constant
g
dimensions [0 1 -2 0 0 0 0]; value (0 -9.81 0);
設定確認 transportProperties
transportModel Newtonian; // Laminar viscosity nu 1e-05; // Thermal expansion coefficient beta 3e-03; // Reference temperature TRef 300; // Laminar Prandtl number Pr 0.7; // Turbulent Prandtl number Prt 0.85;
turbulenceProperties
simulationType RAS; RAS { RASModel kEpsilon; turbulence on; printCoeffs on; }
system
設定確認 blockMeshDict
scale 1; vertices ( (0 0 0) (10 0 0) (10 5 0) (0 5 0) (0 0 10) (10 0 10) (10 5 10) (0 5 10) ); blocks ( hex (0 1 2 3 4 5 6 7) (20 10 20) simpleGrading (1 1 1) ); edges ( ); boundary ( floor { type wall; faces ( (1 5 4 0) ); } ceiling { type wall; faces ( (3 7 6 2) ); } fixedWalls { type wall; faces ( (0 4 7 3) (2 6 5 1) (0 3 2 1) (4 5 6 7) ); } ); mergePatchPairs ( );
設定確認 controlDict
application buoyantBoussinesqPimpleFoam; startFrom startTime; startTime 0; stopAt endTime; endTime 2000; deltaT 2; writeControl timeStep; writeInterval 200; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression off; timeFormat general; timePrecision 6; runTimeModifiable true; adjustTimeStep no; maxCo 0.5;
設定確認 fvSchemes
ddtSchemes { default Euler; } gradSchemes { default Gauss linear; } divSchemes { default none; div(phi,U) Gauss upwind; div(phi,T) Gauss upwind; turbulence Gauss upwind; div(phi,k) $turbulence; div(phi,epsilon) $turbulence; div(phi,R) $turbulence; div(R) Gauss linear; div((nuEff*dev2(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear uncorrected; } interpolationSchemes { default linear; } snGradSchemes { default uncorrected; }
設定確認 fvSolution
solvers { p_rgh { solver PCG; preconditioner DIC; tolerance 1e-8; relTol 0.01; } p_rghFinal { $p_rgh; relTol 0; } "(U|T|k|epsilon|R)" { solver PBiCGStab; preconditioner DILU; tolerance 1e-6; relTol 0.1; } "(U|T|k|epsilon|R)Final" { $U; relTol 0; } } PIMPLE { momentumPredictor no; nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; } relaxationFactors { equations { "(U|T|k|epsilon|R)" 1; "(U|T|k|epsilon|R)Final" 1; } }
設定確認 setFieldsDict
defaultFieldValues ( volScalarFieldValue T 300 ); regions ( boxToFace { box (4.5 -1000 4.5) (5.5 1e-5 5.5); fieldValues ( volScalarFieldValue T 600 ); } );
コメント