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;
}
}
コメント