46#ifndef ReactingMultiphaseCloud_H
47#define ReactingMultiphaseCloud_H
58template<
class CloudType>
59class DevolatilisationModel;
61template<
class CloudType>
62class SurfaceReactionModel;
68template<
class CloudType>
216 inline const typename parcelType::constantProperties&
220 inline typename parcelType::constantProperties&
constProps();
260 const scalar lagrangianDt
267 const scalar lagrangianDt,
268 const bool fullyDescribed
const uniformDimensionedVectorField & g
ParticleType particleType
Templated base class for dsmc cloud.
const word & cloudName() const
Return the cloud type.
const fvMesh & mesh() const
Return reference to the mesh.
Class to hold DSMC particle constant properties.
Templated devolatilisation model class.
const word & name() const noexcept
Return the object name.
autoPtr< IOobject > clone() const
Clone.
Templated base class for multiphase reacting cloud.
const DevolatilisationModel< ReactingMultiphaseCloud< CloudType > > & devolatilisation() const
Return const access to devolatilisation model.
const parcelType::constantProperties & constProps() const
Return the constant properties.
autoPtr< SurfaceReactionModel< ReactingMultiphaseCloud< CloudType > > > surfaceReactionModel_
Surface reaction model.
void setModels()
Set cloud sub-models.
void storeState()
Store the current cloud state.
const ReactingMultiphaseCloud & cloudCopy() const
Return a reference to the cloud copy.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
autoPtr< DevolatilisationModel< ReactingMultiphaseCloud< CloudType > > > devolatilisationModel_
Devolatilisation model.
scalar dMassSurfaceReaction_
Total mass transferred to continuous phase via surface.
scalar dMassDevolatilisation_
Total mass transferred to continuous phase via devolatilisation.
CloudType::particleType parcelType
Type of parcel the cloud was instantiated for.
virtual void writeFields() const
Write the field data for the cloud.
CloudType cloudType
Type of cloud this cloud was instantiated for.
ReactingMultiphaseCloud< CloudType > reactingMultiphaseCloudType
Convenience typedef for this cloud type.
virtual void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
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 evolve()
Evolve the cloud.
parcelType::constantProperties constProps_
Parcel constant properties.
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.
const SurfaceReactionModel< ReactingMultiphaseCloud< CloudType > > & surfaceReaction() const
Return const access to reacting surface reaction model.
virtual ~ReactingMultiphaseCloud()
Destructor.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package,...
Templated surface reaction model class.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
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.
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.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const wordHashSet &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type.