buoyantBoussinesq[SP]impleFoam: replaced by the more general buoyant[SP]impleFoam solvers

With the selection of the Boussinesq equation of state the general buoyancy
solvers buoyantSimpleFoam and buoyantPimpleFoam can be used instead of the
specialised Boussinesq solvers avoiding the need for special implementation of
thermal and pressure boundary conditions and providing support for radiation and
fvOptions which would not have been feasible or practical in the Boussinesq
solvers.

Other incompressible equations of state are also supported; for most gaseous
problems the incompressiblePerfectGas equation of state is likely to be more
accurate than the Boussinesq equation of state.

The buoyantBoussinesq[SP]impleFoam tutorials have been updated and moved to the
corresponding buoyant[SP]impleFoam directories.
This commit is contained in:
Henry Weller
2019-03-26 21:42:14 +00:00
parent 12c4abe3ba
commit 9bf34679bd
107 changed files with 458 additions and 1083 deletions

View File

@ -1,35 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
transportModel Newtonian;
// Laminar viscosity
nu [0 2 -1 0 0 0 0] 1e-05;
// Thermal expansion coefficient
beta [0 0 0 -1 0 0 0] 3e-03;
// Reference temperature
TRef [0 0 0 1 0 0 0] 300;
// Laminar Prandtl number
Pr [0 0 0 0 0 0 0] 0.7;
// Turbulent Prandtl number
Prt [0 0 0 0 0 0 0] 0.85;
// ************************************************************************* //

View File

@ -1,9 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase
#------------------------------------------------------------------------------

View File

@ -1,35 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
transportModel Newtonian;
// Laminar viscosity
nu [0 2 -1 0 0 0 0] 1e-05;
// Thermal expansion coefficient
beta [0 0 0 -1 0 0 0] 3e-03;
// Reference temperature
TRef [0 0 0 1 0 0 0] 300;
// Laminar Prandtl number
Pr [0 0 0 0 0 0 0] 0.7;
// Turbulent Prandtl number
Prt [0 0 0 0 0 0 0] 0.85;
// ************************************************************************* //

View File

@ -1,35 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
transportModel Newtonian;
// Laminar viscosity
nu [0 2 -1 0 0 0 0] 1e-05;
// Thermal expansion coefficient
beta [0 0 0 -1 0 0 0] 3e-03;
// Reference temperature
TRef [0 0 0 1 0 0 0] 300;
// Laminar Prandtl number
Pr [0 0 0 0 0 0 0] 0.7;
// Turbulent Prandtl number
Prt [0 0 0 0 0 0 0] 0.85;
// ************************************************************************* //

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
@ -22,7 +22,7 @@ boundaryField
{
wall
{
type alphatJayatillekeWallFunction;
type compressible::alphatJayatillekeWallFunction;
Prt 0.85;
value $internalField;
}

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 0;

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 0;
@ -23,7 +23,6 @@ boundaryField
wall
{
type fixedFluxPressure;
rho rhok;
value $internalField;
}

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo eConst;
equationOfState Boussinesq;
specie specie;
energy sensibleInternalEnergy;
}
mixture
{
specie
{
molWeight 18;
}
equationOfState
{
rho0 1;
T0 300;
beta 1e-03;
}
thermodynamics
{
Cv 712;
Hf 0;
}
transport
{
mu 1e-03;
Pr 1;
}
}
// ************************************************************************* //

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application buoyantBoussinesqPimpleFoam;
application buoyantPimpleFoam;
startFrom latestTime;

View File

@ -30,13 +30,16 @@ divSchemes
default none;
div(phi,U) Gauss linearUpwind grad(U);
div(phi,T) Gauss limitedLinear 1;
div(phi,e) Gauss limitedLinear 1;
turbulence Gauss limitedLinear 1;
div(phi,k) $turbulence;
div(phi,epsilon) $turbulence;
div((nuEff*dev2(T(grad(U))))) Gauss linear;
div(phiv,p) Gauss linear;
div(phi,K) Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes

View File

@ -17,6 +17,11 @@ FoamFile
solvers
{
"rho.*"
{
solver diagonal;
}
p_rgh
{
solver GAMG;
@ -31,7 +36,7 @@ solvers
relTol 0;
}
"(U|T|k|epsilon)"
"(U|e|k|epsilon)"
{
solver PBiCGStab;
preconditioner DILU;
@ -39,9 +44,9 @@ solvers
relTol 0.01;
}
"(U|T|k|epsilon)Final"
"(U|e|k|epsilon)Final"
{
$T;
$U;
relTol 0;
}
@ -52,6 +57,7 @@ PIMPLE
momentumPredictor no;
nNonOrthogonalCorrectors 0;
nCorrectors 2;
pRefCell 0;
pRefValue 0;
}

View File

@ -1,9 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase
#------------------------------------------------------------------------------

View File

@ -25,11 +25,13 @@ boundaryField
type fixedValue;
value uniform 300;
}
ceiling
{
type fixedValue;
value uniform 300;
}
fixedWalls
{
type zeroGradient;

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
@ -23,20 +23,17 @@ boundaryField
{
floor
{
type alphatJayatillekeWallFunction;
Prt 0.85;
type compressible::alphatWallFunction;
value uniform 0;
}
ceiling
{
type alphatJayatillekeWallFunction;
Prt 0.85;
type compressible::alphatWallFunction;
value uniform 0;
}
fixedWalls
{
type alphatJayatillekeWallFunction;
Prt 0.85;
type compressible::alphatWallFunction;
value uniform 0;
}
}

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 0;

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 0;
@ -23,21 +23,18 @@ boundaryField
floor
{
type fixedFluxPressure;
rho rhok;
value uniform 0;
}
ceiling
{
type fixedFluxPressure;
rho rhok;
value uniform 0;
}
fixedWalls
{
type fixedFluxPressure;
rho rhok;
value uniform 0;
}
}

View File

@ -4,6 +4,7 @@ cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Get application name
application=$(getApplication)
runApplication blockMesh

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo eConst;
equationOfState Boussinesq;
specie specie;
energy sensibleInternalEnergy;
}
mixture
{
specie
{
molWeight 28.9;
}
equationOfState
{
rho0 1;
T0 300;
beta 3e-03;
}
thermodynamics
{
Cv 712;
Hf 0;
}
transport
{
mu 1e-05;
Pr 0.7;
}
}
// ************************************************************************* //

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType RAS;
simulationType RAS;
RAS
{

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application buoyantBoussinesqPimpleFoam;
application buoyantPimpleFoam;
startFrom startTime;
@ -29,7 +29,7 @@ deltaT 2;
writeControl timeStep;
writeInterval 200;
writeInterval 100;
purgeWrite 0;

View File

@ -30,17 +30,20 @@ divSchemes
default none;
div(phi,U) Gauss upwind;
div(phi,T) Gauss upwind;
div(phi,e) Gauss upwind;
div(phi,k) Gauss upwind;
div(phi,epsilon) Gauss upwind;
div(phi,R) Gauss upwind;
div(R) Gauss linear;
div((nuEff*dev2(T(grad(U))))) Gauss linear;
div(phiv,p) Gauss linear;
div(phi,K) Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear uncorrected;
default Gauss linear corrected;
}
interpolationSchemes
@ -50,7 +53,7 @@ interpolationSchemes
snGradSchemes
{
default uncorrected;
default corrected;
}

View File

@ -17,6 +17,11 @@ FoamFile
solvers
{
"rho.*"
{
solver diagonal;
}
p_rgh
{
solver PCG;
@ -31,7 +36,7 @@ solvers
relTol 0;
}
"(U|T|k|epsilon|R)"
"(U|e|k|epsilon)"
{
solver PBiCGStab;
preconditioner DILU;
@ -39,7 +44,7 @@ solvers
relTol 0.1;
}
"(U|T|k|epsilon|R)Final"
"(U|e|k|epsilon)Final"
{
$U;
relTol 0;
@ -48,21 +53,14 @@ solvers
PIMPLE
{
momentumPredictor no;
momentumPredictor yes;
nOuterCorrectors 1;
nCorrectors 2;
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 0;
}
relaxationFactors
{
equations
{
"(U|T|k|epsilon|R)" 1;
"(U|T|k|epsilon|R)Final" 1;
}
}
// ************************************************************************* //

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
@ -23,19 +23,19 @@ boundaryField
{
floor
{
type alphatJayatillekeWallFunction;
type compressible::alphatJayatillekeWallFunction;
Prt 0.85;
value uniform 0;
}
ceiling
{
type alphatJayatillekeWallFunction;
type compressible::alphatJayatillekeWallFunction;
Prt 0.85;
value uniform 0;
}
fixedWalls
{
type alphatJayatillekeWallFunction;
type compressible::alphatJayatillekeWallFunction;
Prt 0.85;
value uniform 0;
}

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 0;

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 0;
@ -23,21 +23,18 @@ boundaryField
floor
{
type fixedFluxPressure;
rho rhok;
value uniform 0;
}
ceiling
{
type fixedFluxPressure;
rho rhok;
value uniform 0;
}
fixedWalls
{
type fixedFluxPressure;
rho rhok;
value uniform 0;
}
}

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo eConst;
equationOfState Boussinesq;
specie specie;
energy sensibleInternalEnergy;
}
mixture
{
specie
{
molWeight 28.9;
}
equationOfState
{
rho0 1;
T0 300;
beta 3e-03;
}
thermodynamics
{
Cv 712;
Hf 0;
}
transport
{
mu 1e-05;
Pr 0.7;
}
}
// ************************************************************************* //

View File

@ -15,9 +15,9 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application buoyantBoussinesqSimpleFoam;
application buoyantSimpleFoam;
startFrom latestTime;
startFrom startTime;
startTime 0;

View File

@ -30,10 +30,13 @@ divSchemes
default none;
div(phi,U) bounded Gauss upwind;
div(phi,T) bounded Gauss upwind;
div(phi,e) bounded Gauss upwind;
div(phi,k) bounded Gauss upwind;
div(phi,epsilon) bounded Gauss upwind;
div((nuEff*dev2(T(grad(U))))) Gauss linear;
div(phi,Ekp) bounded Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes

View File

@ -25,7 +25,7 @@ solvers
relTol 0.01;
}
"(U|T|k|epsilon|R)"
"(U|e|k|epsilon)"
{
solver PBiCGStab;
preconditioner DILU;
@ -37,6 +37,7 @@ solvers
SIMPLE
{
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 0;
@ -44,7 +45,7 @@ SIMPLE
{
p_rgh 1e-2;
U 1e-4;
T 1e-2;
e 1e-2;
// possibly check turbulence fields
"(k|epsilon|omega)" 1e-3;
@ -60,7 +61,7 @@ relaxationFactors
equations
{
U 0.3;
T 0.5;
e 0.5;
"(k|epsilon|R)" 0.7;
}
}

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
@ -26,7 +26,7 @@ boundaryField
wall
{
type alphatJayatillekeWallFunction;
type compressible::alphatJayatillekeWallFunction;
Prt 0.85;
value uniform 0;
}

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 0;

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 0;
@ -26,7 +26,6 @@ boundaryField
wall
{
type fixedFluxPressure;
rho rhok;
value uniform 0;
}
}

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo eConst;
equationOfState Boussinesq;
specie specie;
energy sensibleInternalEnergy;
}
mixture
{
specie
{
molWeight 28.9;
}
equationOfState
{
rho0 1;
T0 300;
beta 3e-03;
}
thermodynamics
{
Cv 712;
Hf 0;
}
transport
{
mu 1e-05;
Pr 0.7;
}
}
// ************************************************************************* //

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application buoyantBoussinesqSimpleFoam;
application buoyantSimpleFoam;
startFrom startTime;

View File

@ -30,12 +30,13 @@ divSchemes
default none;
div(phi,U) bounded Gauss upwind;
div(phi,T) bounded Gauss upwind;
div(phi,e) bounded Gauss upwind;
div(phi,k) bounded Gauss upwind;
div(phi,epsilon) bounded Gauss upwind;
div(phi,R) bounded Gauss upwind;
div(R) Gauss linear;
div((nuEff*dev2(T(grad(U))))) Gauss linear;
div(phi,Ekp) bounded Gauss linear;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes

View File

@ -25,7 +25,7 @@ solvers
relTol 0.01;
}
"(U|T|k|epsilon)"
"(U|e|k|epsilon)"
{
solver PBiCGStab;
preconditioner DILU;
@ -44,7 +44,7 @@ SIMPLE
{
p_rgh 1e-2;
U 1e-4;
T 1e-3;
e 1e-3;
// possibly check turbulence fields
"(k|epsilon|omega)" 1e-3;
@ -60,7 +60,7 @@ relaxationFactors
equations
{
U 0.2;
T 0.5;
e 0.5;
"(k|epsilon)" 0.7;
}
}