SprayParcel< ParcelType > Class Template Reference

Reacting spray parcel, with added functionality for atomization and breakup. More...

Inheritance diagram for SprayParcel< ParcelType >:
[legend]
Collaboration diagram for SprayParcel< ParcelType >:
[legend]

Classes

class  constantProperties
 Class to hold reacting particle constant properties. More...
 
class  iNew
 Factory class to read-construct particles used for. More...
 

Public Types

typedef ParcelType::trackingData trackingData
 Use base tracking data. More...
 

Public Member Functions

 TypeName ("SprayParcel")
 Runtime type information. More...
 
 AddToPropertyList (ParcelType, " d0"+" position0"+" sigma"+" mu"+" liquidCore"+" KHindex"+" y"+" yDot"+" tc"+" ms"+" injector"+" tMom"+" user")
 String representation of properties. More...
 
 SprayParcel (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
 Construct from mesh, coordinates and topology. More...
 
 SprayParcel (const polyMesh &mesh, const vector &position, const label celli)
 Construct from a position and a cell, searching for the rest of the. More...
 
 SprayParcel (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 scalar liquidCore, const scalar KHindex, const scalar y, const scalar yDot, const scalar tc, const scalar ms, const scalar injector, const scalar tMom, const scalar user, const typename ParcelType::constantProperties &constProps)
 Construct from components. More...
 
 SprayParcel (const polyMesh &mesh, Istream &is, bool readFields=true, bool newFormat=true)
 Construct from Istream. More...
 
 SprayParcel (const SprayParcel &p, const polyMesh &mesh)
 Construct as a copy. More...
 
 SprayParcel (const SprayParcel &p)
 Construct as a copy. More...
 
virtual autoPtr< particleclone () const
 Construct and return a (basic particle) clone. More...
 
virtual autoPtr< particleclone (const polyMesh &mesh) const
 Construct and return a (basic particle) clone. More...
 
scalar d0 () const
 Return const access to initial droplet diameter. More...
 
const vectorposition0 () const
 Return const access to initial droplet position. More...
 
scalar sigma () const
 Return const access to the liquid surface tension. More...
 
scalar mu () const
 Return const access to the liquid dynamic viscosity. More...
 
scalar liquidCore () const
 Return const access to liquid core. More...
 
scalar KHindex () const
 Return const access to Kelvin-Helmholtz breakup index. More...
 
scalar y () const
 Return const access to spherical deviation. More...
 
scalar yDot () const
 Return const access to rate of change of spherical deviation. More...
 
scalar tc () const
 Return const access to atomization characteristic time. More...
 
scalar ms () const
 Return const access to stripped parcel mass. More...
 
scalar injector () const
 Return const access to injector id. More...
 
scalar tMom () const
 Return const access to momentum relaxation time. More...
 
scalar user () const
 Return const access to passive user scalar. More...
 
scalar & d0 ()
 Return access to initial droplet diameter. More...
 
vectorposition0 ()
 Return access to initial droplet position. More...
 
scalar & sigma ()
 Return access to the liquid surface tension. More...
 
scalar & mu ()
 Return access to the liquid dynamic viscosity. More...
 
scalar & liquidCore ()
 Return access to liquid core. More...
 
scalar & KHindex ()
 Return access to Kelvin-Helmholtz breakup index. More...
 
scalar & y ()
 Return access to spherical deviation. More...
 
scalar & yDot ()
 Return access to rate of change of spherical deviation. More...
 
scalar & tc ()
 Return access to atomization characteristic time. More...
 
scalar & ms ()
 Return access to stripped parcel mass. More...
 
scalar & injector ()
 Return access to injector id. More...
 
scalar & tMom ()
 Return access to momentum relaxation time. More...
 
scalar & user ()
 Return access to passive user scalar. More...
 
template<class TrackCloudType >
void setCellValues (TrackCloudType &cloud, trackingData &td)
 Set cell values. More...
 
template<class TrackCloudType >
void calcAtomization (TrackCloudType &cloud, trackingData &td, const scalar dt)
 Correct parcel properties according to atomization model. More...
 
template<class TrackCloudType >
void calcBreakup (TrackCloudType &cloud, trackingData &td, const scalar dt)
 Correct parcel properties according to breakup model. 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 correctSurfaceValues (TrackCloudType &cloud, trackingData &td, const scalar T, const scalarField &Cs, scalar &rhos, scalar &mus, scalar &Pr, scalar &kappa)
 Correct surface values due to emitted species. More...
 
template<class TrackCloudType >
void calc (TrackCloudType &cloud, trackingData &td, const scalar dt)
 Update parcel properties over the time interval. More...
 
template<class TrackCloudType >
scalar chi (TrackCloudType &cloud, trackingData &td, const scalarField &X) const
 Calculate the chi-factor for flash-boiling for the. More...
 
template<class TrackCloudType >
void solveTABEq (TrackCloudType &cloud, trackingData &td, const scalar dt)
 Solve the TAB equation. More...
 
void writeProperties (Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const
 Write individual parcel properties to stream. More...
 
template<class TrackCloudType >
Foam::scalar chi (TrackCloudType &cloud, trackingData &td, const scalarField &X) const
 

Static Public Member Functions

template<class CloudType , class CompositionType >
static void readFields (CloudType &c, const CompositionType &compModel)
 Read. 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. More...
 
template<class CloudType >
static void writeFields (const CloudType &c)
 Write - composition supplied. 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...
 

Protected Attributes

scalar d0_
 Initial droplet diameter. More...
 
vector position0_
 Injection position. More...
 
scalar sigma_
 Liquid surface tension [N/m]. More...
 
scalar mu_
 Liquid dynamic viscosity [Pa.s]. More...
 
scalar liquidCore_
 Part of liquid core ( >0.5=liquid, <0.5=droplet ) More...
 
scalar KHindex_
 Index for KH Breakup. More...
 
scalar y_
 Spherical deviation. More...
 
scalar yDot_
 Rate of change of spherical deviation. More...
 
scalar tc_
 Characteristic time (used in atomization and/or breakup model) More...
 
scalar ms_
 Stripped parcel mass due to breakup. More...
 
scalar injector_
 Injected from injector (needed e.g. for calculating distance. More...
 
scalar tMom_
 Momentum relaxation time (needed for calculating parcel acc.) More...
 
scalar user_
 Passive scalar (extra variable to be defined by user) More...
 

Friends

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

Detailed Description

template<class ParcelType>
class Foam::SprayParcel< ParcelType >

Reacting spray parcel, with added functionality for atomization and breakup.

Definition at line 60 of file SprayParcel.H.

Member Typedef Documentation

◆ trackingData

Use base tracking data.

Definition at line 127 of file SprayParcel.H.

Constructor & Destructor Documentation

◆ SprayParcel() [1/6]

SprayParcel ( const polyMesh mesh,
const barycentric coordinates,
const label  celli,
const label  tetFacei,
const label  tetPti 
)
inline

Construct from mesh, coordinates and topology.

Other properties initialised as null

Definition at line 110 of file SprayParcelI.H.

◆ SprayParcel() [2/6]

SprayParcel ( 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 137 of file SprayParcelI.H.

◆ SprayParcel() [3/6]

SprayParcel ( 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 scalar  liquidCore,
const scalar  KHindex,
const scalar  y,
const scalar  yDot,
const scalar  tc,
const scalar  ms,
const scalar  injector,
const scalar  tMom,
const scalar  user,
const typename ParcelType::constantProperties &  constProps 
)
inline

Construct from components.

Definition at line 162 of file SprayParcelI.H.

◆ SprayParcel() [4/6]

◆ SprayParcel() [5/6]

SprayParcel ( const SprayParcel< ParcelType > &  p,
const polyMesh mesh 
)

Construct as a copy.

◆ SprayParcel() [6/6]

SprayParcel ( const SprayParcel< ParcelType > &  p)

Construct as a copy.

Member Function Documentation

◆ TypeName()

TypeName ( "SprayParcel< ParcelType >"  )

Runtime type information.

◆ AddToPropertyList()

AddToPropertyList ( ParcelType  ,
" d0"+" position0"+" sigma"+" mu"+" liquidCore"+" KHindex"+" y"+" yDot"+" tc"+" ms"+" injector"+" tMom"+" user  
)

String representation of properties.

◆ clone() [1/2]

virtual autoPtr< particle > clone ( ) const
inlinevirtual

Construct and return a (basic particle) clone.

Definition at line 278 of file SprayParcel.H.

◆ clone() [2/2]

virtual autoPtr< particle > clone ( const polyMesh mesh) const
inlinevirtual

Construct and return a (basic particle) clone.

Definition at line 284 of file SprayParcel.H.

References mesh.

◆ d0() [1/2]

Foam::scalar d0
inline

Return const access to initial droplet diameter.

Definition at line 245 of file SprayParcelI.H.

Referenced by SprayParcel< ParcelType >::calcBreakup().

Here is the caller graph for this function:

◆ position0() [1/2]

const Foam::vector & position0
inline

Return const access to initial droplet position.

Definition at line 252 of file SprayParcelI.H.

◆ sigma() [1/2]

Foam::scalar sigma
inline

Return const access to the liquid surface tension.

Definition at line 259 of file SprayParcelI.H.

◆ mu() [1/2]

Foam::scalar mu
inline

Return const access to the liquid dynamic viscosity.

Definition at line 266 of file SprayParcelI.H.

◆ liquidCore() [1/2]

Foam::scalar liquidCore
inline

Return const access to liquid core.

Definition at line 273 of file SprayParcelI.H.

Referenced by SprayParcel< ParcelType >::calcBreakup().

Here is the caller graph for this function:

◆ KHindex() [1/2]

Foam::scalar KHindex
inline

Return const access to Kelvin-Helmholtz breakup index.

Definition at line 280 of file SprayParcelI.H.

Referenced by SprayParcel< ParcelType >::calcBreakup().

Here is the caller graph for this function:

◆ y() [1/2]

Foam::scalar y
inline

Return const access to spherical deviation.

Definition at line 287 of file SprayParcelI.H.

Referenced by SprayParcel< ParcelType >::calcBreakup().

Here is the caller graph for this function:

◆ yDot() [1/2]

Foam::scalar yDot
inline

Return const access to rate of change of spherical deviation.

Definition at line 294 of file SprayParcelI.H.

Referenced by SprayParcel< ParcelType >::calcBreakup().

Here is the caller graph for this function:

◆ tc() [1/2]

Foam::scalar tc
inline

Return const access to atomization characteristic time.

Definition at line 301 of file SprayParcelI.H.

Referenced by SprayParcel< ParcelType >::calcBreakup().

Here is the caller graph for this function:

◆ ms() [1/2]

Foam::scalar ms
inline

Return const access to stripped parcel mass.

Definition at line 308 of file SprayParcelI.H.

Referenced by SprayParcel< ParcelType >::calcBreakup().

Here is the caller graph for this function:

◆ injector() [1/2]

Foam::scalar injector
inline

Return const access to injector id.

Definition at line 315 of file SprayParcelI.H.

Referenced by SprayParcel< ParcelType >::calcBreakup().

Here is the caller graph for this function:

◆ tMom() [1/2]

Foam::scalar tMom
inline

Return const access to momentum relaxation time.

Definition at line 322 of file SprayParcelI.H.

Referenced by SprayParcel< ParcelType >::calcBreakup().

Here is the caller graph for this function:

◆ user() [1/2]

Foam::scalar user
inline

Return const access to passive user scalar.

Definition at line 329 of file SprayParcelI.H.

Referenced by SprayParcel< ParcelType >::calcBreakup().

Here is the caller graph for this function:

◆ d0() [2/2]

Foam::scalar & d0
inline

Return access to initial droplet diameter.

Definition at line 336 of file SprayParcelI.H.

◆ position0() [2/2]

Foam::vector & position0
inline

Return access to initial droplet position.

Definition at line 343 of file SprayParcelI.H.

◆ sigma() [2/2]

Foam::scalar & sigma
inline

Return access to the liquid surface tension.

Definition at line 350 of file SprayParcelI.H.

◆ mu() [2/2]

Foam::scalar & mu
inline

Return access to the liquid dynamic viscosity.

Definition at line 357 of file SprayParcelI.H.

◆ liquidCore() [2/2]

Foam::scalar & liquidCore
inline

Return access to liquid core.

Definition at line 364 of file SprayParcelI.H.

◆ KHindex() [2/2]

Foam::scalar & KHindex
inline

Return access to Kelvin-Helmholtz breakup index.

Definition at line 371 of file SprayParcelI.H.

◆ y() [2/2]

Foam::scalar & y
inline

Return access to spherical deviation.

Definition at line 378 of file SprayParcelI.H.

◆ yDot() [2/2]

Foam::scalar & yDot
inline

Return access to rate of change of spherical deviation.

Definition at line 385 of file SprayParcelI.H.

◆ tc() [2/2]

Foam::scalar & tc
inline

Return access to atomization characteristic time.

Definition at line 392 of file SprayParcelI.H.

◆ ms() [2/2]

Foam::scalar & ms
inline

Return access to stripped parcel mass.

Definition at line 399 of file SprayParcelI.H.

◆ injector() [2/2]

Foam::scalar & injector
inline

Return access to injector id.

Definition at line 406 of file SprayParcelI.H.

◆ tMom() [2/2]

Foam::scalar & tMom
inline

Return access to momentum relaxation time.

Definition at line 413 of file SprayParcelI.H.

◆ user() [2/2]

Foam::scalar & user
inline

Return access to passive user scalar.

Definition at line 420 of file SprayParcelI.H.

◆ setCellValues()

void setCellValues ( TrackCloudType &  cloud,
trackingData td 
)

Set cell values.

Definition at line 37 of file SprayParcel.C.

References KinematicParcel< ParcelType >::setCellValues().

Here is the call graph for this function:

◆ calcAtomization()

void calcAtomization ( TrackCloudType &  cloud,
trackingData td,
const scalar  dt 
)

Correct parcel properties according to atomization model.

Definition at line 150 of file SprayParcel.C.

References composition, IOobject::db(), Foam::mag(), max(), Foam::min(), Foam::pos(), R, rho, Foam::constant::thermodynamic::RR, T, objectRegistry::time(), U, Urel, and dimensioned< Type >::value().

Here is the call graph for this function:

◆ calcBreakup()

void calcBreakup ( TrackCloudType &  cloud,
trackingData td,
const scalar  dt 
)

◆ cellValueSourceCorrection()

void cellValueSourceCorrection ( TrackCloudType &  cloud,
trackingData td,
const scalar  dt 
)

Correct cell values using latest transfer information.

Definition at line 49 of file SprayParcel.C.

References cloudSolution::cellValueSourceCorrection().

Here is the call graph for this function:

◆ correctSurfaceValues()

void correctSurfaceValues ( TrackCloudType &  cloud,
trackingData td,
const scalar  T,
const scalarField Cs,
scalar &  rhos,
scalar &  mus,
scalar &  Pr,
scalar &  kappa 
)

Correct surface values due to emitted species.

◆ calc()

void calc ( TrackCloudType &  cloud,
trackingData td,
const scalar  dt 
)

Update parcel properties over the time interval.

Definition at line 62 of file SprayParcel.C.

References Foam::cbrt(), composition, Cp, Foam::pow3(), rho, rho0, rho1, T, T0, and X0().

Here is the call graph for this function:

◆ chi() [1/2]

scalar chi ( TrackCloudType &  cloud,
trackingData td,
const scalarField X 
) const

Calculate the chi-factor for flash-boiling for the.

atomization model

◆ solveTABEq()

void solveTABEq ( TrackCloudType &  cloud,
trackingData td,
const scalar  dt 
)

Solve the TAB equation.

Definition at line 372 of file SprayParcel.C.

References Foam::cos(), e, Foam::exp(), rho, s(), Foam::sin(), Foam::sqrt(), y, and Foam::y0().

Here is the call graph for this function:

◆ readFields() [1/2]

void readFields ( CloudType c,
const CompositionType &  compModel 
)
static

Read.

Definition at line 132 of file SprayParcelIO.C.

References mu, IOobject::MUST_READ, p, and y.

Referenced by SprayParcel< ParcelType >::SprayParcel().

Here is the caller graph for this function:

◆ readFields() [2/2]

void readFields ( CloudType c)
static

Read - no composition.

Definition at line 124 of file SprayParcelIO.C.

◆ writeFields() [1/2]

void writeFields ( const CloudType c,
const CompositionType &  compModel 
)
static

Write.

Definition at line 253 of file SprayParcelIO.C.

References mu, IOobject::NO_READ, p, regIOobject::write(), fieldAverage::writeFields(), and y.

Here is the call graph for this function:

◆ writeFields() [2/2]

void writeFields ( const CloudType c)
static

Write - composition supplied.

Definition at line 245 of file SprayParcelIO.C.

References fieldAverage::writeFields().

Here is the call graph for this function:

◆ writeProperties()

void writeProperties ( Ostream os,
const wordRes filters,
const word delim,
const bool  namesOnly 
) const

Write individual parcel properties to stream.

Definition at line 327 of file SprayParcelIO.C.

References os(), writeProp, and injectedParticle::writeProperties().

Here is the call graph for this function:

◆ readObjects() [1/2]

void readObjects ( CloudType c,
const objectRegistry obr 
)
static

Read particle fields as objects from the obr registry.

  • no composition

Definition at line 361 of file SprayParcelIO.C.

References injectedParticle::readObjects().

Here is the call graph for this function:

◆ readObjects() [2/2]

void readObjects ( CloudType c,
const CompositionType &  compModel,
const objectRegistry obr 
)
static

Read particle fields as objects from the obr registry.

Definition at line 385 of file SprayParcelIO.C.

References mu, p, injectedParticle::readObjects(), and y.

Here is the call graph for this function:

◆ writeObjects() [1/2]

void writeObjects ( const CloudType c,
objectRegistry obr 
)
static

Write particle fields as objects into the obr registry.

  • no composition

Definition at line 373 of file SprayParcelIO.C.

◆ writeObjects() [2/2]

void writeObjects ( const CloudType c,
const CompositionType &  compModel,
objectRegistry obr 
)
static

Write particle fields as objects into the obr registry.

Definition at line 434 of file SprayParcelIO.C.

References mu, p, and y.

◆ chi() [2/2]

Foam::scalar chi ( TrackCloudType &  cloud,
trackingData td,
const scalarField X 
) const

Definition at line 328 of file SprayParcel.C.

References composition, forAll, liquidProperties::h(), liquidProperties::hl(), max(), Foam::min(), p0, liquidProperties::pvInvert(), thermophysicalProperties::rho(), T, and T0.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator

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

Member Data Documentation

◆ d0_

scalar d0_
protected

Initial droplet diameter.

Definition at line 137 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ position0_

vector position0_
protected

Injection position.

Definition at line 140 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ sigma_

scalar sigma_
protected

Liquid surface tension [N/m].

Definition at line 143 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ mu_

scalar mu_
protected

Liquid dynamic viscosity [Pa.s].

Definition at line 146 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ liquidCore_

scalar liquidCore_
protected

Part of liquid core ( >0.5=liquid, <0.5=droplet )

Definition at line 149 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ KHindex_

scalar KHindex_
protected

Index for KH Breakup.

Definition at line 152 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ y_

scalar y_
protected

Spherical deviation.

Definition at line 155 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ yDot_

scalar yDot_
protected

Rate of change of spherical deviation.

Definition at line 158 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ tc_

scalar tc_
protected

Characteristic time (used in atomization and/or breakup model)

Definition at line 161 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ ms_

scalar ms_
protected

Stripped parcel mass due to breakup.

Definition at line 164 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ injector_

scalar injector_
protected

Injected from injector (needed e.g. for calculating distance.

from injector)

Definition at line 168 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ tMom_

scalar tMom_
protected

Momentum relaxation time (needed for calculating parcel acc.)

Definition at line 171 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ user_

scalar user_
protected

Passive scalar (extra variable to be defined by user)

Definition at line 174 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().

◆ sizeofFields

const std::size_t sizeofFields
static

Size in bytes of the fields.

Definition at line 182 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::SprayParcel().


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