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

Reacting parcel class with one/two-way coupling with the continuous phase. More...

#include <lagrangianIntermediate/ReactingParcel_.H>


Detailed Description

template<class ParcelType>
class Foam::ReactingParcel< ParcelType >

Reacting parcel class with one/two-way coupling with the continuous phase.

Source files

Definition at line 70 of file ReactingParcel_.H.

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

List of all members.

Classes

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

Public Member Functions

 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.
autoPtr< ReactingParcelclone () const
 Construct and return a clone.
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 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 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.
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
 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 string propHeader = " nPhases(Y1..YN)"
 String representation of properties.
- 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 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

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 ReactingParcel< ParcelType > &)

Constructor & Destructor Documentation

ReactingParcel ( ReactingCloud< ParcelType > &  owner,
const vector position,
const label  cellI 
)
inline

Construct from owner, position, and cloud owner.

Other properties initialised as null

Definition at line 75 of file ReactingParcelI_.H.

Referenced by ReactingParcel< BasicReactingParcel< ThermoType > >::clone().

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 
)
inline

Construct from components.

Definition at line 90 of file ReactingParcelI_.H.

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

Construct from Istream.

Definition at line 42 of file ReactingParcelIO.C.

References ReactingCloud< ParcelType >::composition().

ReactingParcel ( const ReactingParcel< ParcelType > &  p)

Construct as a copy.


Member Function Documentation

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 
)
protected

Calculate Phase change.

Definition at line 397 of file ReactingParcel_.C.

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

Foam::scalar updateMassFraction ( const scalar  mass0,
const scalarField dMass,
scalarField Y 
) const
protected

Update mass fraction.

Definition at line 189 of file ReactingParcel_.C.

References forAll, and Foam::sum().

TypeName ( "ReactingParcel< ParcelType >"  )

Runtime type information.

Foam::scalar mass0 ( ) const
inline

Return const access to initial mass.

Definition at line 185 of file ReactingParcelI_.H.

References ReactingParcel< ParcelType >::mass0_.

const Foam::scalarField & Y ( ) const
inline
Foam::scalar pc ( ) const
inline

Return the owner cell pressure.

Definition at line 199 of file ReactingParcelI_.H.

References ReactingParcel< ParcelType >::pc_.

Foam::scalar & mass0 ( )
inline

Return access to initial mass.

Definition at line 206 of file ReactingParcelI_.H.

References ReactingParcel< ParcelType >::mass0_.

Foam::scalarField & Y ( )
inline

Return access to mass fractions of mixture.

Definition at line 213 of file ReactingParcelI_.H.

References ReactingParcel< ParcelType >::Y_.

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

Correct cell values using latest transfer information.

Reimplemented from ThermoParcel< ParcelType >.

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

Definition at line 65 of file ReactingParcel_.C.

References forAll, and Y.

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.

Definition at line 104 of file ReactingParcel_.C.

References Foam::cbrt(), cps(), forAll, kappa(), Foam::min(), Foam::sqrt(), Foam::sum(), and T.

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

Friends And Related Function Documentation

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

Member Data Documentation

scalar mass0_
protected
scalarField Y_
protected

Mass fractions of mixture [].

Definition at line 182 of file ReactingParcel_.H.

Referenced by ReactingParcel< ParcelType >::readFields(), and ReactingParcel< ParcelType >::Y().

scalar pc_
protected

Pressure [Pa].

Definition at line 188 of file ReactingParcel_.H.

Referenced by ReactingParcel< ParcelType >::pc().

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

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