33 template<
class CloudType>
37 return cloudCopyPtr_();
41 template<
class CloudType>
42 inline const typename CloudType::particleType::constantProperties&
49 template<
class CloudType>
50 inline typename CloudType::particleType::constantProperties&
57 template<
class CloudType>
61 return carrierThermo_;
65 template<
class CloudType>
72 template<
class CloudType>
79 template<
class CloudType>
86 template<
class CloudType>
90 return heatTransferModel_;
94 template<
class CloudType>
98 return compositionModel_;
102 template<
class CloudType>
110 template<
class CloudType>
117 template<
class CloudType>
124 <<
"Radiation field requested, but radiation model not active" 132 template<
class CloudType>
139 <<
"Radiation field requested, but radiation model not active" 147 template<
class CloudType>
154 <<
"Radiation field requested, but radiation model not active" 162 template<
class CloudType>
169 <<
"Radiation field requested, but radiation model not active" 177 template<
class CloudType>
184 <<
"Radiation field requested, but radiation model not active" 188 return radAreaPT4_();
192 template<
class CloudType>
199 <<
"Radiation field requested, but radiation model not active" 203 return radAreaPT4_();
207 template<
class CloudType>
215 template<
class CloudType>
223 template<
class CloudType>
231 template<
class CloudType>
239 template<
class CloudType>
245 Info<<
"hsTrans min/max = " <<
min(hsTrans()).value() <<
", " 246 <<
max(hsTrans()).value() <<
nl 247 <<
"hsCoeff min/max = " <<
min(hsCoeff()).value() <<
", " 248 <<
max(hsCoeff()).value() <<
endl;
253 if (this->
solution().semiImplicit(
"h"))
257 Vdt(this->
mesh().V()*this->db().time().deltaT());
262 + hsCoeff()/(
Cp*Vdt)*hs;
269 fvm.
source() = -hsTrans()/(this->db().time().deltaT());
279 template<
class CloudType>
286 this->
name() +
":radiation:Ep",
295 const scalar dt = this->db().time().deltaTValue();
297 const scalar
epsilon = constProps_.epsilon0();
298 const scalarField& sumAreaPT4 = radAreaPT4_->field();
307 template<
class CloudType>
314 this->
name() +
":radiation:ap",
323 const scalar dt = this->db().time().deltaTValue();
325 const scalar
epsilon = constProps_.epsilon0();
328 ap = sumAreaP*epsilon/V/dt;
335 template<
class CloudType>
343 this->
name() +
":radiation:sigmap",
352 const scalar dt = this->db().time().deltaTValue();
354 const scalar
epsilon = constProps_.epsilon0();
355 const scalar
f = constProps_.f0();
358 sigmap = sumAreaP*(1.0 -
f)*(1.0 - epsilon)/V/dt;
365 template<
class CloudType>
391 template<
class CloudType>
fvMatrix< scalar > fvScalarMatrix
tmp< fvMatrix< Type > > SuSp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Templated heat transfer model class.
const ThermoCloud & cloudCopy() const
Return a reference to the cloud copy.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
tmp< volScalarField > sigmap() const
Return tmp equivalent particulate scattering factor.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package, and provides:
T & ref() const
Return non-const reference or generate a fatal error.
static tmp< GeometricField< scalar, fvPatchField, volMesh > > New(const word &name, const Internal &, const PtrList< fvPatchField< scalar >> &)
Return a temporary field constructed from name,.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const volScalarField & p() const
Return const access to the carrier pressure field.
volScalarField::Internal & radAreaPT4()
Radiation sum of parcel projected area*temperature^4 [m2K4].
tmp< fvScalarMatrix > Sh(const volScalarField &hs) const
Return sensible enthalpy source term [J/kg/m^3/s].
tmp< volScalarField::Internal > hsTrans() const
Return sensible enthalpy transfer [J/kg].
const dimensionSet dimless
const dimensionSet dimLength
Templated base class for thermodynamic cloud.
const HeatTransferModel< ThermoCloud< CloudType > > & heatTransfer() const
Return reference to heat transfer model.
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
volScalarField::Internal & hsCoeffRef()
Access coefficient for carrier phase hs equation.
volScalarField::Internal & radAreaP()
Radiation sum of parcel projected areas [m^2].
const dimensionSet dimTime
volScalarField::Internal & radT4()
Radiation sum of parcel temperature^4 [K4].
tmp< volScalarField > ap() const
Return tmp equivalent particulate absorption.
const parcelType::constantProperties & constProps() const
Return the constant properties.
Base-class for fluid thermodynamic properties.
const Type & value() const
Return const reference to value.
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
bool radiation() const
Radiation flag.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
errorManip< error > abort(error &err)
ParcelType parcelType
Type of parcel the cloud was instantiated for.
const integrationScheme & TIntegrator() const
Return reference to velocity integration.
const dimensionSet dimEnergy
const volScalarField & T() const
Return const access to the carrier temperature field.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
const dimensionSet dimMass
void reduce(const List< UPstream::commsStruct > &comms, T &Value, const BinaryOp &bop, const int tag, const label comm)
word name(const complex &)
Return a string representation of a complex.
Base for a set of schemes which integrate simple ODEs which arise from semi-implcit rate expressions...
dimensionedScalar pow3(const dimensionedScalar &ds)
scalar Tmax() const
Maximum temperature.
tmp< volScalarField > Ep() const
Return tmp equivalent particulate emission.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
volScalarField::Internal & hsTransRef()
Access sensible enthalpy transfer [J/kg].
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
scalar Cp(const scalar p, const scalar T) const
const fluidThermo & carrierThermo() const
Return const access to carrier thermo package.
tmp< volScalarField::Internal > hsCoeff() const
Return coefficient for carrier phase hs equation.
Selector class for relaxation factors, solver type and solution.
const parcelThermo & thermo() const
Return const access to thermo package.
const CompositionModel< ThermoCloud< CloudType > > & composition() const
Return const access to reacting composition model.
A class for managing temporary objects.
Templated reacting parcel composition model class Consists of carrier species (via thermo package)...
scalar Tmin() const
Minimum temperature.
Calculate the matrix for implicit and explicit sources.