Go to the documentation of this file.
33 template<
class CloudType>
36 heterogeneousReactionModel_.reset
40 this->subModelProperties(),
47 template<
class CloudType>
53 CloudType::cloudReset(
c);
54 heterogeneousReactionModel_.reset(
c.heterogeneousReactionModel_.ptr());
60 template<
class CloudType>
73 cloudCopyPtr_(
nullptr),
74 heterogeneousReactionModel_(
nullptr)
83 this->deleteLostParticles();
89 template<
class CloudType>
98 cloudCopyPtr_(
nullptr),
99 heterogeneousReactionModel_(
c.heterogeneousReactionModel_->clone())
103 template<
class CloudType>
113 cloudCopyPtr_(
nullptr),
114 heterogeneousReactionModel_(
c.heterogeneousReactionModel_->clone())
120 template<
class CloudType>
124 const scalar lagrangianDt
127 CloudType::setParcelThermoProperties(parcel, lagrangianDt);
135 parcel.F().setSize(heterogeneousReactionModel_->nF(), 0.0);
138 parcel.canCombust() = 1;
142 template<
class CloudType>
146 const scalar lagrangianDt,
147 const bool fullyDescribed
150 CloudType::checkParcelProperties(parcel, lagrangianDt,
false);
153 const label liqId = this->
composition().idLiquid();
165 <<
"The supplied composition must be : " <<
nl
166 <<
" YGasTot0 0 : " <<
nl
167 <<
" YLiquidTot0 0 : " <<
nl
168 <<
" YSolidTot0 1 : " <<
nl
169 <<
"This Cloud only works with pure solid particles."
175 <<
"The supplied composition has a liquid phase. " <<
nl
176 <<
"This Cloud only works with pure solid particles."
182 template<
class CloudType>
189 clone(this->
name() +
"Copy").ptr()
195 template<
class CloudType>
198 cloudReset(cloudCopyPtr_());
199 cloudCopyPtr_.clear();
203 template<
class CloudType>
208 typename parcelType::trackingData td(*
this);
210 this->
solve(*
this, td);
215 template<
class CloudType>
227 template<
class CloudType>
231 heterogeneousReactionModel_->info(
Info);
235 template<
class CloudType>
242 template<
class CloudType>
246 CloudType::particleType::readObjects(*
this, this->
composition(), obr);
250 template<
class CloudType>
254 CloudType::particleType::writeObjects(*
this, this->
composition(), obr);
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
Selector class for relaxation factors, solver type and solution.
Base class for heterogeneous reacting models.
virtual void readObjects(const objectRegistry &obr)
Read particle fields as objects from the obr registry.
const word cloudName(propsDict.get< word >("cloud"))
A class for handling words, derived from Foam::string.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package,...
void restoreState()
Reset the current cloud to the previously stored state.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
ParticleType parcelType
Parcels are just particles.
void storeState()
Store the current cloud state.
Templated base class for reacting heterogeneous cloud.
void evolve()
Evolve the cloud.
Virtual abstract base class for templated ReactingCloud.
basicSpecieMixture & composition
void cloudReset(ReactingHeterogeneousCloud< CloudType > &c)
Reset state of cloud.
Registry of regIOobjects.
virtual void writeObjects(objectRegistry &obr) const
Write particle fields as objects into the obr registry.
messageStream Info
Information stream (uses stdout - output is on the master only)
word name(const complex &c)
Return string representation of complex.
void writeFields(const fvMesh &mesh, const wordHashSet &selectedFields)
virtual void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
DSMCCloud< dsmcParcel > CloudType
virtual void writeFields() const
Write the field data for the cloud.
void setModels()
Set cloud sub-models.
Mesh data needed to do the Finite Volume discretisation.
const uniformDimensionedVectorField & g
errorManip< error > abort(error &err)
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const wordHashSet &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void info()
Print cloud information.
Base cloud calls templated on particle type.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const dimensionedScalar c
Speed of light in a vacuum.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.