38#ifndef Foam_SprayCloud_H
39#define Foam_SprayCloud_H
50template<
class CloudType>
class AtomizationModel;
51template<
class CloudType>
class BreakupModel;
52template<
class CloudType>
class SprayCloud;
59template<
class CloudType>
87 scalar averageParcelMass_;
191 inline scalar
penetration(
const scalar fraction)
const;
217 const scalar lagrangianDt
224 const scalar lagrangianDt,
225 const bool fullyDescribed
const uniformDimensionedVectorField & g
Templated atomization model class.
Templated break-up model class.
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.
const word & name() const noexcept
Return the object name.
autoPtr< IOobject > clone() const
Clone.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package,...
Templated base class for spray cloud.
autoPtr< BreakupModel< SprayCloud< CloudType > > > breakupModel_
Break-up model.
virtual ~SprayCloud()
Destructor.
void setModels()
Set cloud sub-models.
const BreakupModel< SprayCloud< CloudType > > & breakup() const
Return const-access to the breakup model.
SprayCloud< CloudType > sprayCloudType
Convenience typedef for this cloud type.
void storeState()
Store the current cloud state.
autoPtr< AtomizationModel< SprayCloud< CloudType > > > atomizationModel_
Atomization model.
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 cloudReset(SprayCloud< CloudType > &c)
Reset state of cloud.
CloudType::particleType parcelType
Type of parcel the cloud was instantiated for.
const AtomizationModel< SprayCloud< CloudType > > & atomization() const
Return const-access to the atomization model.
const SprayCloud & cloudCopy() const
Return a reference to the cloud copy.
CloudType cloudType
Type of cloud this cloud was instantiated for.
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 spray (inject, move)
void info()
Print cloud information.
void restoreState()
Reset the current cloud to the previously stored state.
scalar penetration(const scalar fraction) const
Penetration for fraction [0-1] of the current total mass.
scalar averageParcelMass() const
Return const-access to the average parcel mass.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Mesh data needed to do the Finite Volume discretisation.
Virtual abstract base class for templated SprayCloud.
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.