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

Thermodynamic parcel class with one/two-way coupling with the continuous phase. Includes Kinematic parcel sub-models, plus: More...

#include <lagrangianIntermediate/ThermoParcel.H>


Detailed Description

template<class ParcelType>
class Foam::ThermoParcel< ParcelType >

Thermodynamic parcel class with one/two-way coupling with the continuous phase. Includes Kinematic parcel sub-models, plus:

- heat transfer

Source files

Definition at line 70 of file ThermoParcel.H.

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

List of all members.

Classes

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

Public Member Functions

 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.
autoPtr< ThermoParcelclone () const
 Construct and return a clone.
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 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 calcSurfaceValues (TrackData &td, const label cellI, const scalar T, scalar &Ts, scalar &rhos, scalar &mus, scalar &Pr, scalar &kappa) const
 Calculate surface thermo properties.
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 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 = " cp"
 String representation of properties.
- Static Public Attributes inherited from KinematicParcel< ParcelType >
- Static Public Attributes inherited from Particle< ParcelType >

Protected Member Functions

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

Constructor & Destructor Documentation

ThermoParcel ( ThermoCloud< 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 ThermoParcelI.H.

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

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

Construct from components.

Definition at line 91 of file ThermoParcelI.H.

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

Construct from Istream.

Definition at line 42 of file ThermoParcelIO.C.

References readScalar.

ThermoParcel ( const ThermoParcel< ParcelType > &  p)

Construct as a copy.


Member Function Documentation

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

Calculate new particle temperature.

Definition at line 207 of file ThermoParcel.C.

References Foam::mag(), Foam::max(), pow3(), pow4(), Foam::radiation::sigmaSB, T, and dimensioned< Type >::value().

TypeName ( "ThermoParcel< ParcelType >"  )

Runtime type information.

Foam::scalar T ( ) const
inline

Return const access to temperature.

Definition at line 207 of file ThermoParcelI.H.

References ThermoParcel< ParcelType >::T_.

Foam::scalar cp ( ) const
inline

Return const access to specific heat capacity.

Definition at line 214 of file ThermoParcelI.H.

References ThermoParcel< ParcelType >::cp_.

Foam::scalar & T ( )
inline

Return access to temperature.

Definition at line 221 of file ThermoParcelI.H.

References ThermoParcel< ParcelType >::T_.

Foam::scalar & cp ( )
inline

Return access to specific heat capacity.

Definition at line 228 of file ThermoParcelI.H.

References ThermoParcel< ParcelType >::cp_.

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.

Definition at line 83 of file ThermoParcel.C.

References Pr(), and Ts().


Friends And Related Function Documentation

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

Member Data Documentation

scalar T_
protected
scalar cp_
protected

Specific heat capacity [J/(kg.K)].

Definition at line 204 of file ThermoParcel.H.

Referenced by ThermoParcel< ParcelType >::cp(), ThermoParcel< ParcelType >::readFields(), and ThermoParcel< ParcelType >::writeFields().

scalar Tc_
protected

Temperature [K].

Definition at line 210 of file ThermoParcel.H.

scalar cpc_
protected

Specific heat capacity [J/(kg.K)].

Definition at line 213 of file ThermoParcel.H.


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