ENH: Adding option to thermalBaffle to be used as external/internal baffle

Now the thermal baffle can be extrapolated from a patch which is
  coupled to the bottom patch of the solid region.

  The user can set the T bc on the 'top' patch of the solid.

  The new keyword is 'internal' and its default is true. Check new
  tutorial for an example:

  tutorials/heatTransfer/buoyantSimpleFoam/roomWithThickCeiling/
This commit is contained in:
sergio
2020-04-06 15:24:39 -07:00
parent f644d78bde
commit 0eed8fa829
25 changed files with 1200 additions and 34 deletions

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -47,6 +48,7 @@ thermalBaffleFvPatchScalarField::thermalBaffleFvPatchScalarField
:
turbulentTemperatureRadCoupledMixedFvPatchScalarField(p, iF),
owner_(false),
internal_(true),
baffle_(),
dict_(dictionary::null),
extrudeMeshPtr_()
@ -69,6 +71,7 @@ thermalBaffleFvPatchScalarField::thermalBaffleFvPatchScalarField
mapper
),
owner_(ptf.owner_),
internal_(ptf.internal_),
baffle_(),
dict_(ptf.dict_),
extrudeMeshPtr_()
@ -84,6 +87,7 @@ thermalBaffleFvPatchScalarField::thermalBaffleFvPatchScalarField
:
turbulentTemperatureRadCoupledMixedFvPatchScalarField(p, iF, dict),
owner_(false),
internal_(true),
baffle_(),
dict_(dict),
extrudeMeshPtr_()
@ -93,9 +97,10 @@ thermalBaffleFvPatchScalarField::thermalBaffleFvPatchScalarField
typedef regionModels::thermalBaffleModels::thermalBaffleModel baffle;
if (thisMesh.name() == polyMesh::defaultRegion)
{
const word regionName = dict_.lookupOrDefault<word>("region", "none");
word regionName("none");
dict_.readIfPresent("region", regionName);
dict_.readIfPresent("internal", internal_);
const word baffleName("3DBaffle" + regionName);
@ -114,7 +119,6 @@ thermalBaffleFvPatchScalarField::thermalBaffleFvPatchScalarField
owner_ = true;
baffle_->rename(baffleName);
}
}
}
@ -126,6 +130,7 @@ thermalBaffleFvPatchScalarField::thermalBaffleFvPatchScalarField
:
turbulentTemperatureRadCoupledMixedFvPatchScalarField(ptf, iF),
owner_(ptf.owner_),
internal_(ptf.internal_),
baffle_(),
dict_(ptf.dict_),
extrudeMeshPtr_()
@ -170,7 +175,15 @@ void thermalBaffleFvPatchScalarField::createPatchMesh()
patchNames[topPatchID] = word("top");
patchTypes[bottomPatchID] = mappedWallPolyPatch::typeName;
if (internal_)
{
patchTypes[topPatchID] = mappedWallPolyPatch::typeName;
}
else
{
patchTypes[topPatchID] = polyPatch::typeName;
}
if (dict_.get<bool>("columnCells"))
{
@ -189,10 +202,16 @@ void thermalBaffleFvPatchScalarField::createPatchMesh()
wordList inGroups(1);
inGroups[0] = coupleGroup;
// The bottomPatchID is coupled with this patch
dicts[bottomPatchID].add("coupleGroup", coupleGroup);
dicts[bottomPatchID].add("inGroups", inGroups);
dicts[bottomPatchID].add("sampleMode", mpp.sampleModeNames_[mpp.mode()]);
dicts[bottomPatchID].add("samplePatch", patch().name());
dicts[bottomPatchID].add("sampleRegion", thisMesh.name());
// Internal baffle needs a coupled on the topPatchID
if (internal_)
{
const word coupleGroupSlave =
coupleGroup.substr(0, coupleGroup.find('_')) + "_slave";
@ -200,6 +219,7 @@ void thermalBaffleFvPatchScalarField::createPatchMesh()
dicts[topPatchID].add("coupleGroup", coupleGroupSlave);
dicts[topPatchID].add("inGroups", inGroups);
dicts[topPatchID].add("sampleMode", mpp.sampleModeNames_[mpp.mode()]);
}
forAll(regionPatches, patchi)
@ -247,9 +267,7 @@ void thermalBaffleFvPatchScalarField::updateCoeffs()
return;
}
const fvMesh& thisMesh = patch().boundaryMesh().mesh();
if (owner_ && thisMesh.name() == polyMesh::defaultRegion)
if (owner_)
{
baffle_->evolve();
}
@ -262,9 +280,7 @@ void thermalBaffleFvPatchScalarField::write(Ostream& os) const
{
turbulentTemperatureRadCoupledMixedFvPatchScalarField::write(os);
const fvMesh& thisMesh = patch().boundaryMesh().mesh();
if (owner_ && (thisMesh.name() == polyMesh::defaultRegion))
if (owner_)
{
os.writeEntry("extrudeModel", dict_.get<word>("extrudeModel"));
@ -281,6 +297,8 @@ void thermalBaffleFvPatchScalarField::write(Ostream& os) const
os.writeEntry("region", dict_.get<word>("region"));
os.writeEntryIfDifferent<bool>("internal", true, internal_);
os.writeEntry("active", dict_.get<Switch>("active"));
os.writeKeyword("thermoType");

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -40,11 +41,53 @@ Description
The primary region creates the baffle region and evolves its energy
equation either:
- 1-D, normal to each patch face
- 2-D, normal and tangential components
- 3-D, normal and tangential components
The thermodynamic properties of the baffle material are specified via
dictionary entries on the master patch.
The underlying polyPatch on the primary region needs to be defined
as a complete mappedWall. i.e:
\verbatim
type mappedWall;
sampleMode nearestPatchFace;
samplePatch <patchName>;
sampleRegion <regionName>;
coupleGroup <coupleGroupName>;
\endverbatim
The /keyword{internal} is true when the thermal baffle is used on internal
faces and the baffle is coupled on both sides (bottom and top).
If this baffle is used on a patch set internal = false. By default is
true.
\table
Property | Description | Required | Default value
Tnbr | name of the field | no | T
qrNbr | name of the radiative flux in the nbr region | no | none
qr | name of the radiative flux in this region | no | none
thicknessLayers | inherited from temperatureCoupledBase | inherited
kappaLayers | inherited from temperatureCoupledBase | inherited
kappaMethod | inherited from temperatureCoupledBase | inherited
kappa | inherited from temperatureCoupledBase | inherited
thermalInertia | Add thermal inertia to wall node | no | false
region | Name of the solid region | yes
active | Active | yes
internal | Is the baffle an internal regiion | no | true
thermoType | Solid thermo type | yes
mixture | Mixture solid | yes
radiation | Radiation model in the solid | yes
extrudeModel | Extrude model | yes
nLayers | Number of cell across the ragion | yes
expansionRatio | Expansion ratio for the solid region | yes
columnCells | true for 1D or false for 3D region | yes
\endtable
Usage
Example of the boundary condition specification:
\verbatim
@ -61,8 +104,9 @@ Usage
value uniform 300;
// Baffle region name
regionName baffleRegion;
region baffleRegion;
active yes;
internal yes;
// Solid thermo in solid region
thermoType
@ -118,6 +162,9 @@ Usage
}
\endverbatim
If the thermal baffle is used on internal faces of the primary region,
then the slave in this region is defined as :
Slave patch on primary region:
\verbatim
<slavePatchName>
@ -195,6 +242,9 @@ class thermalBaffleFvPatchScalarField
//- Is the baffle owner
bool owner_;
//- Is the baffle internal
bool internal_;
//- Thermal baffle
autoPtr<regionModels::thermalBaffleModels::thermalBaffleModel> baffle_;

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -190,7 +191,7 @@ thermalBaffle::thermalBaffle
regionMesh().time().timeName(),
regionMesh(),
IOobject::READ_IF_PRESENT,
IOobject::NO_WRITE
IOobject::AUTO_WRITE
),
regionMesh(),
dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero)

View File

@ -0,0 +1,119 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 300;
boundaryField
{
floor
{
type zeroGradient;
}
ceiling
{
type compressible::thermalBaffle;
// Underlying coupled boundary condition
Tnbr T;
kappaMethod fluidThermo; // or solidThermo
qrNbr none;//or none.Name of qr field on neighbourregion
qr none;// or none.Name of qr field on localregion
value uniform 300;
// Baffle region name
region baffle3DRegion;
active yes;
// The baffle is extruded from this patch to the patch 'bottom'
// of the solid region.
internal no;
// Solid thermo in solid region
thermoType
{
type heSolidThermo;
mixture pureMixture;
transport constIso;
thermo hConst;
equationOfState rhoConst;
specie specie;
energy sensibleEnthalpy;
}
mixture
{
specie
{
molWeight 20;
}
transport
{
kappa 0.01;
}
thermodynamics
{
Hf 0;
Cp 15;
}
equationOfState
{
rho 80;
}
}
radiation
{
radiationModel opaqueSolid;
absorptionEmissionModel none;
scatterModel none;
}
// Extrude model for new region
extrudeModel linearNormal;
nLayers 50;
expansionRatio 1;
columnCells false; //3D
linearNormalCoeffs
{
thickness 0.1;
}
}
inlet
{
type fixedValue;
value uniform 300;
}
outlet
{
type inletOutlet;
inletValue uniform 300;
value uniform 300;
}
fixedWalls
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,56 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
floor
{
type fixedValue;
value uniform (0 0 0);
}
ceiling
{
type fixedValue;
value uniform (0 0 0);
}
inlet
{
type fixedValue;
value uniform (0 0 0);
inletValue uniform (0 0 0);
}
outlet
{
type fixedValue;
inletValue uniform (0 0 0);
value uniform (0 0 0);
}
fixedWalls
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,57 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object alphat;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
floor
{
type compressible::alphatWallFunction;
Prt 0.85;
value uniform 0;
}
ceiling
{
type compressible::alphatWallFunction;
Prt 0.85;
value uniform 0;
}
inlet
{
type compressible::alphatWallFunction;
Prt 0.85;
value uniform 0;
}
outlet
{
type compressible::alphatWallFunction;
Prt 0.85;
value uniform 0;
}
fixedWalls
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,45 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 300;
boundaryField
{
// This patch is the coupled with the ceiling in the fluid region
bottom
{
type compressible::thermalBaffle;
kappaMethod solidThermo;
value uniform 300;
}
side
{
type zeroGradient;
}
// This the external patch of the solid
top
{
type fixedValue;
value uniform 340;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,31 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 1e6;
boundaryField
{
".*"
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,65 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -3 0 0 0 0];
internalField uniform 0.01;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
floor
{
type epsilonWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0.01;
}
ceiling
{
type epsilonWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0.01;
}
inlet
{
type epsilonWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0.01;
}
outlet
{
type epsilonWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0.01;
}
fixedWalls
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.1;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
floor
{
type kqRWallFunction;
value uniform 0.1;
}
ceiling
{
type kqRWallFunction;
value uniform 0.1;
}
inlet
{
type kqRWallFunction;
value uniform 0.1;
}
outlet
{
type kqRWallFunction;
value uniform 0.1;
}
fixedWalls
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,66 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
floor
{
type nutkWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
ceiling
{
type nutkWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
inlet
{
type nutkWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
outlet
{
type nutkWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
fixedWalls
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 101325;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
floor
{
type calculated;
value uniform 101325;
}
ceiling
{
type calculated;
value uniform 101325;
}
inlet
{
type calculated;
value uniform 101325;
}
outlet
{
type calculated;
value uniform 101325;
}
fixedWalls
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,50 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object p_rgh;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 101325;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
floor
{
type fixedFluxPressure;
}
ceiling
{
type fixedFluxPressure;
}
inlet
{
type fixedFluxPressure;
}
outlet
{
type fixedFluxPressure;
}
fixedWalls
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,10 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions
#------------------------------------------------------------------------------
cleanCase0
rm -rf constant/baffle3DRegion
#------------------------------------------------------------------------------

View File

@ -0,0 +1,15 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
#------------------------------------------------------------------------------
runApplication blockMesh
restore0Dir
# change to mapped BC the polyPatch
runApplication changeDictionary
runApplication $(getApplication)
#------------------------------------------------------------------------------

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class uniformDimensionedVectorField;
location "constant";
object g;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -2 0 0 0 0];
value (0 -9.81 0);
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;
}
mixture
{
specie
{
molWeight 28.96;
}
thermodynamics
{
Cp 1004.4;
Hf 0;
}
transport
{
mu 1.831e-05;
Pr 0.705;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType RAS;
RAS
{
RASModel kEpsilon;
turbulence on;
printCoeffs on;
}
// ************************************************************************* //

View File

@ -0,0 +1,40 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system/baffleRegion";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default steadyState;
}
divSchemes
{
default none;
}
gradSchemes
{
default Gauss linear;
}
laplacianSchemes
{
default none;
laplacian(alpha,h) Gauss linear uncorrected;
}
// ************************************************************************* //

View File

@ -0,0 +1,37 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system/baffleRegion";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
h
{
solver PCG;
smoother GaussSeidel;
preconditioner DIC;
tolerance 1e-06;
relTol 0;
}
}
nNonOrthCorr 0;
relaxationFactors
{
h 1;
}
// ************************************************************************* //

View File

@ -0,0 +1,93 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
scale 0.1;
vertices
(
(0 0 0)
(10 0 0)
(10 5 0)
(0 5 0)
(0 0 1)
(10 0 1)
(10 5 1)
(0 5 1)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (50 40 1) simpleGrading (1 1 1)
);
edges
(
);
boundary
(
floor
{
type wall;
faces
(
(1 5 4 0)
);
}
ceiling
{
type wall;
faces
(
(2 6 7 3)
);
}
inlet
{
type wall;
faces
(
(0 4 7 3)
);
}
outlet
{
type wall;
faces
(
(1 5 6 2)
);
}
fixedWalls
{
type empty;
faces
(
(0 3 2 1)
(4 5 6 7)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -0,0 +1,36 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object changeDictionaryDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
boundary
{
ceiling
{
type mappedWall;
sampleMode nearestPatchFace;
samplePatch bottom;
sampleRegion baffle3DRegion;
coupleGroup ceiling_baffle;
offsetMode uniform;
offset (0 0 0);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application buoyantSimpleFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 9000;
deltaT 1;
writeControl timeStep;
writeInterval 500;
purgeWrite 3;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
libs (thermalBaffleModels);
// ************************************************************************* //

View File

@ -0,0 +1,55 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default steadyState;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
div(phi,U) bounded Gauss limitedLinear 0.2;
div(phi,K) bounded Gauss limitedLinear 0.2;
div(phi,h) bounded Gauss limitedLinear 0.2;
div(phi,k) bounded Gauss limitedLinear 0.2;
div(phi,epsilon) bounded Gauss limitedLinear 0.2;
div(phi,omega) bounded Gauss limitedLinear 0.2;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear uncorrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default uncorrected;
}
// ************************************************************************* //

View File

@ -0,0 +1,66 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v1906 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
p_rgh
{
solver GAMG;
tolerance 1e-7;
relTol 0.01;
smoother DICGaussSeidel;
}
"(U|h|k|epsilon|omega)"
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-7;
relTol 0.01;
}
}
SIMPLE
{
momentumPredictor no;
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 0;
residualControl
{
p_rgh 1e-3;
U 1e-4;
h 1e-4;
// possibly check turbulence fields
"(k|epsilon|omega)" 5e-3;
}
}
relaxationFactors
{
p_rgh 0.7;
U 0.3;
h 0.8;
"(k|epsilon|omega)" 0.3;
}
// ************************************************************************* //