FreeFOAM The Cross-Platform CFD Toolkit
ReactingMultiphaseParcel< ParcelType > Class Template Reference

Multiphase variant of the reacting parcel class with one/two-way coupling with the continuous phase. More...

#include <lagrangianIntermediate/ReactingMultiphaseParcel.H>


Detailed Description

+ Inheritance diagram for ReactingMultiphaseParcel< ParcelType >:
+ Collaboration diagram for ReactingMultiphaseParcel< ParcelType >:

List of all members.

Classes

class  constantProperties
 Class to hold reacting multiphase particle constant properties. More...
class  trackData
 Class used to pass reacting tracking data to the trackToFace function. More...

Public Member Functions

 TypeName ("ReactingMultiphaseParcel")
 Runtime type information.
 ReactingMultiphaseParcel (ReactingMultiphaseCloud< ParcelType > &owner, const vector &position, const label cellI)
 Construct from owner, position, and cloud owner.
 ReactingMultiphaseParcel (ReactingMultiphaseCloud< ParcelType > &owner, const vector &position, const label cellI, const label typeId, const scalar nParticle0, const scalar d0, const vector &U0, const scalarField &Y0, const scalarField &YGas0, const scalarField &YLiquid0, const scalarField &YSolid0, const constantProperties &constProps)
 Construct from components.
 ReactingMultiphaseParcel (const Cloud< ParcelType > &c, Istream &is, bool readFields=true)
 Construct from Istream.
 ReactingMultiphaseParcel (const ReactingMultiphaseParcel &p)
 Construct as a copy.
autoPtr< ReactingMultiphaseParcelclone () const
 Construct and return a clone.
const scalarFieldYGas () const
 Return const access to mass fractions of gases.
const scalarFieldYLiquid () const
 Return const access to mass fractions of liquids.
const scalarFieldYSolid () const
 Return const access to mass fractions of solids.
bool canCombust () const
 Return const access to the canCombust flag.
scalarFieldYGas ()
 Return access to mass fractions of gases.
scalarFieldYLiquid ()
 Return access to mass fractions of liquids.
scalarFieldYSolid ()
 Return access to mass fractions of solids.
bool & canCombust ()
 Return access to the canCombust flag.
template<class TrackData >
void setCellValues (TrackData &td, const scalar dt, const label cellI)
 Set cell values.
template<class TrackData >
void cellValueSourceCorrection (TrackData &td, const scalar dt, const label cellI)
 Correct cell values using latest transfer information.
template<class TrackData >
void calc (TrackData &td, const scalar dt, const label cellI)
 Update parcel properties over the time interval.
- Public Member Functions inherited from ReactingParcel< ParcelType >
 TypeName ("ReactingParcel")
 Runtime type information.
 ReactingParcel (ReactingCloud< ParcelType > &owner, const vector &position, const label cellI)
 Construct from owner, position, and cloud owner.
 ReactingParcel (ReactingCloud< ParcelType > &owner, const vector &position, const label cellI, const label typeId, const scalar nParticle0, const scalar d0, const vector &U0, const scalarField &Y0, const constantProperties &constProps)
 Construct from components.
 ReactingParcel (const Cloud< ParcelType > &c, Istream &is, bool readFields=true)
 Construct from Istream.
 ReactingParcel (const ReactingParcel &p)
 Construct as a copy.
scalar mass0 () const
 Return const access to initial mass.
const scalarFieldY () const
 Return const access to mass fractions of mixture.
scalar pc () const
 Return the owner cell pressure.
scalar & mass0 ()
 Return access to initial mass.
scalarFieldY ()
 Return access to mass fractions of mixture.
template<class TrackData >
void correctSurfaceValues (TrackData &td, const label cellI, const scalar T, const scalarField &Cs, scalar &rhos, scalar &mus, scalar &Pr, scalar &kappa)
 Correct surface values due to emitted species.
- Public Member Functions inherited from reactingParcel
 TypeName ("reactingParcel")
 Run-time type information.
 reactingParcel ()
 Construct null.
virtual ~reactingParcel ()
 Destructor.
- Public Member Functions inherited from ThermoParcel< ParcelType >
 TypeName ("ThermoParcel")
 Runtime type information.
 ThermoParcel (ThermoCloud< ParcelType > &owner, const vector &position, const label cellI)
 Construct from owner, position, and cloud owner.
 ThermoParcel (ThermoCloud< ParcelType > &owner, const vector &position, const label cellI, const label typeId, const scalar nParticle0, const scalar d0, const vector &U0, const constantProperties &constProps)
 Construct from components.
 ThermoParcel (const Cloud< ParcelType > &c, Istream &is, bool readFields=true)
 Construct from Istream.
 ThermoParcel (const ThermoParcel &p)
 Construct as a copy.
scalar T () const
 Return const access to temperature.
scalar cp () const
 Return const access to specific heat capacity.
scalar & T ()
 Return access to temperature.
scalar & cp ()
 Return access to specific heat capacity.
template<class TrackData >
void calcSurfaceValues (TrackData &td, const label cellI, const scalar T, scalar &Ts, scalar &rhos, scalar &mus, scalar &Pr, scalar &kappa) const
 Calculate surface thermo properties.
- Public Member Functions inherited from KinematicParcel< ParcelType >
 TypeName ("KinematicParcel")
 Runtime type information.
 KinematicParcel (KinematicCloud< ParcelType > &owner, const vector &position, const label cellI)
 Construct from owner, position, and cloud owner.
 KinematicParcel (KinematicCloud< ParcelType > &owner, const vector &position, const label cellI, const label typeId, const scalar nParticle0, const scalar d0, const vector &U0, const constantProperties &constProps)
 Construct from components.
 KinematicParcel (const Cloud< ParcelType > &c, Istream &is, bool readFields=true)
 Construct from Istream.
 KinematicParcel (const KinematicParcel &p)
 Construct as a copy.
bool active () const
 Return const access to active flag.
label typeId () const
 Return const access to type id.
scalar nParticle () const
 Return const access to number of particles.
scalar d () const
 Return const access to diameter.
const vectorU () const
 Return const access to velocity.
scalar rho () const
 Return const access to density.
scalar tTurb () const
 Return const access to time spent in turbulent eddy.
const vectorUTurb () const
 Return const access to turbulent velocity fluctuation.
bool & active ()
 Return const access to active flag.
label typeId ()
 Return access to type id.
scalar & nParticle ()
 Return access to number of particles.
scalar & d ()
 Return access to diameter.
vectorU ()
 Return access to velocity.
scalar & rho ()
 Return access to density.
scalar & tTurb ()
 Return access to time spent in turbulent eddy.
vectorUTurb ()
 Return access to turbulent velocity fluctuation.
scalar wallImpactDistance (const vector &n) const
 The nearest distance to a wall that.
label faceInterpolation () const
 Return the index of the face to be used in the interpolation.
scalar massCell (const label cellI) const
 Cell owner mass.
scalar mass () const
 Particle mass.
scalar volume () const
 Particle volume.
scalar volume (const scalar d) const
 Particle volume for a given diameter.
scalar areaP () const
 Particle projected area.
scalar areaP (const scalar d) const
 Projected area for given diameter.
scalar areaS () const
 Particle surface area.
scalar areaS (const scalar d) const
 Surface area for given diameter.
scalar Re (const vector &U, const scalar d, const scalar rhoc, const scalar muc) const
 Reynolds number.
template<class TrackData >
bool move (TrackData &td)
 Move the parcel.
template<class TrackData >
bool hitPatch (const polyPatch &p, TrackData &td, const label patchI)
 Overridable function to handle the particle hitting a patch.
bool hitPatch (const polyPatch &p, int &td, const label patchI)
 Overridable function to handle the particle hitting a patch.
template<class TrackData >
void hitProcessorPatch (const processorPolyPatch &, TrackData &td)
 Overridable function to handle the particle hitting a.
void hitProcessorPatch (const processorPolyPatch &, int &)
 Overridable function to handle the particle hitting a.
template<class TrackData >
void hitWallPatch (const wallPolyPatch &, TrackData &td)
 Overridable function to handle the particle hitting a wallPatch.
void hitWallPatch (const wallPolyPatch &, int &)
 Overridable function to handle the particle hitting a wallPatch.
template<class TrackData >
void hitPatch (const polyPatch &, TrackData &td)
 Overridable function to handle the particle hitting a polyPatch.
void hitPatch (const polyPatch &, int &)
void transformProperties (const tensor &T)
 Transform the physical properties of the particle.
void transformProperties (const vector &separation)
 Transform the physical properties of the particle.
- Public Member Functions inherited from Particle< ParcelType >
 TypeName ("Particle")
 Runtime type information.
 Particle (const Cloud< ParcelType > &, const vector &position, const label celli)
 Construct from components.
 Particle (const Cloud< ParcelType > &, Istream &, bool readFields=true)
 Construct from Istream.
 Particle (const Particle &p)
 Construct as a copy.
virtual ~Particle ()
 Destructor.
bool inCell () const
 Return true if particle is in cell.
bool inCell (const vector &position, const label celli, const scalar stepFraction) const
 Return true if position is in cell i.
const vectorposition () const
 Return current particle position.
vectorposition ()
 Return current particle position.
label & cell ()
 Return current cell particle is in.
label cell () const
 Return current cell particle is in.
label face () const
 Return current face particle is on otherwise -1.
const Cloud< ParcelType > & cloud () const
 Return reference to the particle cloud.
bool softImpact () const
 Return the impact model to be used, soft or hard (default).
scalar currentTime () const
 Return the particle current time.
bool onBoundary () const
 Is the particle on the boundary/(or outside the domain)?
label patch (const label facei) const
 Which patch is particle on.
label patchFace (const label patchi, const label facei) const
 Which face of this patch is this particle on.
scalar & stepFraction ()
 Return the fraction of time-step completed.
scalar stepFraction () const
 Return the fraction of time-step completed.
label origProc () const
 Return the originating processor id.
label origId () const
 Return the particle id on originating processor.
label track (const vector &endPosition, TrackData &td)
 Track particle to end of trajectory.
label track (const vector &endPosition)
 Calls the templated track with dummy TrackData.
scalar trackToFace (const vector &endPosition, TrackData &td)
 Track particle to a given position and returns 1.0 if the.
scalar trackToFace (const vector &endPosition)
 Calls the templated trackToFace with dummy TrackData.
void write (Ostream &os, bool writeFields) const
 Write the particle data.

Static Public Member Functions

static void readFields (Cloud< ParcelType > &c)
 Read.
static void writeFields (const Cloud< ParcelType > &c)
 Write.

Static Public Attributes

static const label GAS
static const label LIQ
static const label SLD
static string propHeader = " nSolid(Y1..YN)"
 String representation of properties.
- Static Public Attributes inherited from ReactingParcel< ParcelType >
- Static Public Attributes inherited from ThermoParcel< ParcelType >
- Static Public Attributes inherited from KinematicParcel< ParcelType >
- Static Public Attributes inherited from Particle< ParcelType >

Protected Member Functions

template<class TrackData >
void calcDevolatilisation (TrackData &td, const scalar dt, const scalar Ts, const scalar d, const scalar T, const scalar mass, const scalar mass0, const label idVolatile, const scalar YVolatileTot, const scalarField &YVolatile, bool &canCombust, scalarField &dMassDV, scalar &Sh, scalar &N, scalar &NCpW, scalarField &Cs) const
 Calculate Devolatilisation.
template<class TrackData >
void calcSurfaceReactions (TrackData &td, const scalar dt, const label cellI, const scalar d, const scalar T, const scalar mass, const bool 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.
- Protected Member Functions inherited from ReactingParcel< ParcelType >
template<class TrackData >
void calcPhaseChange (TrackData &td, const scalar dt, const label cellI, const scalar Re, const scalar Ts, const scalar nus, const scalar d, const scalar T, const scalar mass, const label idPhase, const scalar YPhase, const scalarField &YComponents, scalarField &dMassPC, scalar &Sh, scalar &N, scalar &NCpW, scalarField &Cs)
 Calculate Phase change.
scalar updateMassFraction (const scalar mass0, const scalarField &dMass, scalarField &Y) const
 Update mass fraction.
- Protected Member Functions inherited from ThermoParcel< ParcelType >
template<class TrackData >
scalar calcHeatTransfer (TrackData &td, const scalar dt, const label cellI, const scalar Re, const scalar Pr, const scalar kappa, const scalar d, const scalar rho, const scalar T, const scalar cp, const scalar NCpW, const scalar Sh, scalar &dhsTrans)
 Calculate new particle temperature.
- Protected Member Functions inherited from KinematicParcel< ParcelType >
template<class TrackData >
const vector calcVelocity (TrackData &td, const scalar dt, const label cellI, const scalar Re, const scalar mu, const scalar d, const vector &U, const scalar rho, const scalar mass, const vector &Su, vector &dUTrans) const
 Calculate new particle velocity.
- Protected Member Functions inherited from Particle< ParcelType >
scalar lambda (const vector &from, const vector &to, const label facei, const scalar stepFraction) const
 Return the 'lambda' value for the position, p, on the face,.
scalar lambda (const vector &from, const vector &to, const label facei) const
 Return the 'lambda' value for the position, p, on the face,.
void findFaces (const vector &position, DynamicList< label > &faceList) const
 Find the faces between position and cell centre.
void findFaces (const vector &position, const label celli, const scalar stepFraction, DynamicList< label > &faceList) const
 Find the faces between position and cell centre.
void hitWedgePatch (const wedgePolyPatch &, TrackData &td)
 Overridable function to handle the particle hitting a wedgePatch.
void hitSymmetryPatch (const symmetryPolyPatch &, TrackData &td)
 Overridable function to handle the particle hitting a.
void hitCyclicPatch (const cyclicPolyPatch &, TrackData &td)
 Overridable function to handle the particle hitting a cyclicPatch.
virtual void transformPosition (const tensor &T)
 Transform the position the particle.
void prepareForParallelTransfer (const label patchi, TrackData &td)
 Convert global addressing to the processor patch.
void correctAfterParallelTransfer (const label patchi, TrackData &td)
 Convert processor patch addressing to the global equivalents.

Protected Attributes

scalarField YGas_
 Mass fractions of gases [].
scalarField YLiquid_
 Mass fractions of liquids [].
scalarField YSolid_
 Mass fractions of solids [].
bool canCombust_
 Flag to say that the particle is allowed to combust.
- Protected Attributes inherited from ReactingParcel< ParcelType >
scalar mass0_
 Initial particle mass [kg].
scalarField Y_
 Mass fractions of mixture [].
scalar pc_
 Pressure [Pa].
- Protected Attributes inherited from ThermoParcel< ParcelType >
scalar T_
 Temperature [K].
scalar cp_
 Specific heat capacity [J/(kg.K)].
scalar Tc_
 Temperature [K].
scalar cpc_
 Specific heat capacity [J/(kg.K)].
- Protected Attributes inherited from KinematicParcel< ParcelType >
bool active_
 Active flag - tracking inactive when active = false.
label typeId_
 Parcel type id.
scalar nParticle_
 Number of particles in Parcel.
scalar d_
 Diameter [m].
vector U_
 Velocity of Parcel [m/s].
scalar rho_
 Density [kg/m3].
scalar tTurb_
 Time spent in turbulent eddy [s].
vector UTurb_
 Turbulent velocity fluctuation [m/s].
scalar rhoc_
 Density [kg/m3].
vector Uc_
 Velocity [m/s].
scalar muc_
 Viscosity [Pa.s].
- Protected Attributes inherited from Particle< ParcelType >
const Cloud< ParcelType > & cloud_
 Reference to the particle cloud.
vector position_
 Position of particle.
label celli_
 Index of the cell it is in.
label facei_
 Face index if the particle is on a face otherwise -1.
scalar stepFraction_
 Fraction of time-step completed.
label origProc_
 Originating processor id.
label origId_
 Local particle id on originating processor.

Friends

class Cloud< ParcelType >
Ostreamoperator (Ostream &, const ReactingMultiphaseParcel< ParcelType > &)

Constructor & Destructor Documentation

ReactingMultiphaseParcel ( ReactingMultiphaseCloud< ParcelType > &  owner,
const vector position,
const label  cellI 
)
inline

Construct from owner, position, and cloud owner.

Other properties initialised as null

Definition at line 89 of file ReactingMultiphaseParcelI.H.

Referenced by ReactingMultiphaseParcel< CoalParcel< ThermoType > >::clone().

ReactingMultiphaseParcel ( ReactingMultiphaseCloud< ParcelType > &  owner,
const vector position,
const label  cellI,
const label  typeId,
const scalar  nParticle0,
const scalar  d0,
const vector U0,
const scalarField Y0,
const scalarField YGas0,
const scalarField YLiquid0,
const scalarField YSolid0,
const constantProperties constProps 
)
inline

Construct from components.

Definition at line 105 of file ReactingMultiphaseParcelI.H.

ReactingMultiphaseParcel ( const Cloud< ParcelType > &  c,
Istream is,
bool  readFields = true 
)

Construct from Istream.

Definition at line 43 of file ReactingMultiphaseParcelIO.C.

References ReactingCloud< ParcelType >::composition().

ReactingMultiphaseParcel ( const ReactingMultiphaseParcel< ParcelType > &  p)

Construct as a copy.


Member Function Documentation

void calcDevolatilisation ( TrackData &  td,
const scalar  dt,
const scalar  Ts,
const scalar  d,
const scalar  T,
const scalar  mass,
const scalar  mass0,
const label  idVolatile,
const scalar  YVolatileTot,
const scalarField YVolatile,
bool &  canCombust,
scalarField dMassDV,
scalar &  Sh,
scalar &  N,
scalar &  NCpW,
scalarField Cs 
) const
protected

Calculate Devolatilisation.

Definition at line 488 of file ReactingMultiphaseParcel.C.

References beta(), Foam::cbrt(), forAll, Foam::pow(), sqr(), and Foam::sqrt().

void calcSurfaceReactions ( TrackData &  td,
const scalar  dt,
const label  cellI,
const scalar  d,
const scalar  T,
const scalar  mass,
const bool  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
protected

Calculate surface reactions.

Definition at line 566 of file ReactingMultiphaseParcel.C.

References Foam::min(), and Foam::sum().

TypeName ( "ReactingMultiphaseParcel< ParcelType >"  )

Runtime type information.

autoPtr<ReactingMultiphaseParcel> clone ( ) const
inline

Construct and return a clone.

Reimplemented from ReactingParcel< ParcelType >.

Reimplemented in BasicReactingMultiphaseParcel< ThermoType >, and CoalParcel< ThermoType >.

Definition at line 325 of file ReactingMultiphaseParcel.H.

const Foam::scalarField & YGas ( ) const
inline

Return const access to mass fractions of gases.

Definition at line 181 of file ReactingMultiphaseParcelI.H.

References ReactingMultiphaseParcel< ParcelType >::YGas_.

Referenced by ReactingMultiphaseParcel< ParcelType >::writeFields().

const Foam::scalarField & YLiquid ( ) const
inline

Return const access to mass fractions of liquids.

Definition at line 189 of file ReactingMultiphaseParcelI.H.

References ReactingMultiphaseParcel< ParcelType >::YLiquid_.

Referenced by ReactingMultiphaseParcel< ParcelType >::writeFields().

const Foam::scalarField & YSolid ( ) const
inline

Return const access to mass fractions of solids.

Definition at line 197 of file ReactingMultiphaseParcelI.H.

References ReactingMultiphaseParcel< ParcelType >::YSolid_.

Referenced by ReactingMultiphaseParcel< ParcelType >::writeFields().

bool canCombust ( ) const
inline

Return const access to the canCombust flag.

Definition at line 204 of file ReactingMultiphaseParcelI.H.

References ReactingMultiphaseParcel< ParcelType >::canCombust_.

Foam::scalarField & YGas ( )
inline

Return access to mass fractions of gases.

Definition at line 211 of file ReactingMultiphaseParcelI.H.

References ReactingMultiphaseParcel< ParcelType >::YGas_.

Foam::scalarField & YLiquid ( )
inline

Return access to mass fractions of liquids.

Definition at line 218 of file ReactingMultiphaseParcelI.H.

References ReactingMultiphaseParcel< ParcelType >::YLiquid_.

Foam::scalarField & YSolid ( )
inline

Return access to mass fractions of solids.

Definition at line 225 of file ReactingMultiphaseParcelI.H.

References ReactingMultiphaseParcel< ParcelType >::YSolid_.

bool & canCombust ( )
inline

Return access to the canCombust flag.

Definition at line 232 of file ReactingMultiphaseParcelI.H.

References ReactingMultiphaseParcel< ParcelType >::canCombust_.

void setCellValues ( TrackData &  td,
const scalar  dt,
const label  cellI 
)

Set cell values.

Reimplemented from ReactingParcel< ParcelType >.

Definition at line 133 of file ReactingMultiphaseParcel.C.

void cellValueSourceCorrection ( TrackData &  td,
const scalar  dt,
const label  cellI 
)

Correct cell values using latest transfer information.

Reimplemented from ReactingParcel< ParcelType >.

Definition at line 146 of file ReactingMultiphaseParcel.C.

References forAll, and Y.

void calc ( TrackData &  td,
const scalar  dt,
const label  cellI 
)

Update parcel properties over the time interval.

Reimplemented from ReactingParcel< ParcelType >.

Definition at line 185 of file ReactingMultiphaseParcel.C.

References Foam::cbrt(), forAll, kappa(), pc, Foam::mathematicalConstant::pi(), Pr(), Foam::Re(), rhos(), Foam::fvc::Su(), and Ts().


Friends And Related Function Documentation

friend class Cloud< ParcelType >
friend

Reimplemented from ReactingParcel< ParcelType >.

Definition at line 281 of file ReactingMultiphaseParcel.H.

Ostream& operator ( Ostream ,
const ReactingMultiphaseParcel< ParcelType > &   
)
friend

Member Data Documentation

const Foam::label GAS
static

Definition at line 72 of file ReactingMultiphaseParcel.H.

const Foam::label LIQ
static

Definition at line 73 of file ReactingMultiphaseParcel.H.

const Foam::label SLD
static

Definition at line 74 of file ReactingMultiphaseParcel.H.

scalarField YGas_
protected
scalarField YLiquid_
protected
scalarField YSolid_
protected
bool canCombust_
protected

Flag to say that the particle is allowed to combust.

Only true after volatile content falls below threshold value

Definition at line 218 of file ReactingMultiphaseParcel.H.

Referenced by ReactingMultiphaseParcel< ParcelType >::canCombust().

Foam::string propHeader = " nSolid(Y1..YN)"
static

String representation of properties.

Reimplemented from ReactingParcel< ParcelType >.

Definition at line 275 of file ReactingMultiphaseParcel.H.


The documentation for this class was generated from the following files: