45#ifndef radiationModel_H
46#define radiationModel_H
149 radiationModel(
const radiationModel&) =
delete;
152 void operator=(
const radiationModel&) =
delete;
232 virtual bool read() = 0;
250 virtual tmp<volScalarField>
Rp()
const = 0;
253 virtual tmp<volScalarField::Internal>
Ru()
const = 0;
256 virtual tmp<fvScalarMatrix>
Sh
258 const basicThermo&
thermo,
263 virtual tmp<fvScalarMatrix>
ST
270 virtual tmp<fvScalarMatrix>
ST
272 tmp<volScalarField>
rhoCp,
277 virtual tmp<fvScalarMatrix>
ST
282 virtual label
nBands()
const = 0;
295#define addToRadiationRunTimeSelectionTables(model) \
297 addToRunTimeSelectionTable \
304 addToRunTimeSelectionTable \
IOdictionary(const IOobject &io, const dictionary *fallback=nullptr)
Construct given an IOobject and optional fallback dictionary content.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Abstract base-class for fluid and solid thermodynamic properties.
dictionary()
Default construct, a top-level empty dictionary.
Mesh data needed to do the Finite Volume discretisation.
Model to supply absorption and emission coefficients for radiation modelling.
const Time & time_
Reference to the time database.
const absorptionEmissionModel & absorptionEmission() const
Access to absorptionEmission model.
declareRunTimeSelectionTable(autoPtr, radiationModel, T,(const volScalarField &T),(T))
const fvMesh & mesh_
Reference to the mesh database.
virtual ~radiationModel()
Destructor.
virtual void calculate()=0
Solve radiation equation(s).
static const word externalRadHeatFieldName_
Static name external radiative fluxes.
label solverFreq_
Radiation solver frequency - number flow solver iterations per.
virtual void correct()
Main update/correction routine.
static const word relfectedFluxName_
Static name for reflected solar fluxes.
virtual bool read()=0
Read radiationProperties dictionary.
dictionary coeffs_
Radiation model dictionary.
Switch radiation_
Radiation model on/off flag.
virtual tmp< fvScalarMatrix > ST(const dimensionedScalar &rhoCp, volScalarField &T) const
Temperature source term.
TypeName("radiationModel")
Runtime type information.
autoPtr< sootModel > soot_
Soot model.
declareRunTimeSelectionTable(autoPtr, radiationModel, dictionary,(const dictionary &dict, const volScalarField &T),(dict, T))
virtual label nBands() const =0
virtual tmp< volScalarField > Rp() const =0
Source term component (for power of T^4).
autoPtr< scatterModel > scatter_
Scatter model.
const Switch radiation() const
Radiation model on/off flag.
autoPtr< absorptionEmissionModel > absorptionEmission_
Absorption/emission model.
label solverFreq() const noexcept
Return the radiation solver frequency.
const volScalarField & T() const noexcept
Return access to the temperature field.
static const word primaryFluxName_
Static name for primary solar fluxes.
const volScalarField & T_
Reference to the temperature field.
const sootModel & soot() const
Access to soot Model.
static autoPtr< radiationModel > New(const volScalarField &T)
Return a reference to the selected radiation model.
virtual tmp< fvScalarMatrix > Sh(const basicThermo &thermo, const volScalarField &he) const
Energy source term.
bool firstIter_
Flag to enable radiation model to be evaluated on first iteration.
virtual tmp< volScalarField::Internal > Ru() const =0
Source term component (constant).
Base class for radiation scattering.
Base class for soot models.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
Forward declarations of fvMatrix specializations.
Namespace for radiation modelling.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes).
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.