38 #ifndef ReactingMultiphaseParcel_H
39 #define ReactingMultiphaseParcel_H
50 template<
class ParcelType>
51 class ReactingMultiphaseParcel;
53 template<
class ParcelType>
71 template<
class ParcelType>
75 public ReactingMultiphaseParcelName
80 static const std::size_t sizeofFields_;
88 public ParcelType::constantProperties
120 inline scalar
TDevol()
const;
123 inline scalar
LDevol()
const;
140 template<
class TrackCloudType>
143 TrackCloudType&
cloud,
153 template<
class TrackCloudType>
156 TrackCloudType&
cloud,
166 template<
class TrackCloudType>
169 TrackCloudType&
cloud,
179 scalar updateMassFractions
221 template<
class TrackCloudType>
224 TrackCloudType&
cloud,
244 template<
class TrackCloudType>
247 TrackCloudType&
cloud,
292 const label tetFacei,
304 label& nLocateBoundaryHits
335 inline scalar
mass0()
const;
353 inline scalar&
mass0();
371 template<
class TrackCloudType>
375 template<
class TrackCloudType>
378 TrackCloudType&
cloud,
384 template<
class TrackCloudType>
387 TrackCloudType&
cloud,
396 template<
class CloudType,
class CompositionType>
400 const CompositionType& compModel
404 template<
class CloudType>
408 template<
class CloudType,
class CompositionType>
412 const CompositionType& compModel
416 template<
class CloudType>
422 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.
Multiphase variant of the reacting parcel class with one/two-way coupling with the continuous phase.
scalarField YLiquid_
Mass fractions of liquids [].
scalarField YSolid_
Mass fractions of solids [].
label canCombust_
Flag to identify if the particle can devolatilise and combust.
void calcSurfaceReactions(TrackCloudType &cloud, trackingData &td, const scalar dt, const scalar d, 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 cellValueSourceCorrection(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct cell values using latest transfer information.
AddToPropertyList(ParcelType, " mass0"+" nGas(Y1..YN)"+" nLiquid(Y1..YN)"+" nSolid(Y1..YN)")
String representation of properties.
static void writeFields(const CloudType &c, const CompositionType &compModel)
Write.
scalarField YGas_
Mass fractions of gases [].
void calcDevolatilisation(TrackCloudType &cloud, trackingData &td, const scalar dt, 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.
label canCombust() const
Return const access to the canCombust flag.
ParcelType::trackingData trackingData
Use base tracking data.
const scalarField & YGas() const
Return const access to mass fractions of gases.
virtual autoPtr< particle > clone() const
Construct and return a clone.
scalar mass0() const
Return const access to initial mass [kg].
ReactingMultiphaseParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti, const label facei)
Construct from mesh, coordinates and topology.
void setCellValues(TrackCloudType &cloud, trackingData &td)
Set cell values.
scalar mass0_
Initial mass [kg].
static autoPtr< ReactingMultiphaseParcel > New(Istream &is)
Construct from Istream and return.
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.
void calc(TrackCloudType &cloud, trackingData &td, const scalar dt)
Update parcel properties over the time interval.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Base class for clouds. Provides a basic evolution algorithm, models, and a database for caching deriv...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Mesh consisting of general polyhedral cells.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
const dimensionedScalar c
Speed of light in a vacuum.
barycentric coordinates(const polyMesh &mesh, const point &position, const label celli, const label facei, const label faceTrii, const scalar stepFraction)
Return the coordinates given the position and tet topology.
point position(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label facei, const label faceTrii, const scalar stepFraction)
Return the position given the coordinates and tet topology.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void T(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1)
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy, recursively if necessary, the source to the destination.
TemplateName(FvFaceCellWave)