Go to the documentation of this file.
41 absorptionEmissionModel,
42 multiBandZoneAbsorptionEmission,
59 coeffsDict_(
dict.subDict(typeName +
"Coeffs")),
60 absCoeffs_(maxBands_),
61 emiCoeffs_(maxBands_),
67 coeffsDict_.readEntry(
"absorptivity", absCoeffs_);
68 coeffsDict_.readEntry(
"emissivity", emiCoeffs_);
69 nBands_ = absCoeffs_.size();
73 zoneDict.
readEntry(
"absorptivity", zoneAbsorptivity_);
74 zoneDict.
readEntry(
"emissivity", zoneEmisivity_);
76 zoneCells_.setSize(zoneAbsorptivity_.size(), -1);
81 label
zoneID =
mesh.cellZones().findZoneID(iter.key());
85 <<
"Cannot find cellZone " << iter.key() <<
endl
86 <<
"Valid cellZones are " <<
mesh.cellZones().names()
131 const cellZone& cZone =
mesh().cellZones()[zoneCells_[zonei]];
141 zoneAbs[
cellId] = abs[bandI] - absCoeffs_[bandI];
178 const cellZone& cZone =
mesh().cellZones()[zoneCells_[zonei]];
188 zoneEm[
cellId] = emi[bandI] - emiCoeffs_[bandI];
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
Dimensionless.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
A class for managing temporary objects.
static constexpr const zero Zero
Global zero (0)
multiBandZoneAbsorptionEmission(const dictionary &dict, const fvMesh &mesh)
Construct from components.
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual ~multiBandZoneAbsorptionEmission()
Destructor.
#define forAll(list, i)
Loop across all elements in list.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
tmp< volScalarField > ECont(const label bandI) const
Emission contribution.
dimensionedScalar pow3(const dimensionedScalar &ds)
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
bool readEntry(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX, bool mandatory=true) const
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
const labelIOList & zoneID
Mesh data needed to do the Finite Volume discretisation.
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
const word & name() const
Return name.
defineTypeNameAndDebug(cloudAbsorptionEmission, 0)
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
forAllConstIters(mixture.phases(), phase)
const dimensionedScalar e
Elementary charge.
Model to supply absorption and emission coefficients for radiation modelling.
addToRunTimeSelectionTable(absorptionEmissionModel, cloudAbsorptionEmission, dictionary)
tmp< volScalarField > eCont(const label bandI) const
Emission coefficient.
tmp< volScalarField > aCont(const label bandI) const
Absorption coefficient.