33 template<
class CloudType>
36 devolatilisationModel_.reset
40 this->subModelProperties(),
45 surfaceReactionModel_.reset
49 this->subModelProperties(),
56 template<
class CloudType>
62 CloudType::cloudReset(c);
74 template<
class CloudType>
77 const word& cloudName,
85 CloudType(cloudName, rho, U, g, thermo,
false),
87 cloudCopyPtr_(
nullptr),
88 constProps_(this->particleProperties()),
89 devolatilisationModel_(
nullptr),
90 surfaceReactionModel_(
nullptr),
91 dMassDevolatilisation_(0.0),
92 dMassSurfaceReaction_(0.0)
101 this->deleteLostParticles();
105 if (this->
solution().resetSourcesOnStartup())
112 template<
class CloudType>
121 cloudCopyPtr_(
nullptr),
130 template<
class CloudType>
140 cloudCopyPtr_(
nullptr),
142 devolatilisationModel_(
nullptr),
143 surfaceReactionModel_(
nullptr),
144 dMassDevolatilisation_(0.0),
145 dMassSurfaceReaction_(0.0)
151 template<
class CloudType>
158 template<
class CloudType>
162 const scalar lagrangianDt
165 CloudType::setParcelThermoProperties(parcel, lagrangianDt);
172 parcel.YLiquid() = this->
composition().Y0(idLiquid);
177 template<
class CloudType>
181 const scalar lagrangianDt,
182 const bool fullyDescribed
185 CloudType::checkParcelProperties(parcel, lagrangianDt, fullyDescribed);
193 this->checkSuppliedComposition
199 this->checkSuppliedComposition
205 this->checkSuppliedComposition
215 template<
class CloudType>
222 clone(this->
name() +
"Copy").ptr()
228 template<
class CloudType>
231 cloudReset(cloudCopyPtr_());
232 cloudCopyPtr_.clear();
236 template<
class CloudType>
239 CloudType::resetSourceTerms();
243 template<
class CloudType>
248 typename parcelType::trackingData td(*
this);
250 this->
solve(*
this, td);
255 template<
class CloudType>
267 template<
class CloudType>
272 this->devolatilisation().info(
Info);
273 this->surfaceReaction().info(
Info);
277 template<
class CloudType>
280 if (this->compositionModel_.valid())
282 CloudType::particleType::writeFields(*
this, this->
composition());
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
DSMCCloud< dsmcParcel > CloudType
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const HashSet< word > &selectedFields, LIFOStack< regIOobject *> &storedObjects)
Read the selected GeometricFields of the specified type.
void setModels()
Set cloud sub-models.
basicSpecieMixture & composition
parcelType::constantProperties constProps_
Parcel constant properties.
autoPtr< SurfaceReactionModel< ReactingMultiphaseCloud< CloudType > > > surfaceReactionModel_
Surface reaction model.
Templated base class for multiphase reacting cloud.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
void cloudReset(ReactingMultiphaseCloud< CloudType > &c)
Reset state of cloud.
void restoreState()
Reset the current cloud to the previously stored state.
virtual void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
A class for handling words, derived from string.
void resetSourceTerms()
Reset the cloud source terms.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package, and provides:
Base cloud calls templated on particle type.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
void storeState()
Store the current cloud state.
Virtual abstract base class for templated reactingMultiphaseCloud.
virtual ~ReactingMultiphaseCloud()
Destructor.
word name(const complex &)
Return a string representation of a complex.
autoPtr< DevolatilisationModel< ReactingMultiphaseCloud< CloudType > > > devolatilisationModel_
Devolatilisation model.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
virtual void writeFields() const
Write the field data for the cloud.
Mesh data needed to do the Finite Volume discretisation.
scalar dMassDevolatilisation_
Total mass transferred to continuous phase via devolatilisation.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
Templated devolatilisation model class.
Selector class for relaxation factors, solver type and solution.
void info()
Print cloud information.
void evolve()
Evolve the cloud.
scalar dMassSurfaceReaction_
Total mass transferred to continuous phase via surface.
Templated surface reaction model class.