42#ifndef ReactingHeterogeneousParcel_H
43#define ReactingHeterogeneousParcel_H
52template<
class ParcelType>
53class ReactingHeterogeneousParcel;
55template<
class ParcelType>
66template<
class ParcelType>
79 public ParcelType::constantProperties
118 template<
class TrackCloudType>
121 TrackCloudType&
cloud,
129 template<
class TrackCloudType>
132 TrackCloudType&
cloud,
140 template<
class TrackCloudType>
143 TrackCloudType&
cloud,
172 template<
class TrackCloudType>
175 TrackCloudType&
cloud,
183 template<
class TrackCloudType>
186 TrackCloudType&
cloud,
211 TypeName(
"ReactingHeterogeneousParcel");
217 +
" nReactions(F1..FN)"
230 const label tetFacei,
249 const label tetFacei,
252 const scalar nParticle0,
254 const scalar dTarget0,
257 const vector& angularMomentum0,
270 bool newFormat =
true
349 template<
class TrackCloudType>
352 TrackCloudType&
cloud,
361 template<
class CloudType,
class CompositionType>
365 const CompositionType& compModel
369 template<
class CloudType>
373 template<
class CloudType,
class CompositionType>
377 const CompositionType& compModel
381 template<
class CloudType>
395 template<
class CloudType>
403 template<
class CloudType,
class CompositionType>
407 const CompositionType& compModel,
413 template<
class CloudType>
421 template<
class CloudType,
class CompositionType>
425 const CompositionType& compModel,
432 friend Ostream& operator<< <ParcelType>
Templated base class for dsmc cloud.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Class to hold reacting particle constant properties.
constantProperties()
Null constructor.
scalar hRetentionCoeff() const
Return const access to the fraction of enthalpy retained by.
Factory class to read-construct particles used for.
iNew(const polyMesh &mesh)
Reacting heterogeneous Parcel.
AddToPropertyList(ParcelType,+" nReactions(F1..FN)")
String representation of properties.
virtual autoPtr< particle > clone(const polyMesh &mesh) const
Construct and return a (basic particle) clone.
label canCombust_
Flag to identify if the particle can devolatilise and combust.
static void writeObjects(const CloudType &c, objectRegistry &obr)
Write particle fields as objects into the obr registry.
friend Ostream & operator(Ostream &, const ReactingHeterogeneousParcel< ParcelType > &)
virtual autoPtr< particle > clone() const
Construct and return a (basic particle) clone.
static const std::size_t sizeofFields
Size in bytes of the fields.
static void writeFields(const CloudType &c, const CompositionType &compModel)
Write - composition supplied.
TypeName("ReactingHeterogeneousParcel")
Runtime type information.
scalar updatedDeltaVolume(TrackCloudType &cloud, const scalarField &dMass, const scalar p, const scalar T)
Return change of volume due to mass exchange.
void calcHeterogeneousReactions(TrackCloudType &cloud, trackingData &td, const scalar dt, const scalar Res, const scalar nu, const scalar d, const scalar T, const scalar mass, const label canCombust, const scalar N, scalar &NCpW, const scalarField &YSolid, scalarField &F, scalarField &dMassSRSolid, scalarField &dMassSRCarrier, scalar &Sh, scalar &dhsTrans) const
Calculate surface reactions.
label canCombust() const
Return const access to the canCombust flag.
scalarField F_
Progress variables for reactions.
ParcelType::trackingData trackingData
Use base tracking data.
static void readObjects(CloudType &c, const objectRegistry &obr)
Read particle fields as objects from the obr registry.
ReactingHeterogeneousParcel(const ReactingHeterogeneousParcel &p)
Construct as a copy.
const scalarField & F() const
Return const access to F.
ReactingHeterogeneousParcel(const ReactingHeterogeneousParcel &p, const polyMesh &mesh)
Construct as a copy.
void writeProperties(Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const
Write individual parcel properties to stream.
static void readFields(CloudType &c, const CompositionType &compModel)
Read - composition supplied.
void calc(TrackCloudType &cloud, trackingData &td, const scalar dt)
Update parcel properties over the time interval.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A cloud is a registry collection of lagrangian particles.
Class for demand-driven dictionary entries.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Class used to pass data into container.
Registry of regIOobjects.
Mesh consisting of general polyhedral cells.
A List of wordRe with additional matching capabilities.
A class for handling words, derived from Foam::string.
PtrList< volScalarField > & Y
PtrList< coordinateSystem > coordinates(solidRegions.size())
OBJstream os(runTime.globalPath()/outputName)
#define AddToPropertyList(ParcelType, str)
Add to existing static 'propertyList' for particle properties.
const volScalarField & cp
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
const Vector< label > N(dict.get< Vector< label > >("N"))