51Foam::radiation::multiBandZoneAbsorptionEmission::
52multiBandZoneAbsorptionEmission
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);
85 <<
"Cannot find cellZone " << iter.key() <<
endl
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];
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
void setSize(const label n)
Alias for resize()
label find(const T &val, label pos=0) const
Find index of the first occurrence of the value.
void size(const label n)
Older name for setAddressableSize.
label findZoneID(const word &zoneName) const
Find zone index by name, return -1 if not found.
wordList names() const
A list of the zone names.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
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
Mesh data needed to do the Finite Volume discretisation.
const cellZoneMesh & cellZones() const noexcept
Return cell zone mesh.
Model to supply absorption and emission coefficients for radiation modelling.
const fvMesh & mesh() const
Reference to the mesh.
multiBandZoneAbsorptionEmission radiation absorption/emission for solids.
tmp< volScalarField > eCont(const label bandI) const
Emission coefficient.
tmp< volScalarField > ECont(const label bandI) const
Emission contribution.
tmp< volScalarField > aCont(const label bandI) const
Absorption coefficient.
virtual ~multiBandZoneAbsorptionEmission()
Destructor.
A class for managing temporary objects.
const word & name() const noexcept
The zone name.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const labelIOList & zoneID
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const dimensionSet dimless
Dimensionless.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
dimensionedScalar pow3(const dimensionedScalar &ds)
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
Ostream & endl(Ostream &os)
Add newline and flush stream.
static constexpr const zero Zero
Global zero (0)
errorManipArg< error, int > exit(error &err, const int errNo=1)
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
#define forAll(list, i)
Loop across all elements in list.
#define forAllConstIters(container, iter)
Iterate across all elements of the container object with const access.