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());
264 + (hsCoeff()/Vdt)*hs;
271 + hsCoeff()/(
Cp*Vdt)*hs;
279 fvm.
source() = -hsTrans()/(this->db().time().deltaT());
289 template<
class CloudType>
296 this->
name() +
":radiation:Ep",
305 const scalar dt = this->db().time().deltaTValue();
307 const scalar
epsilon = constProps_.epsilon0();
308 const scalarField& sumAreaPT4 = radAreaPT4_->field();
317 template<
class CloudType>
324 this->
name() +
":radiation:ap",
333 const scalar dt = this->db().time().deltaTValue();
335 const scalar
epsilon = constProps_.epsilon0();
338 ap = sumAreaP*epsilon/V/dt;
345 template<
class CloudType>
353 this->
name() +
":radiation:sigmap",
362 const scalar dt = this->db().time().deltaTValue();
364 const scalar
epsilon = constProps_.epsilon0();
365 const scalar
f = constProps_.f0();
368 sigmap = sumAreaP*(1.0 -
f)*(1.0 - epsilon)/V/dt;
375 template<
class CloudType>
401 template<
class CloudType>
fvMatrix< scalar > fvScalarMatrix
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
tmp< fvMatrix< Type > > SuSp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
Templated heat transfer model class.
const ThermoCloud & cloudCopy() const
Return a reference to the cloud copy.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
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].
const dimensionSet & dimensions() const
Return dimensions.
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.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
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.
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)
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.
const dimensionSet dimTemperature