singleFluidCHT: template case for conjugate heat transfer

The template is designed to work with the new foamSetupCHT utility.
It works simply for cases with a single fluid region (and multiple
solid regions); it can also be adapted for cases with multiple fluid
regions.  For more information see the included README file.
This commit is contained in:
Chris Greenshields
2018-06-01 18:06:55 +01:00
parent 8f319c87b4
commit a863335743
43 changed files with 2053 additions and 0 deletions

View File

@ -0,0 +1,27 @@
#!/bin/sh
cd "${0%/*}" || exit 1 # run from this directory
# Source tutorial clean functions
. "$WM_PROJECT_DIR/bin/tools/CleanFunctions"
removeRegionDirs () {
# HACK to get regionDirs from materialProperties
_regionDirs="$(grep -E "^[a-Z]" constant/materialProperties | tail -n +2)"
for d in system constant
do
for r in $_regionDirs
do
dir="${d}/${r}"
[ -d "$dir" ] && rm -rf "$dir"
done
done
}
cleanCase
removeRegionDirs
rm -rf 0 > /dev/null 2>&1
rm -rf constant/regionProperties > /dev/null 2>&1
rm -rf constant/extendedFeatureEdgeMesh > /dev/null 2>&1
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,12 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication blockMesh
runApplication surfaceFeatures
runApplication snappyHexMesh -overwrite
runApplication splitMeshRegions -cellZones -defaultRegionName fluid -overwrite
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,20 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
./Allmesh
rm -rf 0
runApplication foamSetupCHT
runApplication $(getApplication)
echo
echo "Creating files for paraview post-processing"
echo
paraFoam -touchAll
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,118 @@
Overview
========
+ This is a template case for conjugate heat transfer (CHT)
+ It is designed to work specifically with the foamSetupCHT utility
+ The template works simply for cases with a single fluid region and multiple
solid regions; it can be adapted for cases with multiple fluid regions
+ It is setup to run the chtMultiRegionFoam solver
+ The Allmesh and Allrun scripts demonstrate the commands to be run
Meshing Strategy
================
+ A single mesh is first created for the entire fluid/solid domain, including
relevant boundary patches, with cellZones to describe the solid regions.
+ The single mesh is then split into separate meshes for each region using
splitMeshRegions.
+ The case is designed to be meshed with snappyHexMesh
+ The overall (comined fluid/solid) domain is described by a single a surface
geometry file named (default name "CAD.obj"), that includes separate surface
regions to describe boundary patches
+ A surface geometry file is provided for each solid; the template includes
example entries for a single solid with geometry file "solid.obj".
Surface Geometry
================
+ Copy the overall domain geometry file ("CAD.obj") and solid geometry files
(e.g. "solid.obj") to the constant/triSurface
+ The CAD.obj should contain an inlet and outlet region to create the relevant
patches in the mesh
Background Mesh
===============
+ The user should establish the bounds of their "CAD.obj" file
+ The blockMeshDict file contains a backgroundMesh subditionary
+ For internal flows, where "CAD.obj" describes the external boundary, set xMin,
xMax, etc to be beyond the "CAD.obj" bounds
+ For external flows, the background mesh can define the external boundary by
uncommenting entries, e.g. left, in the boundary section of blockMeshDict
+ Set background mesh density with xCells, yCells, zCells
+ Run blockMesh
Features
========
+ Edit the surfaceFeatures file to include all the surface geometry files
+ Run surfaceFeatures to extract features for explicit feature capturing
Castellated Mesh
================
+ In the snappyHexMeshDict file, configure the "geometry" subdictionary to
include an entry for each surface geometry file, e.g. "CAD.obj", "solid.obj"
+ Replace <inletPatch> with the name of the inlet region in the "CAD.obj" file
+ Replace <outletPatch> with the name of the outlet region
+ In refinementSurfaces, include an entry to create a cellZone for each solid
+ run snappyHexMesh to obtain a castellatedMesh
+ Review the mesh; modify refinement levels and regenerate the mesh as required
(levels are set in refinementSurfaces and refinementRegions)
Snapped Mesh
============
+ In snappyHexMeshDict, set castellatedMesh off; snap on;
+ Run the snapping phase of snappyHexMesh
+ Review the mesh
Layers
======
+ To add layers to the mesh along wall boundary patches...
+ Switch on addLayers; switch snap off;
+ Run snappyHexMesh
+ The number of layers can be changed by modifying nSurfaceLayers
Creating the CHT Mesh
=====================
Run splitMeshRegions with "-cellZones" to split the solid cellZones into
separate mesh regions; the remaining fluid region can be named with the
"-defaultRegionName" option. For example, to name the default region "fluid":
splitMeshRegions -cellZones -defaultRegionName fluid -overwrite
Initialisation
==============
+ The case initialisation is performed largely by the foamSetupCHT utility
+ foamSetupCHT requires the user to configure a materialProperties file
that includes entries for each region with
+ type : fluid or solid
+ material : e.g. air, aluminium, selected from configured materials in
templates/materials directory
+ The user then runs foamSetupCHT which generates the region directories
in 0, system and constant, containing the respective field, configuration and
properties files
+ The user should edit these files accordingly. The default models and
configuration (e.g. fvSchemes) for each region are generally reliable, but
the user must pay attention to field files (U, T, k, omega, etc), in
particular the boundary conditions and initial conditions.
+ Region boundaries, e.g. solid-fluid and solid-solid, use the "wall" group
boundary conditions by default. External wall boundaries are part of the
"externalWall" group, which has its own boundary condition settings
+ For convenience, some field data common to multiple regions, e.g. initial
temperature, are provided through an "initialConditions" file
Source Terms
============
+ An fvOptions file is included in system for the solid regions
+ It contains examples of fixed temperature and heat flux sources which can
be switched on accordingly
Running the Solver
==================
+ The case uses chtMultiRegionFoam which can run either as a steady-state
solver, or as a transient solver.
+ The default setup is to run steady-state
+ To run transient, the user needs to modify the controlDict file, and fluid
and solid fvSchemes and fvSolutions files. The latter files are annotated
with some information to remind users of the changes required.
Post-Processing
===============
+ In order to post-process with ParaView, run "paraFoam -touchAll", then open
paraview and open the individual ".OpenFOAM" dummy files for individual mesh
regions.

View File

@ -0,0 +1,20 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Tinitial 300;
pInitial 1e5;
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object materialProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
fluid
{
type fluid;
material air;
}
solid
{
type solid;
material copper;
}
// ************************************************************************* //

View File

@ -0,0 +1,124 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
backgroundMesh
{
xMin -1;
xMax 1;
yMin -1;
yMax 1;
zMin -1;
zMax 1;
xCells 20;
yCells 20;
zCells 20;
}
convertToMeters 1;
vertices
(
($:backgroundMesh.xMin $:backgroundMesh.yMin $:backgroundMesh.zMin)
($:backgroundMesh.xMax $:backgroundMesh.yMin $:backgroundMesh.zMin)
($:backgroundMesh.xMax $:backgroundMesh.yMax $:backgroundMesh.zMin)
($:backgroundMesh.xMin $:backgroundMesh.yMax $:backgroundMesh.zMin)
($:backgroundMesh.xMin $:backgroundMesh.yMin $:backgroundMesh.zMax)
($:backgroundMesh.xMax $:backgroundMesh.yMin $:backgroundMesh.zMax)
($:backgroundMesh.xMax $:backgroundMesh.yMax $:backgroundMesh.zMax)
($:backgroundMesh.xMin $:backgroundMesh.yMax $:backgroundMesh.zMax)
);
blocks
(
hex (0 1 2 3 4 5 6 7)
(
$:backgroundMesh.xCells
$:backgroundMesh.yCells
$:backgroundMesh.zCells
)
simpleGrading (1 1 1)
);
edges
(
);
boundary
(
// Uncomment below to define patches in background mesh
/*
left
{
type patch;
faces
(
(0 3 7 4)
);
}
right
{
type patch;
faces
(
(1 5 6 2)
);
}
bottom
{
type patch;
faces
(
(0 1 2 3)
);
}
top
{
type patch;
faces
(
(4 7 6 5)
);
}
back
{
type patch;
faces
(
(0 4 5 1)
);
}
front
{
type patch;
faces
(
(3 2 6 7)
);
}
*/
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application chtMultiRegionFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 500;
deltaT 1;
writeControl timeStep;
writeInterval 50;
purgeWrite 5;
writeFormat ascii;
writePrecision 8;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
functions
{
}
// ************************************************************************* //

View File

@ -0,0 +1,35 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 4;
method scotch;
simpleCoeffs
{
n (2 2 1);
delta 0.001;
}
hierarchicalCoeffs
{
n (2 2 1);
delta 0.001;
order xyz;
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
}
gradSchemes
{
}
divSchemes
{
}
laplacianSchemes
{
}
interpolationSchemes
{
}
snGradSchemes
{
}
fluxRequired
{
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
PIMPLE
{
nOuterCorrectors 1;
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object meshQualityDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#includeEtc "caseDicts/mesh/generation/meshQualityDict.cfg"
//- minFaceWeight (0 -> 0.5)
//minFaceWeight 0.02;
// ************************************************************************* //

View File

@ -0,0 +1,148 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object snappyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#includeEtc "caseDicts/mesh/generation/snappyHexMeshDict.cfg"
castellatedMesh on;
snap on;
addLayers off;
geometry
{
CAD
{
type triSurfaceMesh;
file "CAD.obj";
regions
{
<inletRegion> { name inlet; }
<outletRegion> { name outlet; }
}
}
solid
{
type triSurfaceMesh;
file "solid.obj";
}
};
castellatedMeshControls
{
features
(
{ file "CAD.eMesh"; level 1; }
{ file "solid.eMesh"; level 1; }
);
refinementSurfaces
{
solid
{
level (2 2);
faceZone solid;
cellZone solid;
cellZoneInside inside;
}
CAD
{
level (2 2);
patchInfo
{
type wall;
inGroups (externalWall);
}
regions
{
<inletRegion>
{
level (2 2);
patchInfo
{
type patch;
inGroups (inlet);
}
}
<outletRegion>
{
level (2 2);
patchInfo
{
type patch;
inGroups (outlet);
}
}
}
}
}
refinementRegions
{
CAD
{
mode inside;
levels ((1E15 1));
}
}
locationInMesh (1e-5 1e-5 1e-5); // Offset from (0 0 0) to avoid
// coinciding with face or edge
nCellsBetweenLevels 3;
}
snapControls
{
explicitFeatureSnap true;
implicitFeatureSnap false;
}
addLayersControls
{
layers
{
"CAD.*"
{
nSurfaceLayers 2;
}
}
relativeSizes true; // false, usually with firstLayerThickness
expansionRatio 1.2;
finalLayerThickness 0.5;
minThickness 1e-3;
// firstLayerThickness 0.01;
// maxThicknessToMedialRatio 0.6;
}
meshQualityControls
{
// minTetQuality -1e+30;
}
writeFlags
(
// scalarLevels
layerSets
layerFields
);
mergeTolerance 1e-6;
// ************************************************************************* //

View File

@ -0,0 +1,39 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object surfaceFeaturesDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
surfaces
(
"CAD.obj"
"solid.obj"
);
includedAngle 150;
subsetFeatures
{
nonManifoldEdges yes;
openEdges yes;
}
trimFeatures
{
minElem 0;
minLen 0;
}
writeObj yes;
// ************************************************************************* //

View File

@ -0,0 +1,47 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object G;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 0 -3 0 0 0 0];
internalField uniform 0;
boundaryField
{
"(inlet|outlet)"
{
type MarshakRadiation;
emissivityMode lookup;
emissivity uniform 1.0;
value uniform 0;
}
wall
{
type MarshakRadiation;
emissivityMode solidRadiation;
value uniform 0;
}
externalWall
{
type MarshakRadiation;
emissivityMode lookup;
emissivity uniform 1.0;
value uniform 0;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,58 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "$FOAM_CASE/constant/initialConditions";
dimensions [0 0 0 1 0 0 0];
internalField uniform $Tinitial;
boundaryField
{
inlet
{
type fixedValue;
value uniform $Tinitial;
}
outlet
{
type inletOutlet;
inletValue uniform $Tinitial;
value uniform $Tinitial;
}
wall
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
kappaMethod fluidThermo;
kappa kappa;
Tnbr T;
value uniform $Tinitial;
}
externalWall
{
type fixedValue;
value uniform $Tinitial;
}
#includeEtc "caseDicts/setConstraintTypes"
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Uinlet (1 0 0);
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform $Uinlet;
}
outlet
{
type pressureInletOutletVelocity;
value uniform $Uinlet;
}
wall
{
type noSlip;
}
#includeEtc "caseDicts/setConstraintTypes"
}
// ************************************************************************* //

View File

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

View File

@ -0,0 +1,50 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
epsilonInlet 0.001;
mixingLengthInlet 0.007;
dimensions [0 2 -3 0 0 0 0];
internalField uniform $epsilonInlet;
boundaryField
{
inlet
{
type turbulentMixingLengthDissipationRateInlet;
mixingLength $mixingLengthInlet;
value uniform $epsilonInlet;
}
outlet
{
type inletOutlet;
value uniform $epsilonInlet;
inletValue uniform $epsilonInlet;
}
wall
{
type compressible::epsilonWallFunction;
value uniform $epsilonInlet;
}
#includeEtc "caseDicts/setConstraintTypes"
}
// ************************************************************************* //

View File

@ -0,0 +1,50 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
kInlet 0.001;
intensityInlet 0.05;
dimensions [0 2 -2 0 0 0 0];
internalField uniform $kInlet;
boundaryField
{
inlet
{
type turbulentIntensityKineticEnergyInlet;
intensity $intensityInlet;
value uniform $kInlet;
}
outlet
{
type inletOutlet;
inletValue uniform $kInlet;
value uniform $kInlet;
}
wall
{
type kqRWallFunction;
value uniform $kInlet;
}
#includeEtc "caseDicts/setConstraintTypes"
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
wall
{
type nutkWallFunction;
value uniform 0;
}
#includeEtc "caseDicts/setConstraintTypes"
}
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object omega;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
omegaInlet 1;
mixingLengthInlet 0.007;
dimensions [0 0 -1 0 0 0 0];
internalField uniform $omegaInlet;
boundaryField
{
inlet
{
type turbulentMixingLengthFrequencyInlet;
mixingLength $mixingLengthInlet;
value uniform $omegaInlet;
}
outlet
{
type inletOutlet;
inletValue uniform $omegaInlet;
value uniform $omegaInlet;
}
wall
{
type omegaWallFunction;
value uniform $omegaInlet;
}
#includeEtc "caseDicts/setConstraintTypes"
}
// ************************************************************************* //

View File

@ -0,0 +1,45 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "$FOAM_CASE/constant/initialConditions";
dimensions [1 -1 -2 0 0 0 0];
internalField uniform $pInitial;
boundaryField
{
outlet
{
type calculated;
value uniform $pInitial;
}
inlet
{
type calculated;
value uniform $pInitial;
}
wall
{
$inlet;
}
#includeEtc "caseDicts/setConstraintTypes"
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p_rgh;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "$FOAM_CASE/constant/initialConditions";
dimensions [ 1 -1 -2 0 0 0 0 ];
internalField uniform $pInitial;
boundaryField
{
outlet
{
type fixedValue;
value uniform $pInitial;
}
inlet
{
type fixedFluxPressure;
value uniform $pInitial;
}
wall
{
$inlet;
}
#includeEtc "caseDicts/setConstraintTypes"
}
// ************************************************************************* //

View File

@ -0,0 +1,35 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "$FOAM_CASE/constant/initialConditions";
dimensions [ 0 0 0 1 0 0 0 ];
internalField uniform $Tinitial;
boundaryField
{
wall
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
value $internalField;
kappaMethod solidThermo;
kappa kappa;
Tnbr T;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,34 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "$FOAM_CASE/constant/initialConditions";
dimensions [1 -1 -2 0 0 0 0];
internalField uniform $pInitial;
boundaryField
{
".*"
{
type calculated;
value uniform $pInitial;
}
#includeEtc "caseDicts/setConstraintTypes"
}
// ************************************************************************* //

View File

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

View File

@ -0,0 +1,37 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object radiationProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel P1;
solverFreq 1;
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
{
absorptivity absorptivity [0 -1 0 0 0 0 0] 0.5;
emissivity emissivity [0 -1 0 0 0 0 0] 0.5;
E E [1 -1 -3 0 0 0 0] 0;
}
scatterModel none;
sootModel none;
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;
}
mixture
{
specie
{
nMoles 1;
molWeight 28.9; // [g/mol]
}
thermodynamics
{
Cp 1005; // [J/(kg K)]
Hf 0;
}
transport
{
mu 1.8e-05; // [kg/(m s)]
Pr 0.7;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType RAS;
RAS
{
RASModel kOmegaSST;
turbulence on;
printCoeffs on;
}
LES
{
LESModel SpalartAllmarasDDES;
delta cubeRootVol;
turbulence on;
printCoeffs on;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,30 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object radiationProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiationModel opaqueSolid;
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
{
absorptivity absorptivity [ 0 -1 0 0 0 0 0 ] 0.0;
emissivity emissivity [ 0 -1 0 0 0 0 0 ] 0.1;
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -0,0 +1,53 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heSolidThermo;
mixture pureMixture;
transport constIso;
thermo hConst;
equationOfState rhoConst;
specie specie;
energy sensibleEnthalpy;
}
mixture
{
specie
{
nMoles 1;
molWeight 27; // [g/mol]
}
transport
{
kappa 240; // [W/(m K)]
}
thermodynamics
{
Hf 0;
Cp 896; // [J/(kg K)]
}
equationOfState
{
rho 2712; // [kg/m3]
}
}
// ************************************************************************* //

View File

@ -0,0 +1,30 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object radiationProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiationModel opaqueSolid;
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
{
absorptivity absorptivity [ 0 -1 0 0 0 0 0 ] 0.0;
emissivity emissivity [ 0 -1 0 0 0 0 0 ] 0.1;
E E [ 1 -1 -3 0 0 0 0 ] 0;
}
scatterModel none;
// ************************************************************************* //

View File

@ -0,0 +1,53 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heSolidThermo;
mixture pureMixture;
transport constIso;
thermo hConst;
equationOfState rhoConst;
specie specie;
energy sensibleEnthalpy;
}
mixture
{
specie
{
nMoles 1;
molWeight 63.5; // [g/mol]
}
transport
{
kappa 380; // [W/(m K)]
}
thermodynamics
{
Hf 0;
Cp 385; // [J/(kg K)]
}
equationOfState
{
rho 8940; // [kg/m3]
}
}
// ************************************************************************* //

View File

@ -0,0 +1,37 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object radiationProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation off;
radiationModel P1;
solverFreq 1;
absorptionEmissionModel constantAbsorptionEmission;
constantAbsorptionEmissionCoeffs
{
absorptivity absorptivity [0 -1 0 0 0 0 0] 0.5;
emissivity emissivity [0 -1 0 0 0 0 0] 0.5;
E E [1 -1 -3 0 0 0 0] 0;
}
scatterModel none;
sootModel none;
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;
}
mixture
{
specie
{
nMoles 1;
molWeight 18.0; // [g/mol]
}
thermodynamics
{
Cp 4181; // [J/(kg K)] at T = 293 K
Hf 0;
}
transport
{
mu 1.0e-03; // [kg/(m s)]
Pr 0.7;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType RAS;
RAS
{
RASModel kOmegaSST;
turbulence on;
printCoeffs on;
}
LES
{
LESModel SpalartAllmarasDDES;
delta cubeRootVol;
turbulence on;
printCoeffs on;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,86 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
// for transient, replace steadyState, e.g. with Euler
default steadyState;
}
gradSchemes
{
default Gauss linear;
limited cellLimited Gauss linear 1;
grad(U) $limited;
grad(k) $limited;
grad(omega) $limited;
grad(epsilon) $limited;
}
divSchemes
{
default none;
// for transient, remove "bounded"
div(phi,U) bounded Gauss linearUpwind limited;
// for transient, remove "bounded"
turbulence bounded Gauss limitedLinear 1;
div(phi,k) $turbulence;
div(phi,omega) $turbulence;
div(phi,epsilon) $turbulence;
div(phi,e) $turbulence;
div(phi,h) $turbulence;
div(phi,K) $turbulence;
div(phi,Ekp) $turbulence;
div(phid,p) Gauss upwind;
// for transient, remove "bounded"
div((phi|interpolate(rho)),p) bounded Gauss upwind;
div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p ;
}
wallDist
{
method meshWave;
}
// ************************************************************************* //

View File

@ -0,0 +1,105 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
"(rho|rhoFinal)"
{
solver PCG
preconditioner DIC;
tolerance 1e-7;
relTol 0;
}
p_rgh
{
solver GAMG;
tolerance 1e-7;
relTol 0.01;
smoother GaussSeidel;
maxIter 100;
}
"(U|h|e|k|omega|epsilon)"
{
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-6;
relTol 0.1;
}
G
{
$p_rgh;
tolerance 1e-5;
relTol 0.1;
}
p_rghFinal
{
$p_rgh;
// relTol 0; // for transient cases
}
"(U|h|e|k|omega|epsilon)Final"
{
$U;
// relTol 0; // for transient cases
}
GFinal
{
$G;
// relTol 0; // for transient cases
}
}
PIMPLE
{
momentumPredictor yes;
nCorrectors 1; // typically set to 2 for transient
nNonOrthogonalCorrectors 0; // typically set to 1 for transient
// Reference values for closed domains
// pRefCell 0;
// pRefValue 1e5;
// Limiting pressure for stability, typically at start up
// pMaxFactor 2;
// pMinFactor 0.1;
}
relaxationFactors
{
fields
{
"rho.*" 1.0;
"p_rgh.*" 0.7;
}
equations
{
"U.*" 0.3;
"h.*" 0.7;
"(k|epsilon|omega).*" 0.7;
}
}
// For transient cases, use
// relaxationFactors { equations { ".*" 1; } }
// ************************************************************************* //

View File

@ -0,0 +1,45 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object porousZone;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
fixedTemperature
{
type fixedTemperatureConstraint;
active no;
selectionMode all;
mode uniform;
temperature constant 300; // Set temperature (K)
}
fixedPower
{
type scalarSemiImplicitSource;
active no;
selectionMode all;
volumeMode absolute;
power 100; // Set power (W)
injectionRateSuSp
{
e ($power 0);
h ($power 0);
}
}
//************************************************************************** //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
// for transient, replace steadyState, e.g. with Euler
default steadyState;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
}
laplacianSchemes
{
default Gauss linear uncorrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default uncorrected;
}
// ************************************************************************* //

View File

@ -0,0 +1,50 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
"(h|e)"
{
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0.1;
}
"(h|e)Final"
{
$h;
// relTol 0; // for transient cases
}
}
PIMPLE
{
nNonOrthogonalCorrectors 0;
}
relaxationFactors
{
equations
{
"(h|e).*" 0.7;
}
}
// For transient cases, use
// relaxationFactors { equations { ".*" 1; } }
// ************************************************************************* //