OpenFoamのサンプル確認(パラメータやキーワードの覚書)です。
バージョン : Windows版(OpenFOAM-v2206-windows-mingw.exe)
ベース
チュートリアルフォルダ:チュートリアル場所(windows)
引用元
<チュートリアルフォルダ>\compressible\sonicDyMFoam
結果図
作業
基本的な流れはT703 OpenFoam tipsと同じです。(または作業)
//コマンド:メッシュ作成 blockMesh //計算実行// sonicDyMFoam //ParaView用VTK変換// foamToVTK
全体構造
sonicDyMFoam ├ 0 │ ├ p │ ├ pointMotionUx │ ├ T │ └ U ├ constant │ ├ dynamicMeshDict │ ├ thermophysicalProperties │ └ turbulenceProperties └ system ├ blockMeshDict ├ controlDict ├ fvSchemes └ fvSolution
0
p
dimensions [1 -1 -2 0 0 0 0]; internalField uniform 1e5; boundaryField { movingWall { type zeroGradient; } farFieldMoving { type zeroGradient; } fixedWall { type zeroGradient; } left { type totalPressure; p0 $internalField; } farField { type zeroGradient; } back { type wedge; } front { type wedge; } }
pointMotionUx
dimensions [0 1 -1 0 0 0 0]; internalField uniform 0; boundaryField { movingWall { type uniformFixedValue; uniformValue constant 160; } farFieldMoving { type slip; } fixedWall { type uniformFixedValue; uniformValue constant 0; } left { type uniformFixedValue; uniformValue constant 0; } farField { type slip; } back { type wedge; } front { type wedge; } }
T
dimensions [0 0 0 1 0 0 0]; internalField uniform 300; boundaryField { movingWall { type zeroGradient; } farFieldMoving { type zeroGradient; } fixedWall { type zeroGradient; } left { type inletOutlet; inletValue $internalField; } farField { type zeroGradient; } back { type wedge; } front { type wedge; } }
U
dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { movingWall { type movingWallVelocity; value $internalField; } farFieldMoving { type noSlip; } fixedWall { type noSlip; } left { type pressureInletOutletVelocity; value $internalField; } farField { type noSlip; } back { type wedge; } front { type wedge; } }
constant
dynamicMeshDict
dynamicFvMesh dynamicMotionSolverFvMesh; motionSolverLibs (fvMotionSolvers); motionSolver velocityComponentLaplacian; component x; diffusivity directional (1 200 0);
thermophysicalProperties
thermoType { type hePsiThermo; mixture pureMixture; transport const; thermo hConst; equationOfState perfectGas; specie specie; energy sensibleInternalEnergy; } mixture { specie { molWeight 28.9; } thermodynamics { Cp 1007; Hf 2.544e+06; } transport { mu 1e-3; Pr 0.7; } }
turbulenceProperties
simulationType laminar;
system
blockMeshDict
scale 0.001; mergeType points; // Wedge geometry - Merge points instead of topology vertices ( (-7.5 0 0) (-7 0 0) (-3.5 0 0) (0 0 0) (-7.5 0.75 -0.032745707) (-7 0.75 -0.032745707) (-3.5 2 -0.087321886) (0 2 -0.087321886) (-7.5 2.5 -0.10915236) (-7 2.5 -0.10915236) (-3.5 2.5 -0.10915236) (0 2.5 -0.10915236) (-7.5 0.75 0.032745707) (-7 0.75 0.032745707) (-3.5 2 0.087321886) (0 2 0.087321886) (-7.5 2.5 0.10915236) (-7 2.5 0.10915236) (-3.5 2.5 0.10915236) (0 2.5 0.10915236) ); blocks ( hex (0 1 5 4 0 1 13 12) (15 15 1) simpleGrading (1 1 1) hex (2 3 7 6 2 3 15 14) (20 20 1) simpleGrading (2 0.25 1) hex (4 5 9 8 12 13 17 16) (15 15 1) simpleGrading (1 1 1) hex (5 6 10 9 13 14 18 17) (50 15 1) simpleGrading (1 1 1) hex (6 7 11 10 14 15 19 18) (20 15 1) simpleGrading (2 1 1) ); edges ( ); boundary ( movingWall { type wall; faces ( (1 5 13 1) (5 6 14 13) (2 2 14 6) ); } farFieldMoving { type patch; faces ( (9 17 18 10) ); } fixedWall { type wall; faces ( (3 7 15 3) (7 11 19 15) ); } axis { type empty; faces ( (0 1 1 0) (2 3 3 2) ); } left { type patch; faces ( (0 0 12 4) (4 12 16 8) ); } farField { type patch; faces ( (8 16 17 9) (10 18 19 11) ); } back { type wedge; faces ( (0 4 5 1) (2 6 7 3) (4 8 9 5) (5 9 10 6) (6 10 11 7) ); } front { type wedge; faces ( (0 1 13 12) (2 3 15 14) (12 13 17 16) (13 14 18 17) (14 15 19 18) ); } ); mergePatchPairs ( );
controlDict
application sonicDyMFoam; startFrom startTime; startTime 0; stopAt endTime; endTime 0.00002; deltaT 1e-08; writeControl adjustable; writeInterval 5e-7; purgeWrite 10; writeFormat binary; writePrecision 6; writeCompression off; timeFormat general; timePrecision 6; runTimeModifiable true; adjustTimeStep yes; maxCo 0.2;
fvSchemes
ddtSchemes { default Euler; } gradSchemes { default Gauss linear; } divSchemes { default none; div(phi,U) Gauss vanLeerV; div(phi,e) Gauss vanLeer; div(phid,p) Gauss vanLeer; div(phi,K) Gauss vanLeer; div(phiv,p) Gauss linear; div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear corrected; laplacian(diffusivity,cellMotionU) Gauss linear uncorrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; }
fvSolution
solvers { p { solver PBiCGStab; preconditioner DILU; tolerance 1e-06; relTol 0.01; } pFinal { $p; relTol 0; } "pcorr.*" { solver PCG; preconditioner DIC; tolerance 1e-2; relTol 0; } "rho.*" { solver diagonal; tolerance 1e-05; relTol 0; } "(U|h|e)" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-05; relTol 0.1; } "(U|h|e)Final" { $U; relTol 0; } cellMotionUx { solver PCG; preconditioner DIC; tolerance 1e-08; relTol 0; } } PIMPLE { momentumPredictor yes; correctPhi yes; nOuterCorrectors 2; nCorrectors 2; transonic yes; nNonOrthogonalCorrectors 0; rhoMin 0.1; rhoMax 100.0; } relaxationFactors { equations { ".*" 1; } }
コメント