Files
OpenFOAM-12/tutorials/modules/incompressibleFluid/drivaerFastback/system/snappyHexMeshDict.orig
Henry Weller ca89189ecd solvers::incompressibleFluid: New solver module for incompressible fluid flow
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
2022-08-08 22:46:51 +01:00

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;
// ************************************************************************* //