OpenFoamのサンプル確認(パラメータやキーワードの覚書)です。
バージョン : Windows版(OpenFOAM-v2206-windows-mingw.exe)
ベース
チュートリアルフォルダ:チュートリアル場所(windows)
引用元
<チュートリアルフォルダ>\incompressible\pimpleFoam\laminar\movingCone
結果図
作業
基本的な流れはT703 OpenFoam tipsと同じです。(または作業)
//コマンド:メッシュ作成 blockMesh //計算実行// pimpleFoam //ParaView用VTK変換// foamToVTK
全体構造
movingCone ├ 0 │ ├ p │ ├ pointMotionUx │ └ U ├ constant │ ├ dynamicMeshDict │ ├ transportProperties │ └ turbulenceProperties └ system ├ blockMeshDict ├ controlDict ├ cuttingPlane ├ fvSchemes ├ fvSolution └ vtkWrite
0
p
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
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 1;
}
farFieldMoving
{
type slip;
}
fixedWall
{
type uniformFixedValue;
uniformValue constant 0;
}
left
{
type uniformFixedValue;
uniformValue constant 0;
}
farField
{
type slip;
}
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);
transportProperties
transportModel Newtonian; nu 1e-05;
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)
);
}
);
controlDict
application pimpleFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 0.003;
deltaT 5e-06;
writeControl timeStep;
writeInterval 40;
purgeWrite 0;
writeFormat binary;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
adjustTimeStep no;
maxCo 0.2;
functions
{
#include "cuttingPlane"
#include "vtkWrite"
}
cuttingPlane
cuttingPlane
{
type surfaces;
libs (sampling);
writeControl writeTime;
surfaceFormat vtk;
fields ( p U );
interpolationScheme cellPoint;
surfaces
{
zNormal
{
type cuttingPlane;
planeType pointAndNormal;
pointAndNormalDict
{
point (0 0 0);
normal (0 0 1);
}
interpolate true;
}
}
}
fvSchemes
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
div(phi,U) Gauss linear;
div((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 GAMG;
tolerance 0;
relTol 0.01;
smoother GaussSeidel;
cacheAgglomeration no;
}
pFinal
{
$p;
tolerance 1e-06;
relTol 0;
}
"pcorr.*"
{
$p
tolerance 0.02;
relTol 0;
}
U
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-05;
relTol 0.1;
}
UFinal
{
$U;
tolerance 1e-05;
relTol 0;
}
cellMotionUx
{
solver PCG;
preconditioner DIC;
tolerance 1e-08;
relTol 0;
}
}
PIMPLE
{
correctPhi yes;
nOuterCorrectors 2;
nCorrectors 1;
nNonOrthogonalCorrectors 0;
}
relaxationFactors
{
equations
{
"U.*" 1;
}
}
vtkWrite
// Minimal example of using the vtkWrite function object.
vtkWrite
{
type vtkWrite;
libs (utilityFunctionObjects);
writeControl writeTime;
boundary false;
// Fields to output (words or regex)
fields (U p "(k|epsilon|omega)");
}
コメント