66 "radiationProperties",
67 mesh.time().constant(),
86 void Foam::radiation::radiationModel::initialise()
90 solverFreq_ =
max(1, getOrDefault<label>(
"solverFreq", 1));
92 if (this->
found(
"absorptionEmissionModel"))
94 absorptionEmission_.reset
100 if (this->
found(
"scatterModel"))
105 if (this->
found(
"sootModel"))
115 Foam::radiation::radiationModel::radiationModel(
const volScalarField&
T)
121 "radiationProperties",
135 absorptionEmission_(nullptr),
141 Foam::radiation::radiationModel::radiationModel
151 radiation_(getOrDefault(
"radiation", true)),
152 coeffs_(subOrEmptyDict(
type +
"Coeffs")),
155 absorptionEmission_(nullptr),
168 Foam::radiation::radiationModel::radiationModel
179 "radiationProperties",
190 radiation_(getOrDefault(
"radiation", true)),
191 coeffs_(subOrEmptyDict(
type +
"Coeffs")),
194 absorptionEmission_(nullptr),
214 readEntry(
"radiation", radiation_);
215 coeffs_ = subOrEmptyDict(
type() +
"Coeffs");
217 solverFreq_ = getOrDefault<label>(
"solverFreq", 1);
218 solverFreq_ =
max(1, solverFreq_);
234 if (firstIter_ || (time_.timeIndex() % solverFreq_ == 0))
260 - Rp()*T3*(T_ - 4.0*
he/Cpv)
309 if (!absorptionEmission_)
312 <<
"Requested radiation absorptionEmission model, but model is " 316 return *absorptionEmission_;
326 <<
"Requested radiation sootModel model, but model is "
static const word relfectedFluxName_
Static name for reflected solar fluxes.
static const word externalRadHeatFieldName_
Static name external radiative fluxes.
static autoPtr< scatterModel > New(const dictionary &dict, const fvMesh &mesh)
Abstract base-class for fluid and solid thermodynamic properties.
readOption readOpt() const noexcept
Get the read option.
IOdictionary(const IOobject &io, const dictionary *fallback=nullptr)
Construct given an IOobject and optional fallback dictionary content.
virtual bool read()
Read object.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
A list of keyword definitions, which are a keyword followed by a number of values (eg...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
static autoPtr< sootModel > New(const dictionary &dict, const fvMesh &mesh)
Selector.
defineTypeNameAndDebug(cloudAbsorptionEmission, 0)
static const word primaryFluxName_
Static name for primary solar fluxes.
const sootModel & soot() const
Access to soot Model.
Ignore writing from objectRegistry::writeObject()
Model to supply absorption and emission coefficients for radiation modelling.
defineRunTimeSelectionTable(radiationModel, T)
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
GeometricField< scalar, fvPatchField, volMesh > volScalarField
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
virtual ~radiationModel()
Destructor.
Base class for soot models.
virtual bool read()=0
Read radiationProperties dictionary.
A class for handling words, derived from Foam::string.
static autoPtr< absorptionEmissionModel > New(const dictionary &dict, const fvMesh &mesh)
Selector.
virtual void correct()
Main update/correction routine.
errorManip< error > abort(error &err)
zeroField Sp(const Foam::zero, const GeometricField< Type, fvPatchField, volMesh > &)
A no-op source.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
const absorptionEmissionModel & absorptionEmission() const
Access to absorptionEmission model.
virtual tmp< fvScalarMatrix > Sh(const basicThermo &thermo, const volScalarField &he) const
Energy source term.
dimensionedScalar pow3(const dimensionedScalar &ds)
virtual tmp< fvScalarMatrix > ST(const dimensionedScalar &rhoCp, volScalarField &T) const
Temperature source term.
IOobject(const IOobject &)=default
Copy construct.
Switch radiation_
Radiation model on/off flag.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
A class for managing temporary objects.
Defines the attributes of an object for which implicit objectRegistry management is supported...
Calculate the finiteVolume matrix for implicit and explicit sources.
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))