Go to the documentation of this file.
44 #ifndef ReactingMultiphaseParcel_H
45 #define ReactingMultiphaseParcel_H
58 template<
class ParcelType>
65 template<
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>
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.
A class for handling words, derived from Foam::string.
void cellValueSourceCorrection(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct cell values using latest transfer information.
void calc(TrackCloudType &cloud, trackingData &td, const scalar dt)
Update parcel properties over the time interval.
ParcelType::trackingData trackingData
Use base tracking data.
static const std::size_t sizeofFields
Size in bytes of the fields.
static void writeFields(const CloudType &c, const CompositionType &compModel)
Write - composition supplied.
void writeProperties(Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly=false) const
Write individual parcel properties to stream.
const scalarField & YGas() const
Return const access to mass fractions of gases.
iNew(const polyMesh &mesh)
static void readFields(CloudType &c, const CompositionType &compModel)
Read - composition supplied.
Mesh consisting of general polyhedral cells.
label canCombust() const
Return const access to the canCombust flag.
friend Ostream & operator(Ostream &, const ReactingMultiphaseParcel< ParcelType > &)
Class to hold reacting multiphase particle constant properties.
Registry of regIOobjects.
label canCombust_
Flag to identify if the particle can devolatilise and combust.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Multiphase variant of the reacting parcel class with one/two-way coupling with the continuous phase.
PtrList< coordinateSystem > coordinates(solidRegions.size())
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
scalar TDevol() const
Return const access to the devolatilisation temperature.
static void readObjects(CloudType &c, const objectRegistry &obr)
Read particle fields as objects from the obr registry.
TypeName("ReactingMultiphaseParcel")
Runtime type information.
AddToPropertyList(ParcelType, " nGas(Y1..YN)"+" nLiquid(Y1..YN)"+" nSolid(Y1..YN)")
String representation of properties.
Templated base class for dsmc cloud.
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.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
OBJstream os(runTime.globalPath()/outputName)
const scalarField & YLiquid() const
Return const access to mass fractions of liquids.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A cloud is a registry collection of lagrangian particles.
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy the source to the destination (recursively if necessary).
virtual autoPtr< particle > clone(const polyMesh &mesh) const
Construct and return a (basic particle) clone.
scalarField YLiquid_
Mass fractions of liquids [].
static void writeObjects(const CloudType &c, objectRegistry &obr)
Write particle fields as objects into the obr registry.
const scalarField & YSolid() const
Return const access to mass fractions of solids.
void setCellValues(TrackCloudType &cloud, trackingData &td)
Set cell values.
constantProperties()
Null constructor.
A List of wordRe with additional matching capabilities.
scalarField Re(const UList< complex > &cf)
Extract real component.
scalarField YGas_
Mass fractions of gases [].
const dimensionedScalar c
Speed of light in a vacuum.
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.
Factory class to read-construct particles used for.
scalar hRetentionCoeff() const
Return const access to the fraction of enthalpy retained by.
ReactingMultiphaseParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from mesh, position and topology.
virtual autoPtr< particle > clone() const
Construct and return a (basic particle) clone.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const Vector< label > N(dict.get< Vector< label >>("N"))
scalarList Y0(nSpecie, Zero)
scalar LDevol() const
Return const access to the latent heat of devolatilisation.
scalarField YSolid_
Mass fractions of solids [].