Loading...
Searching...
No Matches
ReactingHeterogeneousParcel< ParcelType > Class Template Reference

Reacting heterogeneous Parcel. More...

#include <ReactingHeterogeneousParcel.H>

Inheritance diagram for ReactingHeterogeneousParcel< ParcelType >:
Collaboration diagram for ReactingHeterogeneousParcel< ParcelType >:

Classes

class  constantProperties
 Class to hold reacting 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.

Public Member Functions

 TypeName ("ReactingHeterogeneousParcel")
 Runtime type information.
 AddToPropertyList (ParcelType,+" nReactions(F1..FN)")
 String representation of properties.
 ReactingHeterogeneousParcel (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
 Construct from mesh, position and topology.
 ReactingHeterogeneousParcel (const polyMesh &mesh, const vector &position, const label celli)
 Construct from a position and a cell, searching for the rest of the.
 ReactingHeterogeneousParcel (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 &Y, const scalarField &F, const constantProperties &constProps)
 Construct from components.
 ReactingHeterogeneousParcel (const polyMesh &mesh, Istream &is, bool readFields=true, bool newFormat=true)
 Construct from Istream.
 ReactingHeterogeneousParcel (const ReactingHeterogeneousParcel &p)
 Construct as a copy.
 ReactingHeterogeneousParcel (const ReactingHeterogeneousParcel &p, const polyMesh &mesh)
 Construct as a copy.
virtual autoPtr< particleclone () const
 Return a (basic particle) clone.
virtual autoPtr< particleclone (const polyMesh &mesh) const
 Return a (basic particle) clone.
const scalarFieldF () const
 Return const access to F.
label canCombust () const
 Return const access to the canCombust flag.
scalarFieldF ()
 Return access to F.
label & canCombust ()
 Return access to the canCombust flag.
template<class TrackCloudType>
void calc (TrackCloudType &cloud, trackingData &td, const scalar dt)
 Update parcel properties over the time interval.
void writeProperties (Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const
 Write individual parcel properties to stream.
template<class TrackCloudType>
Foam::scalar CpEff (TrackCloudType &cloud, trackingData &td, const scalar p, const scalar T, const label idS) const
template<class TrackCloudType>
Foam::scalar HsEff (TrackCloudType &cloud, trackingData &td, const scalar p, const scalar T, const label idS) const
template<class TrackCloudType>
Foam::scalar LEff (TrackCloudType &cloud, trackingData &td, const scalar p, const scalar T, const label idS) const
template<class TrackCloudType>
Foam::scalar updatedDeltaVolume (TrackCloudType &cloud, const scalarField &dMass, 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.
template<class CloudType>
static void readFields (CloudType &c)
 Read - no composition.
template<class CloudType, class CompositionType>
static void writeFields (const CloudType &c, const CompositionType &compModel)
 Write - composition supplied.
template<class CloudType>
static void writeFields (const CloudType &c)
 Read - no composition.
template<class CloudType>
static void readObjects (CloudType &c, const objectRegistry &obr)
 Read particle fields as objects from the obr registry.
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.
template<class CloudType>
static void writeObjects (const CloudType &c, objectRegistry &obr)
 Write particle fields as objects into the obr registry.
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.

Static Public Attributes

static const std::size_t sizeofFields
 Size in bytes of the fields.

Protected Member Functions

template<class TrackCloudType>
scalar updatedDeltaVolume (TrackCloudType &cloud, const scalarField &dMass, const scalar p, const scalar T)
 Return change of volume due to mass exchange.
template<class TrackCloudType>
void calcHeterogeneousReactions (TrackCloudType &cloud, trackingData &td, const scalar dt, const scalar Res, const scalar nu, const scalar d, const scalar T, const scalar mass, const label canCombust, const scalar N, scalar &NCpW, const scalarField &YSolid, scalarField &F, scalarField &dMassSRSolid, scalarField &dMassSRCarrier, scalar &Sh, scalar &dhsTrans) const
 Calculate surface reactions.

Protected Attributes

scalarField F_
 Progress variables for reactions.
label canCombust_
 Flag to identify if the particle can devolatilise and combust.

Friends

Ostreamoperator<< (Ostream &, const ReactingHeterogeneousParcel< ParcelType > &)

Detailed Description

template<class ParcelType>
class Foam::ReactingHeterogeneousParcel< ParcelType >

Reacting heterogeneous Parcel.

Source files

Definition at line 62 of file ReactingHeterogeneousParcel.H.

Member Typedef Documentation

◆ trackingData

template<class ParcelType>
typedef ParcelType::trackingData trackingData

Use base tracking data.

Definition at line 123 of file ReactingHeterogeneousParcel.H.

Constructor & Destructor Documentation

◆ ReactingHeterogeneousParcel() [1/6]

template<class ParcelType>
ReactingHeterogeneousParcel ( const polyMesh & mesh,
const barycentric & coordinates,
const label celli,
const label tetFacei,
const label tetPti )
inline

Construct from mesh, position and topology.

Other properties initialised as null

Definition at line 57 of file ReactingHeterogeneousParcelI.H.

References canCombust_, coordinates(), F_, and mesh.

Referenced by ReactingHeterogeneousParcel< ParcelType >::iNew::operator()(), readFields(), writeFields(), and writeObjects().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReactingHeterogeneousParcel() [2/6]

template<class ParcelType>
ReactingHeterogeneousParcel ( const polyMesh & mesh,
const vector & position,
const label celli )
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 73 of file ReactingHeterogeneousParcelI.H.

References canCombust_, F_, and mesh.

◆ ReactingHeterogeneousParcel() [3/6]

template<class ParcelType>
ReactingHeterogeneousParcel ( 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 & Y,
const scalarField & F,
const constantProperties & constProps )
inline

Construct from components.

Definition at line 87 of file ReactingHeterogeneousParcelI.H.

References coordinates(), and mesh.

Here is the call graph for this function:

◆ ReactingHeterogeneousParcel() [4/6]

template<class ParcelType>
ReactingHeterogeneousParcel ( const polyMesh & mesh,
Istream & is,
bool readFields = true,
bool newFormat = true )

Construct from Istream.

Definition at line 42 of file ReactingHeterogeneousParcelIO.C.

References canCombust_, IOstream::check(), F(), F_, FUNCTION_NAME, mesh, and readFields().

Here is the call graph for this function:

◆ ReactingHeterogeneousParcel() [5/6]

template<class ParcelType>
ReactingHeterogeneousParcel ( const ReactingHeterogeneousParcel< ParcelType > & p)

Construct as a copy.

◆ ReactingHeterogeneousParcel() [6/6]

template<class ParcelType>
ReactingHeterogeneousParcel ( const ReactingHeterogeneousParcel< ParcelType > & p,
const polyMesh & mesh )

Construct as a copy.

Member Function Documentation

◆ updatedDeltaVolume() [1/2]

template<class ParcelType>
template<class TrackCloudType>
scalar updatedDeltaVolume ( TrackCloudType & cloud,
const scalarField & dMass,
const scalar p,
const scalar T )
protected

Return change of volume due to mass exchange.

Referenced by calc().

Here is the caller graph for this function:

◆ calcHeterogeneousReactions()

template<class ParcelType>
template<class TrackCloudType>
void calcHeterogeneousReactions ( TrackCloudType & cloud,
trackingData & td,
const scalar dt,
const scalar Res,
const scalar nu,
const scalar d,
const scalar T,
const scalar mass,
const label canCombust,
const scalar N,
scalar & NCpW,
const scalarField & YSolid,
scalarField & F,
scalarField & dMassSRSolid,
scalarField & dMassSRCarrier,
scalar & Sh,
scalar & dhsTrans ) const
protected

Calculate surface reactions.

Definition at line 348 of file ReactingHeterogeneousParcel.C.

References canCombust(), F(), Foam::min(), nu, Foam::Re(), Foam::sum(), Foam::T(), and td().

Referenced by calc().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TypeName()

template<class ParcelType>
TypeName ( "ReactingHeterogeneousParcel< ParcelType >" )

Runtime type information.

◆ AddToPropertyList()

template<class ParcelType>
AddToPropertyList ( ParcelType ,
+" nReactions(F1..FN)"  )

String representation of properties.

◆ clone() [1/2]

template<class ParcelType>
virtual autoPtr< particle > clone ( ) const
inlinevirtual

Return a (basic particle) clone.

Definition at line 332 of file ReactingHeterogeneousParcel.H.

◆ clone() [2/2]

template<class ParcelType>
virtual autoPtr< particle > clone ( const polyMesh & mesh) const
inlinevirtual

Return a (basic particle) clone.

Definition at line 340 of file ReactingHeterogeneousParcel.H.

◆ F() [1/2]

template<class ParcelType>
const Foam::scalarField & F ( ) const
inline

Return const access to F.

Definition at line 154 of file ReactingHeterogeneousParcelI.H.

References F_.

Referenced by calcHeterogeneousReactions(), ReactingHeterogeneousParcel(), readFields(), writeFields(), and writeObjects().

Here is the caller graph for this function:

◆ canCombust() [1/2]

template<class ParcelType>
Foam::label canCombust ( ) const
inline

Return const access to the canCombust flag.

Definition at line 171 of file ReactingHeterogeneousParcelI.H.

References canCombust_.

Referenced by calcHeterogeneousReactions().

Here is the caller graph for this function:

◆ F() [2/2]

template<class ParcelType>
Foam::scalarField & F ( )
inline

Return access to F.

Definition at line 162 of file ReactingHeterogeneousParcelI.H.

References F_.

◆ canCombust() [2/2]

template<class ParcelType>
Foam::label & canCombust ( )
inline

Return access to the canCombust flag.

Definition at line 178 of file ReactingHeterogeneousParcelI.H.

References canCombust_.

◆ calc()

template<class ParcelType>
template<class TrackCloudType>
void calc ( TrackCloudType & cloud,
trackingData & td,
const scalar dt )

Update parcel properties over the time interval.

Definition at line 102 of file ReactingHeterogeneousParcel.C.

References calcHeterogeneousReactions(), canCombust_, Foam::cbrt(), composition, Cs, F_, forAll, Foam::constant::mathematical::pi(), Foam::pow4(), Foam::Re(), Foam::Su(), Foam::sum(), T0, td(), updatedDeltaVolume(), and Foam::Zero.

Here is the call graph for this function:

◆ readFields() [1/2]

template<class ParcelType>
template<class CloudType, class CompositionType>
void readFields ( CloudType & c,
const CompositionType & compModel )
static

Read - composition supplied.

Definition at line 77 of file ReactingHeterogeneousParcelIO.C.

References F(), F(), forAll, IOobjectOption::MUST_READ, Foam::name(), p, ReactingHeterogeneousParcel(), solidNames(), Y, and Foam::Zero.

Referenced by ReactingHeterogeneousParcel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readFields() [2/2]

template<class ParcelType>
template<class CloudType>
void readFields ( CloudType & c)
static

Read - no composition.

Definition at line 69 of file ReactingHeterogeneousParcelIO.C.

◆ writeFields() [1/2]

template<class ParcelType>
template<class CloudType, class CompositionType>
void writeFields ( const CloudType & c,
const CompositionType & compModel )
static

Write - composition supplied.

Definition at line 171 of file ReactingHeterogeneousParcelIO.C.

References F(), F(), forAll, Foam::name(), IOobjectOption::NO_READ, p, p0, ReactingHeterogeneousParcel(), solidNames(), regIOobject::write(), Foam::writeFields(), and Y.

Here is the call graph for this function:

◆ writeFields() [2/2]

template<class ParcelType>
template<class CloudType>
void writeFields ( const CloudType & c)
static

Read - no composition.

Definition at line 160 of file ReactingHeterogeneousParcelIO.C.

◆ writeProperties()

template<class ParcelType>
void writeProperties ( Ostream & os,
const wordRes & filters,
const word & delim,
const bool namesOnly ) const

Write individual parcel properties to stream.

Definition at line 248 of file ReactingHeterogeneousParcelIO.C.

References canCombust_, F_, os(), and writeProp.

Here is the call graph for this function:

◆ readObjects() [1/2]

template<class ParcelType>
template<class CloudType>
void readObjects ( CloudType & c,
const objectRegistry & obr )
static

Read particle fields as objects from the obr registry.

  • no composition

Definition at line 271 of file ReactingHeterogeneousParcelIO.C.

Referenced by readObjects().

Here is the caller graph for this function:

◆ readObjects() [2/2]

template<class ParcelType>
template<class CloudType, class CompositionType>
void readObjects ( CloudType & c,
const CompositionType & compModel,
const objectRegistry & obr )
static

Read particle fields as objects from the obr registry.

Definition at line 295 of file ReactingHeterogeneousParcelIO.C.

References Foam::nl, readObjects(), and WarningInFunction.

Here is the call graph for this function:

◆ writeObjects() [1/2]

template<class ParcelType>
template<class CloudType>
void writeObjects ( const CloudType & c,
objectRegistry & obr )
static

Write particle fields as objects into the obr registry.

  • no composition

Definition at line 283 of file ReactingHeterogeneousParcelIO.C.

Referenced by writeObjects().

Here is the caller graph for this function:

◆ writeObjects() [2/2]

template<class ParcelType>
template<class CloudType, class CompositionType>
void writeObjects ( const CloudType & c,
const CompositionType & compModel,
objectRegistry & obr )
static

Write particle fields as objects into the obr registry.

Definition at line 316 of file ReactingHeterogeneousParcelIO.C.

References cloud::createIOField(), F(), forAll, name, p0, ReactingHeterogeneousParcel(), solidNames(), writeObjects(), and Y.

Here is the call graph for this function:

◆ CpEff()

template<class ParcelType>
template<class TrackCloudType>
Foam::scalar CpEff ( TrackCloudType & cloud,
trackingData & td,
const scalar p,
const scalar T,
const label idS ) const

Definition at line 31 of file ReactingHeterogeneousParcel.C.

◆ HsEff()

template<class ParcelType>
template<class TrackCloudType>
Foam::scalar HsEff ( TrackCloudType & cloud,
trackingData & td,
const scalar p,
const scalar T,
const label idS ) const

Definition at line 46 of file ReactingHeterogeneousParcel.C.

◆ LEff()

template<class ParcelType>
template<class TrackCloudType>
Foam::scalar LEff ( TrackCloudType & cloud,
trackingData & td,
const scalar p,
const scalar T,
const label idS ) const

Definition at line 61 of file ReactingHeterogeneousParcel.C.

◆ updatedDeltaVolume() [2/2]

template<class ParcelType>
template<class TrackCloudType>
Foam::scalar updatedDeltaVolume ( TrackCloudType & cloud,
const scalarField & dMass,
const scalar p,
const scalar T )

Definition at line 79 of file ReactingHeterogeneousParcel.C.

◆ operator<<

template<class ParcelType>
Ostream & operator<< ( Ostream & ,
const ReactingHeterogeneousParcel< ParcelType > &  )
friend

Member Data Documentation

◆ sizeofFields

template<class ParcelType>
const std::size_t sizeofFields
static

Size in bytes of the fields.

Definition at line 71 of file ReactingHeterogeneousParcel.H.

◆ F_

template<class ParcelType>
scalarField F_
protected

◆ canCombust_

template<class ParcelType>
label canCombust_
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 combust but can change 1 = can devolatilise, can combust -1 = cannot devolatilise or combust, and cannot change

Definition at line 190 of file ReactingHeterogeneousParcel.H.

Referenced by calc(), canCombust(), canCombust(), ReactingHeterogeneousParcel(), ReactingHeterogeneousParcel(), ReactingHeterogeneousParcel(), and writeProperties().


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