36template<
class CloudType>
39 devolatilisationModel_.reset
43 this->subModelProperties(),
48 surfaceReactionModel_.reset
52 this->subModelProperties(),
59template<
class CloudType>
65 CloudType::cloudReset(c);
67 devolatilisationModel_.reset(c.devolatilisationModel_.ptr());
68 surfaceReactionModel_.reset(c.surfaceReactionModel_.ptr());
70 dMassDevolatilisation_ = c.dMassDevolatilisation_;
71 dMassSurfaceReaction_ = c.dMassSurfaceReaction_;
77template<
class CloudType>
90 cloudCopyPtr_(nullptr),
91 constProps_(this->particleProperties()),
92 devolatilisationModel_(nullptr),
93 surfaceReactionModel_(nullptr),
94 dMassDevolatilisation_(0.0),
95 dMassSurfaceReaction_(0.0)
108 if (this->
solution().resetSourcesOnStartup())
115template<
class CloudType>
124 cloudCopyPtr_(nullptr),
125 constProps_(c.constProps_),
126 devolatilisationModel_(c.devolatilisationModel_->clone()),
127 surfaceReactionModel_(c.surfaceReactionModel_->clone()),
128 dMassDevolatilisation_(c.dMassDevolatilisation_),
129 dMassSurfaceReaction_(c.dMassSurfaceReaction_)
133template<
class CloudType>
143 cloudCopyPtr_(nullptr),
145 devolatilisationModel_(nullptr),
146 surfaceReactionModel_(nullptr),
147 dMassDevolatilisation_(0.0),
148 dMassSurfaceReaction_(0.0)
154template<
class CloudType>
161template<
class CloudType>
165 const scalar lagrangianDt
175 parcel.YLiquid() = this->
composition().Y0(idLiquid);
181 if (constProps_.rho0() == -1)
187 this->
composition().thermo().thermo().p()[parcel.cell()];
188 const scalar
T0 = constProps_.T0();
195template<
class CloudType>
199 const scalar lagrangianDt,
200 const bool fullyDescribed
211 this->checkSuppliedComposition
214 this->composition().Y0(idGas),
217 this->checkSuppliedComposition
220 this->composition().Y0(idLiquid),
223 this->checkSuppliedComposition
226 this->composition().Y0(idSolid),
233template<
class CloudType>
240 clone(this->
name() +
"Copy").ptr()
246template<
class CloudType>
249 cloudReset(cloudCopyPtr_());
250 cloudCopyPtr_.clear();
254template<
class CloudType>
261template<
class CloudType>
268 this->
solve(*
this, td);
273template<
class CloudType>
285template<
class CloudType>
290 this->devolatilisation().info(
Info);
291 this->surfaceReaction().info(
Info);
295template<
class CloudType>
298 if (this->compositionModel_)
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.
Templated devolatilisation model class.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
void resetSourceTerms()
Reset the cloud source terms.
Templated base class for multiphase reacting 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.
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 info()
Print cloud information.
void restoreState()
Reset the current cloud to the previously stored state.
void cloudReset(ReactingMultiphaseCloud< CloudType > &c)
Reset state of cloud.
void resetSourceTerms()
Reset the cloud source terms.
virtual ~ReactingMultiphaseCloud()
Destructor.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package,...
Templated surface reaction model class.
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...
Mesh data needed to do the Finite Volume discretisation.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Virtual abstract base class for templated reactingMultiphaseCloud.
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
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.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
const word cloudName(propsDict.get< word >("cloud"))