33template<
class CloudType>
40 this->subModelProperties(),
47template<
class CloudType>
60template<
class CloudType>
61Foam::ReactingHeterogeneousCloud<CloudType>::ReactingHeterogeneousCloud
73 cloudCopyPtr_(nullptr),
74 heterogeneousReactionModel_(nullptr)
89template<
class CloudType>
90Foam::ReactingHeterogeneousCloud<CloudType>::ReactingHeterogeneousCloud
98 cloudCopyPtr_(nullptr),
103template<
class CloudType>
104Foam::ReactingHeterogeneousCloud<CloudType>::ReactingHeterogeneousCloud
113 cloudCopyPtr_(nullptr),
120template<
class CloudType>
124 const scalar lagrangianDt
127 CloudType::setParcelThermoProperties(parcel, lagrangianDt);
138 parcel.canCombust() = 1;
142 if (this->constProps_.rho0() == -1)
145 const label idLiquid = this->
composition().idLiquid();
146 const label idSolid = this->
composition().idSolid();
153 this->
composition().thermo().thermo().p()[parcel.cell()];
154 const scalar
T0 = this->constProps_.T0();
161template<
class CloudType>
165 const scalar lagrangianDt,
166 const bool fullyDescribed
169 CloudType::checkParcelProperties(parcel, lagrangianDt,
false);
172 const label liqId = this->
composition().idLiquid();
184 <<
"The supplied composition must be : " <<
nl
185 <<
" YGasTot0 0 : " <<
nl
186 <<
" YLiquidTot0 0 : " <<
nl
187 <<
" YSolidTot0 1 : " <<
nl
188 <<
"This Cloud only works with pure solid particles."
194 <<
"The supplied composition has a liquid phase. " <<
nl
195 <<
"This Cloud only works with pure solid particles."
201template<
class CloudType>
206 static_cast<ReactingHeterogeneousCloud<CloudType>*
>
214template<
class CloudType>
218 cloudCopyPtr_.clear();
222template<
class CloudType>
227 typename parcelType::trackingData
td(*
this);
234template<
class CloudType>
237 const mapPolyMesh& mapper
246template<
class CloudType>
255template<
class CloudType>
262template<
class CloudType>
270template<
class CloudType>
const word cloudName(propsDict.get< word >("cloud"))
const uniformDimensionedVectorField & g
void deleteLostParticles()
Remove lost particles from cloud and delete.
virtual void writeFields() const
Write the field data for the cloud of particles Dummy at.
void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
void cloudReset(const Cloud< ParticleType > &c)
Reset the particles.
label size() const noexcept
The number of elements in list.
const word & cloudName() const
const fvMesh & mesh() const
Base class for heterogeneous reacting models.
Templated base class for reacting heterogeneous cloud.
void setModels()
Set cloud sub-models.
void storeState()
Store the current cloud state.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
virtual void readObjects(const objectRegistry &obr)
Read particle fields as objects from the obr registry.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
autoPtr< HeterogeneousReactingModel< ReactingHeterogeneousCloud< CloudType > > > heterogeneousReactionModel_
Heterogeneous reaction model.
CloudType::particleType parcelType
Type of parcel the cloud was instantiated for.
virtual void writeFields() const
Write the field data for the cloud.
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.
void evolve()
Evolve the cloud.
void cloudReset(ReactingHeterogeneousCloud< CloudType > &c)
Reset state of cloud.
void info()
Print cloud information.
void restoreState()
Reset the current cloud to the previously stored state.
virtual void writeObjects(objectRegistry &obr) const
Write particle fields as objects into the obr registry.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package,...
PtrList< volScalarField > & Y()
Return the mass-fraction fields.
virtual scalar rho(const label speciei, const scalar p, const scalar T) const =0
Density [kg/m3].
virtual void readObjects(const objectRegistry &obr)
Read particle fields from objects in the obr registry.
virtual void writeObjects(objectRegistry &obr) const
Write particle fields as objects into the obr registry.
Mesh data needed to do the Finite Volume discretisation.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Registry of regIOobjects.
Virtual abstract base class for templated ReactingCloud.
reactingHeterogeneousCloud()=default
Null constructor.
Selector class for relaxation factors, solver type and solution.
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.
basicSpecieMixture & composition
const volScalarField & p0
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
const dimensionedScalar c
Speed of light in a vacuum.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
DSMCCloud< dsmcParcel > CloudType
GeometricField< vector, fvPatchField, volMesh > volVectorField
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const NameMatchPredicate &selectedFields, DynamicList< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type and store on the objectRegistry.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
errorManip< error > abort(error &err)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
constexpr char nl
The newline '\n' character (0x0a).