executed with foamRun for single region simulations of foamMultiRun for
multi-region simulations. Replaces rhoCentralFoam and all the corresponding
tutorials have been updated and moved to tutorials/modules/shockFluid.
Unlike rhoCentralFoam shockFluid supports mesh refinement/unrefinement, topology
change, run-time mesh-to-mesh mapping, load-balancing in addition to general
mesh-motion.
The tutorials/modules/shockFluid/movingCone case has been updated to demonstrate
run-time mesh-to-mesh mapping mesh topology change based on the
tutorials/modules/incompressibleFluid/movingCone. shockFluid s
Description
Solver module for density-based solution of compressible flow
Based on central-upwind schemes of Kurganov and Tadmor with support for
mesh-motion and topology change.
Reference:
\verbatim
Greenshields, C. J., Weller, H. G., Gasparini, L.,
& Reese, J. M. (2010).
Implementation of semi‐discrete, non‐staggered central schemes
in a colocated, polyhedral, finite volume framework,
for high‐speed viscous flows.
International journal for numerical methods in fluids, 63(1), 1-21.
\endverbatim
SourceFiles
shockFluid.C
See also
Foam::solvers::fluidSolver
Foam::solvers::incompressibleFluid
140 lines
2.6 KiB
C++
140 lines
2.6 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 blockMeshDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
convertToMeters 0.001;
|
|
|
|
vertices
|
|
(
|
|
(-7.5 0 0)
|
|
(-7 0 0)
|
|
(-3.5 0 0)
|
|
(0 0 0)
|
|
(-7.5 0.75 -0.03271454)
|
|
(-7 0.75 -0.03271454)
|
|
(-3.5 2 -0.087238774)
|
|
(0 2 -0.087238774)
|
|
(-7.5 2.5 -0.10904846)
|
|
(-7 2.5 -0.10904846)
|
|
(-3.5 2.5 -0.10904846)
|
|
(0 2.5 -0.10904846)
|
|
(-7.5 0.75 0.03271454)
|
|
(-7 0.75 0.03271454)
|
|
(-3.5 2 0.087238774)
|
|
(0 2 0.087238774)
|
|
(-7.5 2.5 0.10904846)
|
|
(-7 2.5 0.10904846)
|
|
(-3.5 2.5 0.10904846)
|
|
(0 2.5 0.10904846)
|
|
);
|
|
|
|
blocks
|
|
(
|
|
hex (0 1 5 4 0 1 13 12) (8 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) (8 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)
|
|
);
|
|
|
|
boundary
|
|
(
|
|
internal
|
|
{
|
|
type internal;
|
|
faces ();
|
|
}
|
|
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)
|
|
);
|
|
}
|
|
);
|
|
|
|
|
|
// ************************************************************************* //
|