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