59template<
class CloudType>
66template<
class CloudType>
97 ThermoCloud(
const ThermoCloud&) =
delete;
100 void operator=(
const ThermoCloud&) =
delete;
108 typename parcelType::constantProperties
constProps_;
190 ThermoCloud(ThermoCloud<CloudType>& c,
const word&
name);
197 const ThermoCloud<CloudType>& c
205 new ThermoCloud(*
this,
name)
231 inline const typename parcelType::constantProperties&
235 inline typename parcelType::constantProperties&
constProps();
292 const typename parcelType::trackingData&
td
331 inline scalar
Tmax()
const;
334 inline scalar
Tmin()
const;
343 const scalar lagrangianDt
350 const scalar lagrangianDt,
351 const bool fullyDescribed
364 void relaxSources(
const ThermoCloud<CloudType>& cloudOldTime);
370 void preEvolve(
const typename parcelType::trackingData&
td);
ParticleType particleType
const word & cloudName() const
const fvMesh & mesh() const
DimensionedField< scalar, volMesh > Internal
Templated class to calculate the fluid-particle heat transfer coefficients based on a specified Nusse...
autoPtr< IOobject > clone() const
Clone.
const volVectorField & U() const
Return carrier gas velocity.
const volScalarField & rho() const
Return carrier gas density.
const dimensionedVector & g() const
Gravity.
const fvMesh & mesh() const
Return reference to the mesh.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package,...
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
Templated base class for thermodynamic cloud.
const parcelType::constantProperties & constProps() const
Return the constant properties.
volScalarField::Internal & radAreaP()
Radiation sum of parcel projected areas [m2].
void setModels()
Set cloud sub-models.
volScalarField::Internal & hsCoeff()
Return coefficient for carrier phase hs equation.
volScalarField::Internal & radAreaPT4()
Radiation sum of parcel projected area*temperature^4 [m2K4].
virtual ~ThermoCloud()=default
Destructor.
void storeState()
Store the current cloud state.
const volScalarField & T() const
Return const access to the carrier temperature field.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
bool radiation() const
Radiation flag.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
ThermoCloud(ThermoCloud< CloudType > &c, const word &name)
Copy constructor with new name.
scalar Tmin() const
Minimum temperature.
const volScalarField & p_
volScalarField::Internal & radT4()
Radiation sum of parcel temperature^4 [K4].
void relaxSources(const ThermoCloud< CloudType > &cloudOldTime)
Apply relaxation to (steady state) cloud sources.
const volScalarField::Internal & hsTrans() const
Sensible enthalpy transfer [J/kg].
autoPtr< volScalarField::Internal > hsCoeff_
autoPtr< volScalarField::Internal > radT4_
void scaleSources()
Apply scaling to (transient) cloud sources.
autoPtr< integrationScheme > TIntegrator_
KinematicCloud< Cloud< basicThermoParcel > >::particleType parcelType
const SLGThermo & thermo() const
const integrationScheme & TIntegrator() const
Return reference to velocity integration.
KinematicCloud< Cloud< basicThermoParcel > > cloudType
const ThermoCloud & cloudCopy() const
Return a reference to the cloud copy.
virtual void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
scalar Tmax() const
Maximum temperature.
tmp< volScalarField > sigmap() const
Return tmp equivalent particulate scattering factor.
virtual autoPtr< Cloud< parcelType > > clone(const word &name)
Construct and return clone based on (this) with new name.
virtual autoPtr< Cloud< parcelType > > cloneBare(const word &name) const
Construct and return bare clone based on (this) with new name.
void cloudReset(ThermoCloud< CloudType > &c)
Reset state of cloud.
const volScalarField::Internal & radAreaP() const
Radiation sum of parcel projected areas [m2].
const HeatTransferModel< ThermoCloud< CloudType > > & heatTransfer() const
Return reference to heat transfer model.
tmp< fvScalarMatrix > Sh(volScalarField &hs) const
Return sensible enthalpy source term [J/kg/m3/s].
void evolve()
Evolve the cloud.
autoPtr< HeatTransferModel< ThermoCloud< KinematicCloud< Cloud< basicThermoParcel > > > > > heatTransferModel_
parcelType::constantProperties constProps_
autoPtr< volScalarField::Internal > radAreaPT4_
ThermoCloud< KinematicCloud< Cloud< basicThermoParcel > > > thermoCloudType
const volScalarField::Internal & hsCoeff() const
Return const coefficient for carrier phase hs equation.
volScalarField::Internal & hsTrans()
Sensible enthalpy transfer [J/kg].
parcelType::constantProperties & constProps()
Return access to the constant properties.
void preEvolve(const typename parcelType::trackingData &td)
Pre-evolve.
void info()
Print cloud information.
void restoreState()
Reset the current cloud to the previously stored state.
ThermoCloud(const fvMesh &mesh, const word &name, const ThermoCloud< CloudType > &c)
Copy constructor with new name - creates bare cloud.
void transferToCarrier(const parcelType &p, const typename parcelType::trackingData &td)
Transfer the effect of parcel to the carrier phase.
ThermoCloud(const word &cloudName, const volScalarField &rho, const volVectorField &U, const dimensionedVector &g, const SLGThermo &thermo, bool readFields=true)
Construct given carrier gas fields.
const volScalarField::Internal & radT4() const
Radiation sum of parcel temperature^4 [K4].
void resetSourceTerms()
Reset the cloud source terms.
const SLGThermo & thermo_
const volScalarField & T_
const volScalarField & p() const
Return const access to the carrier pressure field.
tmp< volScalarField > Ep() const
Return tmp equivalent particulate emission.
autoPtr< volScalarField::Internal > hsTrans_
const volScalarField::Internal & radAreaPT4() const
Radiation sum of parcel temperature^4 [m2K4].
autoPtr< volScalarField::Internal > radAreaP_
tmp< volScalarField > ap() const
Return tmp equivalent particulate absorption.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Mesh data needed to do the Finite Volume discretisation.
Base for a set of schemes which integrate simple ODEs which arise from semi-implcit rate expressions.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
thermoCloud()=default
Null constructor.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
DSMCCloud< dsmcParcel > CloudType
GeometricField< vector, fvPatchField, volMesh > volVectorField
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const NameMatchPredicate &selectedFields, DynamicList< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type and store on the objectRegistry.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.