44#ifndef ReactingMultiphaseParcel_H
45#define ReactingMultiphaseParcel_H
56template<
class ParcelType>
class ReactingMultiphaseParcel;
58template<
class ParcelType>
65template<
class ParcelType>
78 static const label
GAS;
79 static const label
LIQ;
80 static const label
SLD;
86 public ParcelType::constantProperties
118 inline scalar
TDevol()
const;
121 inline scalar
LDevol()
const;
138 template<
class TrackCloudType>
141 TrackCloudType&
cloud,
151 template<
class TrackCloudType>
154 TrackCloudType&
cloud,
164 template<
class TrackCloudType>
167 TrackCloudType&
cloud,
177 scalar updateMassFractions
214 template<
class TrackCloudType>
217 TrackCloudType&
cloud,
229 template<
class TrackCloudType>
232 TrackCloudType&
cloud,
253 template<
class TrackCloudType>
256 TrackCloudType&
cloud,
284 TypeName(
"ReactingMultiphaseParcel");
305 const label tetFacei,
324 const label tetFacei,
327 const scalar nParticle0,
329 const scalar dTarget0,
332 const vector& angularMomentum0,
347 bool newFormat =
true
433 template<
class TrackCloudType>
437 template<
class TrackCloudType>
440 TrackCloudType&
cloud,
446 template<
class TrackCloudType>
449 TrackCloudType&
cloud,
458 template<
class CloudType,
class CompositionType>
462 const CompositionType& compModel
466 template<
class CloudType>
470 template<
class CloudType,
class CompositionType>
474 const CompositionType& compModel
478 template<
class CloudType>
487 const bool namesOnly =
false
492 template<
class CloudType>
500 template<
class CloudType,
class CompositionType>
504 const CompositionType& compModel,
510 template<
class CloudType>
518 template<
class CloudType,
class CompositionType>
522 const CompositionType& compModel,
529 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 multiphase particle constant properties.
constantProperties()
Null constructor.
scalar hRetentionCoeff() const
Return const access to the fraction of enthalpy retained by.
scalar TDevol() const
Return const access to the devolatilisation temperature.
scalar LDevol() const
Return const access to the latent heat of devolatilisation.
Factory class to read-construct particles used for.
iNew(const polyMesh &mesh)
Multiphase variant of the reacting parcel class with one/two-way coupling with the continuous phase.
AddToPropertyList(ParcelType, " nGas(Y1..YN)"+" nLiquid(Y1..YN)"+" nSolid(Y1..YN)")
String representation of properties.
scalarField YLiquid_
Mass fractions of liquids [].
friend Ostream & operator(Ostream &, const ReactingMultiphaseParcel< ParcelType > &)
scalarField YSolid_
Mass fractions of solids [].
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.
ReactingMultiphaseParcel(const ReactingMultiphaseParcel &p)
Construct as a copy.
void cellValueSourceCorrection(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct cell values using latest transfer information.
void calcDevolatilisation(TrackCloudType &cloud, trackingData &td, const scalar dt, const scalar age, const scalar Ts, const scalar d, const scalar T, const scalar mass, const scalar mass0, const scalarField &YGasEff, const scalarField &YLiquidEff, const scalarField &YSolidEff, label &canCombust, scalarField &dMassDV, scalar &Sh, scalar &N, scalar &NCpW, scalarField &Cs) const
Calculate Devolatilisation.
virtual autoPtr< particle > clone() const
Construct and return a (basic particle) clone.
scalar updatedDeltaVolume(TrackCloudType &cloud, const scalarField &dMassGas, const scalarField &dMassLiquid, const scalarField &dMassSolid, const label idG, const label idL, const label idS, const scalar p, const scalar T)
Return change of volume due to mass exchange.
static const std::size_t sizeofFields
Size in bytes of the fields.
static void writeFields(const CloudType &c, const CompositionType &compModel)
Write - composition supplied.
scalarField YGas_
Mass fractions of gases [].
label canCombust() const
Return const access to the canCombust flag.
ParcelType::trackingData trackingData
Use base tracking data.
static void readObjects(CloudType &c, const objectRegistry &obr)
Read particle fields as objects from the obr registry.
const scalarField & YGas() const
Return const access to mass fractions of gases.
ReactingMultiphaseParcel(const ReactingMultiphaseParcel &p, const polyMesh &mesh)
Construct as a copy.
TypeName("ReactingMultiphaseParcel")
Runtime type information.
void setCellValues(TrackCloudType &cloud, trackingData &td)
Set cell values.
void calcSurfaceReactions(TrackCloudType &cloud, trackingData &td, const scalar dt, const scalar d, const scalar Re, const scalar nu, const scalar T, const scalar mass, const label canCombust, const scalar N, const scalarField &YMix, const scalarField &YGas, const scalarField &YLiquid, const scalarField &YSolid, scalarField &dMassSRGas, scalarField &dMassSRLiquid, scalarField &dMassSRSolid, scalarField &dMassSRCarrier, scalar &Sh, scalar &dhsTrans) const
Calculate surface reactions.
void writeProperties(Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly=false) const
Write individual parcel properties to stream.
const scalarField & YSolid() const
Return const access to mass fractions of solids.
const scalarField & YLiquid() const
Return const access to mass fractions of liquids.
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< coordinateSystem > coordinates(solidRegions.size())
OBJstream os(runTime.globalPath()/outputName)
scalarField Re(const UList< complex > &cf)
Extract real component.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
#define AddToPropertyList(ParcelType, str)
Add to existing static 'propertyList' for particle properties.
scalarList Y0(nSpecie, Zero)
const volScalarField & cp
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
const Vector< label > N(dict.get< Vector< label > >("N"))