41 #ifndef ReactingMultiphaseCloud_H
42 #define ReactingMultiphaseCloud_H
58 template<
class CloudType>
59 class DevolatilisationModel;
61 template<
class CloudType>
62 class SurfaceReactionModel;
76 template<
class CloudType>
80 public ReactingMultiphaseCloudName
109 typename parcelType::constantProperties
constProps_;
217 inline const typename parcelType::constantProperties&
221 inline typename parcelType::constantProperties&
constProps();
264 const label injectori
Templated base class for dsmc cloud.
const word & cloudName() const
Return the cloud type.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
const fvMesh & mesh() const
Return references to the mesh.
Templated devolatilisation model class.
Generic GeometricField class.
autoPtr< IOobject > clone() const
Clone.
const word & name() const
Return name.
Templated base class for multiphase reacting cloud.
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 operator=(const ReactingMultiphaseCloud &)=delete
Disallow default bitwise assignment.
const DevolatilisationModel< ReactingMultiphaseCloud< CloudType > > & devolatilisation() const
Return const access to devolatilisation model.
autoPtr< DevolatilisationModel< ReactingMultiphaseCloud< CloudType > > > devolatilisationModel_
Devolatilisation model.
virtual autoPtr< Cloud< parcelType > > cloneBare(const word &name) const
Construct and return bare clone based on (this) with new name.
scalar dMassSurfaceReaction_
Total mass transferred to continuous phase via surface.
scalar dMassDevolatilisation_
Total mass transferred to continuous phase via devolatilisation.
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.
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.
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 checkParcelProperties(parcelType &parcel, const label injectori)
Check parcel properties.
void resetSourceTerms()
Reset the cloud source terms.
const SurfaceReactionModel< ReactingMultiphaseCloud< CloudType > > & surfaceReaction() const
Return const access to reacting surface reaction model.
void setParcelThermoProperties(parcelType &parcel)
Set parcel thermo properties.
virtual ~ReactingMultiphaseCloud()
Destructor.
Templated surface reaction model class.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Base-class for fluid thermodynamic properties.
Mesh data needed to do the Finite Volume discretisation.
A class for handling words, derived from string.
Forward declarations of fvMatrix specialisations.
const dimensionedScalar c
Speed of light in a vacuum.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
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.
TemplateName(FvFaceCellWave)