executed with foamRun for single region simulations of foamMultiRun for
multi-region simulations. Replaces pimpleFoam, pisoFoam and simpleFoam and all
the corresponding tutorials have been updated and moved to
tutorials/modules/incompressibleFluid.
Class
Foam::solvers::incompressibleFluid
Description
Solver module for steady or transient turbulent flow of incompressible
isothermal fluids with optional mesh motion and change.
Uses the flexible PIMPLE (PISO-SIMPLE) solution for time-resolved and
pseudo-transient and steady simulations.
Optional fvModels and fvConstraints are provided to enhance the simulation
in many ways including adding various sources, constraining or limiting
the solution.
Reference:
\verbatim
Greenshields, C. J., & Weller, H. G. (2022).
Notes on Computational Fluid Dynamics: General Principles.
CFD Direct Ltd.: Reading, UK.
\endverbatim
SourceFiles
incompressibleFluid.C
See also
Foam::solvers::fluidSolver
Foam::solvers::isothermalFluid
139 lines
2.4 KiB
C++
139 lines
2.4 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
========= |
|
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
\\ / O peration | Website: https://openfoam.org
|
|
\\ / A nd | Version: dev
|
|
\\/ M anipulation |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
format ascii;
|
|
class dictionary;
|
|
object snappyHexMeshDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
#includeEtc "caseDicts/mesh/generation/snappyHexMeshDict.cfg"
|
|
|
|
castellatedMesh on;
|
|
snap on;
|
|
addLayers on;
|
|
|
|
geometry
|
|
{
|
|
body
|
|
{
|
|
type triSurfaceMesh;
|
|
file "body.obj";
|
|
}
|
|
|
|
frontWheels
|
|
{
|
|
type triSurfaceMesh;
|
|
file "frontWheels.obj";
|
|
}
|
|
|
|
rearWheels
|
|
{
|
|
type triSurfaceMesh;
|
|
file "rearWheels.obj";
|
|
}
|
|
|
|
upstream
|
|
{
|
|
type searchableBox;
|
|
min (-10 -1.5 0);
|
|
max ( 3 1.5 0.8);
|
|
}
|
|
|
|
underbody
|
|
{
|
|
type searchableBox;
|
|
min (-10 -1.5 0);
|
|
max ( 3 1.5 0.15);
|
|
}
|
|
|
|
wake
|
|
{
|
|
type searchableBox;
|
|
min ( 3 -1.2 0);
|
|
max ( 6 1.2 1.4);
|
|
}
|
|
|
|
downstream
|
|
{
|
|
type searchableBox;
|
|
min ( 3 -1.5 0);
|
|
max (30 1.5 1.8);
|
|
}
|
|
};
|
|
|
|
castellatedMeshControls
|
|
{
|
|
features ();
|
|
|
|
refinementSurfaces
|
|
{
|
|
body
|
|
{
|
|
level (5 5);
|
|
patchInfo { type wall; }
|
|
}
|
|
|
|
".*Wheels" // level 5 needed to avoid single cells in treads
|
|
{
|
|
level (4 5);
|
|
patchInfo { type wall; }
|
|
}
|
|
}
|
|
|
|
refinementRegions
|
|
{
|
|
body
|
|
{
|
|
mode distance;
|
|
levels ((0.2 5));
|
|
}
|
|
|
|
"(wake|underbody)"
|
|
{
|
|
mode inside;
|
|
level 4;
|
|
}
|
|
|
|
".*stream"
|
|
{
|
|
mode inside;
|
|
level 3;
|
|
}
|
|
}
|
|
|
|
insidePoint (0 0 3);
|
|
nCellsBetweenLevels 5;
|
|
}
|
|
|
|
snapControls {}
|
|
|
|
addLayersControls
|
|
{
|
|
layers
|
|
{
|
|
body
|
|
{
|
|
nSurfaceLayers 2;
|
|
}
|
|
}
|
|
|
|
relativeSizes on;
|
|
expansionRatio 1.2;
|
|
finalLayerThickness 0.5;
|
|
minThickness 1e-3;
|
|
maxThicknessToMedialRatio 0.6;
|
|
}
|
|
|
|
writeFlags ();
|
|
|
|
mergeTolerance 1e-6;
|
|
|
|
// ************************************************************************* //
|