33template<
class CloudType>
36 heterogeneousReactionModel_.reset
40 this->subModelProperties(),
47template<
class CloudType>
53 CloudType::cloudReset(c);
54 heterogeneousReactionModel_.reset(c.heterogeneousReactionModel_.ptr());
60template<
class CloudType>
73 cloudCopyPtr_(nullptr),
74 heterogeneousReactionModel_(nullptr)
89template<
class CloudType>
98 cloudCopyPtr_(nullptr),
99 heterogeneousReactionModel_(c.heterogeneousReactionModel_->clone())
103template<
class CloudType>
113 cloudCopyPtr_(nullptr),
114 heterogeneousReactionModel_(c.heterogeneousReactionModel_->clone())
120template<
class CloudType>
124 const scalar lagrangianDt
135 parcel.F().setSize(heterogeneousReactionModel_->nF(), 0.0);
138 parcel.canCombust() = 1;
142 if (this->constProps_.rho0() == -1)
145 const label idLiquid = this->
composition().idLiquid();
153 this->
composition().thermo().thermo().p()[parcel.cell()];
154 const scalar
T0 = this->constProps_.T0();
161template<
class CloudType>
165 const scalar lagrangianDt,
166 const bool fullyDescribed
172 const label liqId = this->
composition().idLiquid();
184 <<
"The supplied composition must be : " <<
nl
185 <<
" YGasTot0 0 : " <<
nl
186 <<
" YLiquidTot0 0 : " <<
nl
187 <<
" YSolidTot0 1 : " <<
nl
188 <<
"This Cloud only works with pure solid particles."
194 <<
"The supplied composition has a liquid phase. " <<
nl
195 <<
"This Cloud only works with pure solid particles."
201template<
class CloudType>
208 clone(this->
name() +
"Copy").ptr()
214template<
class CloudType>
217 cloudReset(cloudCopyPtr_());
218 cloudCopyPtr_.clear();
222template<
class CloudType>
234template<
class CloudType>
246template<
class CloudType>
250 heterogeneousReactionModel_->info(
Info);
254template<
class CloudType>
261template<
class CloudType>
269template<
class CloudType>
const uniformDimensionedVectorField & g
void deleteLostParticles()
Remove lost particles from cloud and delete.
void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
Templated base class for dsmc cloud.
void info() const
Print cloud information.
Base class for heterogeneous reacting models.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
Templated base class for reacting heterogeneous cloud.
void setModels()
Set cloud sub-models.
void storeState()
Store the current cloud state.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
virtual void readObjects(const objectRegistry &obr)
Read particle fields as objects from the obr registry.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
CloudType::particleType parcelType
Type of parcel the cloud was instantiated for.
virtual void writeFields() const
Write the field data for the cloud.
virtual void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
void evolve()
Evolve the cloud.
void cloudReset(ReactingHeterogeneousCloud< CloudType > &c)
Reset state of cloud.
void info()
Print cloud information.
void restoreState()
Reset the current cloud to the previously stored state.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package,...
PtrList< volScalarField > & Y()
Return the mass-fraction fields.
virtual scalar rho(const label speciei, const scalar p, const scalar T) const =0
Density [kg/m3].
Class used to pass data into container.
void writeFields() const
Write fields.
Reads fields from the time directories and adds them to the mesh database for further post-processing...
Allows specification of different writing frequency of objects registered to the database.
Mesh data needed to do the Finite Volume discretisation.
static void readObjects(Cloud< injectedParticle > &c, const objectRegistry &obr)
Read particle fields as objects from the obr registry.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Registry of regIOobjects.
Virtual abstract base class for templated ReactingCloud.
Selector class for relaxation factors, solver type and solution.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
A class for handling words, derived from Foam::string.
basicSpecieMixture & composition
const volScalarField & p0
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
messageStream Info
Information stream (stdout output on master, null elsewhere)
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const wordHashSet &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type.
errorManip< error > abort(error &err)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
constexpr char nl
The newline '\n' character (0x0a)
const word cloudName(propsDict.get< word >("cloud"))