fvOption::radiation: New fvOption providing the radiation source to the energy equation

Radiative heat transfer may now be added to any solver in which an energy
equation is solved at run-time rather than having to change the solver code.

For example, radiative heat transfer is now enabled in the SandiaD_LTS
reactingFoam tutorial by providing a constant/fvOptions file containing

radiation
{
    type            radiation;
    libs ("libradiationModels.so");
}

and appropriate settings in the constant/radiationProperties file.
This commit is contained in:
Henry Weller
2017-04-13 14:03:58 +01:00
parent af2810149e
commit 448561718c
8 changed files with 319 additions and 37 deletions

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 G;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 0 -3 0 0 0 0];
internalField uniform 0;
boundaryField
{
".*"
{
type MarshakRadiation;
T T;
emissivityMode lookup;
emissivity uniform 1.0;
value uniform 0;
}
frontAndBack_pos
{
type wedge;
}
frontAndBack_neg
{
type wedge;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,24 @@
/*--------------------------------*- 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 fvOptions;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
radiation
{
type radiation;
libs ("libradiationModels.so");
}
// ************************************************************************* //

View File

@ -5,6 +5,7 @@
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
@ -15,48 +16,19 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Radiation model on/off
radiation on;
radiation on;
// Radiation model
radiationModel P1;
// Absorption coefficients model
absorptionEmissionModel greyMeanAbsorptionEmission;
P1Coeffs
{
C C [0 0 0 0 0 0 0] 0;
}
// Number of flow iterations per radiation iteration
solverFreq 1;
//
noRadiation
{
}
// P1 Model
P1Coeffs
{
}
fvDOMCoeffs
{
nPhi 2; // azimuthal angles in PI/2 on X-Y.(from Y to X)
nTheta 2; // polar angles in PI (from Z to X-Y plane)
convergence 1e-1; // convergence criteria for radiation iteration
maxIter 1; // maximum number of iterations
cacheDiv true; // cache the div of the RTE equation.
// NOTE: Caching div is "only" accurate if the upwind scheme is used in
// div(Ji,Ii_h)
}
constantAbsorptionEmissionCoeffs
{
absorptivity absorptivity [ m^-1 ] 0.01;
emissivity emissivity [ m^-1 ] 0.01;
E E [ kg m^-1 s^-3 ] 0;
}
absorptionEmissionModel greyMeanAbsorptionEmission;
greyMeanAbsorptionEmissionCoeffs
{
@ -206,5 +178,4 @@ scatterModel none;
sootModel none;
// ************************************************************************* //

View File

@ -13,6 +13,7 @@ FoamFile
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application reactingFoam;
@ -22,7 +23,7 @@ startTime 0;
stopAt endTime;
endTime 5000;
endTime 7000;
deltaT 1;

View File

@ -56,6 +56,20 @@ solvers
tolerance 1e-8;
relTol 0.1;
}
G
{
solver PCG;
preconditioner DIC;
tolerance 1e-5;
relTol 0.1;
}
GFinal
{
$G;
relTol 0;
}
}
PIMPLE