Multiphase variant of the reacting parcel class with one/two-way coupling with the continuous phase. More...
Classes | |
class | constantProperties |
Class to hold reacting multiphase particle constant properties. More... | |
class | iNew |
Factory class to read-construct particles (for parallel transfer) More... | |
Public Types | |
typedef ParcelType::trackingData | trackingData |
Use base tracking data. More... | |
Public Member Functions | |
TypeName ("ReactingMultiphaseParcel") | |
Runtime type information. More... | |
AddToPropertyList (ParcelType, " nGas(Y1..YN)"+" nLiquid(Y1..YN)"+" nSolid(Y1..YN)") | |
String representation of properties. More... | |
ReactingMultiphaseParcel (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti) | |
Construct from mesh, position and topology. More... | |
ReactingMultiphaseParcel (const polyMesh &mesh, const vector &position, const label celli) | |
Construct from a position and a cell, searching for the rest of the. More... | |
ReactingMultiphaseParcel (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti, const label typeId, const scalar nParticle0, const scalar d0, const scalar dTarget0, const vector &U0, const vector &f0, const vector &angularMomentum0, const vector &torque0, const scalarField &Y0, const scalarField &YGas0, const scalarField &YLiquid0, const scalarField &YSolid0, const constantProperties &constProps) | |
Construct from components. More... | |
ReactingMultiphaseParcel (const polyMesh &mesh, Istream &is, bool readFields=true, bool newFormat=true) | |
Construct from Istream. More... | |
ReactingMultiphaseParcel (const ReactingMultiphaseParcel &p) | |
Construct as a copy. More... | |
ReactingMultiphaseParcel (const ReactingMultiphaseParcel &p, const polyMesh &mesh) | |
Construct as a copy. More... | |
virtual autoPtr< particle > | clone () const |
Return a (basic particle) clone. More... | |
virtual autoPtr< particle > | clone (const polyMesh &mesh) const |
Return a (basic particle) clone. More... | |
const scalarField & | YGas () const |
Return const access to mass fractions of gases. More... | |
const scalarField & | YLiquid () const |
Return const access to mass fractions of liquids. More... | |
const scalarField & | YSolid () const |
Return const access to mass fractions of solids. More... | |
label | canCombust () const |
Return const access to the canCombust flag. More... | |
scalarField & | YGas () |
Return access to mass fractions of gases. More... | |
scalarField & | YLiquid () |
Return access to mass fractions of liquids. More... | |
scalarField & | YSolid () |
Return access to mass fractions of solids. More... | |
label & | canCombust () |
Return access to the canCombust flag. More... | |
template<class TrackCloudType > | |
void | setCellValues (TrackCloudType &cloud, trackingData &td) |
Set cell values. More... | |
template<class TrackCloudType > | |
void | cellValueSourceCorrection (TrackCloudType &cloud, trackingData &td, const scalar dt) |
Correct cell values using latest transfer information. More... | |
template<class TrackCloudType > | |
void | calc (TrackCloudType &cloud, trackingData &td, const scalar dt) |
Update parcel properties over the time interval. More... | |
void | writeProperties (Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly=false) const |
Write individual parcel properties to stream. More... | |
template<class TrackCloudType > | |
Foam::scalar | CpEff (TrackCloudType &cloud, trackingData &td, const scalar p, const scalar T, const label idG, const label idL, const label idS) const |
template<class TrackCloudType > | |
Foam::scalar | HsEff (TrackCloudType &cloud, trackingData &td, const scalar p, const scalar T, const label idG, const label idL, const label idS) const |
template<class TrackCloudType > | |
Foam::scalar | LEff (TrackCloudType &cloud, trackingData &td, const scalar p, const scalar T, const label idG, const label idL, const label idS) const |
template<class TrackCloudType > | |
Foam::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) |
Static Public Member Functions | |
template<class CloudType , class CompositionType > | |
static void | readFields (CloudType &c, const CompositionType &compModel) |
Read - composition supplied. More... | |
template<class CloudType > | |
static void | readFields (CloudType &c) |
Read - no composition. More... | |
template<class CloudType , class CompositionType > | |
static void | writeFields (const CloudType &c, const CompositionType &compModel) |
Write - composition supplied. More... | |
template<class CloudType > | |
static void | writeFields (const CloudType &c) |
Read - no composition. More... | |
template<class CloudType > | |
static void | readObjects (CloudType &c, const objectRegistry &obr) |
Read particle fields as objects from the obr registry. More... | |
template<class CloudType , class CompositionType > | |
static void | readObjects (CloudType &c, const CompositionType &compModel, const objectRegistry &obr) |
Read particle fields as objects from the obr registry. More... | |
template<class CloudType > | |
static void | writeObjects (const CloudType &c, objectRegistry &obr) |
Write particle fields as objects into the obr registry. More... | |
template<class CloudType , class CompositionType > | |
static void | writeObjects (const CloudType &c, const CompositionType &compModel, objectRegistry &obr) |
Write particle fields as objects into the obr registry. More... | |
Static Public Attributes | |
static const std::size_t | sizeofFields |
Size in bytes of the fields. More... | |
static const label | GAS |
static const label | LIQ |
static const label | SLD |
Protected Member Functions | |
template<class TrackCloudType > | |
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. More... | |
template<class TrackCloudType > | |
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. More... | |
template<class TrackCloudType > | |
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. More... | |
Protected Attributes | |
scalarField | YGas_ |
Mass fractions of gases []. More... | |
scalarField | YLiquid_ |
Mass fractions of liquids []. More... | |
scalarField | YSolid_ |
Mass fractions of solids []. More... | |
label | canCombust_ |
Flag to identify if the particle can devolatilise and combust. More... | |
Friends | |
Ostream & | operator (Ostream &, const ReactingMultiphaseParcel< ParcelType > &) |
Multiphase variant of the reacting parcel class with one/two-way coupling with the continuous phase.
Definition at line 51 of file ReactingMultiphaseParcel.H.
typedef ParcelType::trackingData trackingData |
Use base tracking data.
Definition at line 151 of file ReactingMultiphaseParcel.H.
|
inline |
Construct from mesh, position and topology.
Other properties initialised as null
Definition at line 64 of file ReactingMultiphaseParcelI.H.
|
inline |
Construct from a position and a cell, searching for the rest of the.
required topology. Other properties are initialised as null.
Definition at line 82 of file ReactingMultiphaseParcelI.H.
|
inline |
Construct from components.
Definition at line 98 of file ReactingMultiphaseParcelI.H.
ReactingMultiphaseParcel | ( | const polyMesh & | mesh, |
Istream & | is, | ||
bool | readFields = true , |
||
bool | newFormat = true |
||
) |
Construct from Istream.
Definition at line 43 of file ReactingMultiphaseParcelIO.C.
References IOstream::check(), FUNCTION_NAME, Foam::readFields(), and DynamicList< T, SizeMin >::transfer().
ReactingMultiphaseParcel | ( | const ReactingMultiphaseParcel< ParcelType > & | p | ) |
Construct as a copy.
ReactingMultiphaseParcel | ( | const ReactingMultiphaseParcel< ParcelType > & | p, |
const polyMesh & | mesh | ||
) |
Construct as a copy.
|
protected |
Return change of volume due to mass exchange.
|
protected |
Calculate Devolatilisation.
Definition at line 587 of file ReactingMultiphaseParcel.C.
References beta(), Foam::cbrt(), composition, Cp, Cs, forAll, Foam::max(), N(), Foam::pow(), Foam::constant::thermodynamic::RR, Foam::sqr(), Foam::sqrt(), Foam::sum(), Foam::T(), and td().
|
protected |
Calculate surface reactions.
Definition at line 688 of file ReactingMultiphaseParcel.C.
References Foam::min(), N(), nu, Foam::Re(), Foam::sum(), Foam::T(), and td().
TypeName | ( | "ReactingMultiphaseParcel< ParcelType >" | ) |
Runtime type information.
AddToPropertyList | ( | ParcelType | , |
" nGas(Y1..YN)"+" nLiquid(Y1..YN)"+" nSolid(Y1..YN)" | |||
) |
String representation of properties.
Return a (basic particle) clone.
Definition at line 425 of file ReactingMultiphaseParcel.H.
References particle< Type >::Clone().
Return a (basic particle) clone.
Definition at line 433 of file ReactingMultiphaseParcel.H.
References particle< Type >::Clone(), and mesh.
|
inline |
Return const access to mass fractions of gases.
Definition at line 184 of file ReactingMultiphaseParcelI.H.
References ReactingMultiphaseParcel< ParcelType >::YGas_.
|
inline |
Return const access to mass fractions of liquids.
Definition at line 192 of file ReactingMultiphaseParcelI.H.
References ReactingMultiphaseParcel< ParcelType >::YLiquid_.
|
inline |
Return const access to mass fractions of solids.
Definition at line 200 of file ReactingMultiphaseParcelI.H.
References ReactingMultiphaseParcel< ParcelType >::YSolid_.
|
inline |
Return const access to the canCombust flag.
Definition at line 208 of file ReactingMultiphaseParcelI.H.
References ReactingMultiphaseParcel< ParcelType >::canCombust_.
|
inline |
Return access to mass fractions of gases.
Definition at line 215 of file ReactingMultiphaseParcelI.H.
References ReactingMultiphaseParcel< ParcelType >::YGas_.
|
inline |
Return access to mass fractions of liquids.
Definition at line 222 of file ReactingMultiphaseParcelI.H.
References ReactingMultiphaseParcel< ParcelType >::YLiquid_.
|
inline |
Return access to mass fractions of solids.
Definition at line 229 of file ReactingMultiphaseParcelI.H.
References ReactingMultiphaseParcel< ParcelType >::YSolid_.
|
inline |
Return access to the canCombust flag.
Definition at line 236 of file ReactingMultiphaseParcelI.H.
References ReactingMultiphaseParcel< ParcelType >::canCombust_.
void setCellValues | ( | TrackCloudType & | cloud, |
trackingData & | td | ||
) |
Set cell values.
Definition at line 182 of file ReactingMultiphaseParcel.C.
References td().
void cellValueSourceCorrection | ( | TrackCloudType & | cloud, |
trackingData & | td, | ||
const scalar | dt | ||
) |
Correct cell values using latest transfer information.
Definition at line 194 of file ReactingMultiphaseParcel.C.
References td().
void calc | ( | TrackCloudType & | cloud, |
trackingData & | td, | ||
const scalar | dt | ||
) |
Update parcel properties over the time interval.
Definition at line 208 of file ReactingMultiphaseParcel.C.
References Foam::cbrt(), composition, Cs, forAll, Foam::constant::mathematical::pi(), Foam::pow4(), Foam::Re(), rho0, Su, Foam::sum(), T0, td(), Foam::fieldTypes::volume, and Foam::Zero.
|
static |
Read - composition supplied.
Definition at line 84 of file ReactingMultiphaseParcelIO.C.
References Foam::constant::universal::c, forAll, Foam::max(), p, Foam::readFields(), UList< T >::size(), and solidNames().
|
static |
Read - no composition.
Definition at line 75 of file ReactingMultiphaseParcelIO.C.
References Foam::constant::universal::c, and Foam::readFields().
|
static |
Write - composition supplied.
Definition at line 184 of file ReactingMultiphaseParcelIO.C.
References Foam::constant::universal::c, forAll, Foam::max(), p0, solidNames(), regIOobject::write(), and Foam::writeFields().
|
static |
Read - no composition.
Definition at line 175 of file ReactingMultiphaseParcelIO.C.
References Foam::constant::universal::c, and Foam::writeFields().
void writeProperties | ( | Ostream & | os, |
const wordRes & | filters, | ||
const word & | delim, | ||
const bool | namesOnly = false |
||
) | const |
Write individual parcel properties to stream.
Definition at line 275 of file ReactingMultiphaseParcelIO.C.
References os(), and writeProp.
|
static |
Read particle fields as objects from the obr registry.
Definition at line 300 of file ReactingMultiphaseParcelIO.C.
References Foam::constant::universal::c.
|
static |
Read particle fields as objects from the obr registry.
Definition at line 324 of file ReactingMultiphaseParcelIO.C.
References Foam::constant::universal::c, forAll, Foam::max(), p0, and solidNames().
|
static |
Write particle fields as objects into the obr registry.
Definition at line 312 of file ReactingMultiphaseParcelIO.C.
References Foam::constant::universal::c.
|
static |
Write particle fields as objects into the obr registry.
Definition at line 391 of file ReactingMultiphaseParcelIO.C.
References Foam::constant::universal::c, forAll, Foam::max(), p0, and solidNames().
Foam::scalar CpEff | ( | TrackCloudType & | cloud, |
trackingData & | td, | ||
const scalar | p, | ||
const scalar | T, | ||
const label | idG, | ||
const label | idL, | ||
const label | idS | ||
) | const |
Foam::scalar HsEff | ( | TrackCloudType & | cloud, |
trackingData & | td, | ||
const scalar | p, | ||
const scalar | T, | ||
const label | idG, | ||
const label | idL, | ||
const label | idS | ||
) | const |
Foam::scalar LEff | ( | TrackCloudType & | cloud, |
trackingData & | td, | ||
const scalar | p, | ||
const scalar | T, | ||
const label | idG, | ||
const label | idL, | ||
const label | idS | ||
) | const |
Foam::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 | ||
) |
Definition at line 138 of file ReactingMultiphaseParcel.C.
References forAll, p, UList< T >::size(), Foam::sum(), Foam::T(), and Foam::Zero.
|
friend |
|
static |
Size in bytes of the fields.
Definition at line 70 of file ReactingMultiphaseParcel.H.
|
static |
Definition at line 75 of file ReactingMultiphaseParcel.H.
|
static |
Definition at line 76 of file ReactingMultiphaseParcel.H.
|
static |
Definition at line 77 of file ReactingMultiphaseParcel.H.
|
protected |
Mass fractions of gases [].
Definition at line 224 of file ReactingMultiphaseParcel.H.
Referenced by ReactingMultiphaseParcel< ParcelType >::YGas().
|
protected |
Mass fractions of liquids [].
Definition at line 229 of file ReactingMultiphaseParcel.H.
Referenced by ReactingMultiphaseParcel< ParcelType >::YLiquid().
|
protected |
Mass fractions of solids [].
Definition at line 234 of file ReactingMultiphaseParcel.H.
Referenced by ReactingMultiphaseParcel< ParcelType >::YSolid().
|
protected |
Flag to identify if the particle can devolatilise and combust.
Combustion possible only after volatile content falls below threshold value. States include: 0 = can devolatilise, cannot combust but can change 1 = can devolatilise, can combust -1 = cannot devolatilise or combust, and cannot change
Definition at line 245 of file ReactingMultiphaseParcel.H.
Referenced by ReactingMultiphaseParcel< ParcelType >::canCombust().