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, carrierThermo,
false),
86 cloudCopyPtr_(
nullptr),
87 constProps_(this->particleProperties()),
88 devolatilisationModel_(
nullptr),
89 surfaceReactionModel_(
nullptr),
90 dMassDevolatilisation_(0.0),
91 dMassSurfaceReaction_(0.0)
98 this->deleteLostParticles();
101 if (this->
solution().resetSourcesOnStartup())
108 template<
class CloudType>
116 cloudCopyPtr_(
nullptr),
125 template<
class CloudType>
134 cloudCopyPtr_(
nullptr),
136 devolatilisationModel_(
nullptr),
137 surfaceReactionModel_(
nullptr),
138 dMassDevolatilisation_(0.0),
139 dMassSurfaceReaction_(0.0)
145 template<
class CloudType>
152 template<
class CloudType>
156 const scalar lagrangianDt
159 CloudType::setParcelThermoProperties(parcel, lagrangianDt);
166 parcel.YLiquid() = this->
composition().Y0(idLiquid);
171 template<
class CloudType>
175 const scalar lagrangianDt,
176 const bool fullyDescribed
179 CloudType::checkParcelProperties(parcel, lagrangianDt, fullyDescribed);
187 this->checkSuppliedComposition
193 this->checkSuppliedComposition
199 this->checkSuppliedComposition
209 template<
class CloudType>
222 template<
class CloudType>
225 cloudReset(cloudCopyPtr_());
226 cloudCopyPtr_.clear();
230 template<
class CloudType>
233 CloudType::resetSourceTerms();
237 template<
class CloudType>
242 typename parcelType::trackingData td(*
this);
244 this->
solve(*
this, td);
249 template<
class CloudType>
261 template<
class CloudType>
266 this->devolatilisation().info(
Info);
267 this->surfaceReaction().info(
Info);
271 template<
class CloudType>
274 if (this->compositionModel_.valid())
276 CloudType::particleType::writeFields(*
this, this->
composition());
280 CloudType::particleType::writeFields(*
this);
virtual void autoMap(const polyTopoChangeMap &)
Remap the cells of particles corresponding to the.
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
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.
void cloudReset(ReactingMultiphaseCloud< CloudType > &c)
Reset state of cloud.
void restoreState()
Reset the current cloud to the previously stored state.
A class for handling words, derived from string.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Base-class for fluid thermodynamic properties.
void resetSourceTerms()
Reset the cloud source terms.
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 ~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.
ReactingMultiphaseCloud(const word &cloudName, const volScalarField &rho, const volVectorField &U, const dimensionedVector &g, const fluidThermo &carrierThermo, const bool readFields=true)
Construct given carrier fields and thermo.
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.