SprayParcel< ParcelType > Class Template Reference

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

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

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

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 >

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

Definition at line 43 of file SprayParcel.H.

Member Typedef Documentation

◆ trackingData

typedef ParcelType::trackingData trackingData

Use base tracking data.

Definition at line 130 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 108 of file SprayParcelI.H.

Referenced by SprayParcel< ParcelType >::constantProperties::constantProperties(), SprayParcel< ParcelType >::solveTABEq(), and SprayParcel< ParcelType >::SprayParcel().

Here is the caller graph for this function:

◆ 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 135 of file SprayParcelI.H.

References SprayParcel< ParcelType >::SprayParcel().

Here is the call graph for this function:

◆ 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 160 of file SprayParcelI.H.

◆ SprayParcel() [4/6]

SprayParcel ( const polyMesh mesh,
Istream is,
bool  readFields = true 
)

Construct from Istream.

Definition at line 42 of file SprayParcelIO.C.

References IOstream::check(), IOstream::format(), Istream::read(), and readScalar.

Here is the call graph for this function:

◆ 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.

◆ clone() [1/2]

virtual autoPtr<particle> clone ( ) const
inlinevirtual

Construct and return a (basic particle) clone.

Definition at line 258 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 264 of file SprayParcel.H.

References mesh.

◆ d0() [1/2]

Foam::scalar d0 ( ) const
inline

Return const access to initial droplet diameter.

Definition at line 242 of file SprayParcelI.H.

References SprayParcel< ParcelType >::d0_.

Referenced by SprayParcel< ParcelType >::calcBreakup(), and SprayParcel< ParcelType >::iNew::operator()().

Here is the caller graph for this function:

◆ position0() [1/2]

const Foam::vector & position0 ( ) const
inline

Return const access to initial droplet position.

Definition at line 249 of file SprayParcelI.H.

References SprayParcel< ParcelType >::position0_.

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

Here is the caller graph for this function:

◆ sigma() [1/2]

Foam::scalar sigma ( ) const
inline

Return const access to the liquid surface tension.

Definition at line 256 of file SprayParcelI.H.

References SprayParcel< ParcelType >::sigma_.

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

Here is the caller graph for this function:

◆ mu() [1/2]

Foam::scalar mu ( ) const
inline

Return const access to the liquid dynamic viscosity.

Definition at line 263 of file SprayParcelI.H.

References SprayParcel< ParcelType >::mu_.

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

Here is the caller graph for this function:

◆ liquidCore() [1/2]

Foam::scalar liquidCore ( ) const
inline

Return const access to liquid core.

Definition at line 270 of file SprayParcelI.H.

References SprayParcel< ParcelType >::liquidCore_.

Referenced by SprayParcel< ParcelType >::calcBreakup(), and SprayParcel< ParcelType >::iNew::operator()().

Here is the caller graph for this function:

◆ KHindex() [1/2]

Foam::scalar KHindex ( ) const
inline

Return const access to Kelvin-Helmholtz breakup index.

Definition at line 277 of file SprayParcelI.H.

References SprayParcel< ParcelType >::KHindex_.

Referenced by SprayParcel< ParcelType >::calcBreakup(), and SprayParcel< ParcelType >::iNew::operator()().

Here is the caller graph for this function:

◆ y() [1/2]

Foam::scalar y ( ) const
inline

Return const access to spherical deviation.

Definition at line 284 of file SprayParcelI.H.

References SprayParcel< ParcelType >::y_.

Referenced by SprayParcel< ParcelType >::calcBreakup(), and SprayParcel< ParcelType >::iNew::operator()().

Here is the caller graph for this function:

◆ yDot() [1/2]

Foam::scalar yDot ( ) const
inline

Return const access to rate of change of spherical deviation.

Definition at line 291 of file SprayParcelI.H.

References SprayParcel< ParcelType >::yDot_.

Referenced by SprayParcel< ParcelType >::calcBreakup(), and SprayParcel< ParcelType >::iNew::operator()().

Here is the caller graph for this function:

◆ tc() [1/2]

Foam::scalar tc ( ) const
inline

Return const access to atomization characteristic time.

Definition at line 298 of file SprayParcelI.H.

References SprayParcel< ParcelType >::tc_.

Referenced by SprayParcel< ParcelType >::calcBreakup(), and SprayParcel< ParcelType >::iNew::operator()().

Here is the caller graph for this function:

◆ ms() [1/2]

Foam::scalar ms ( ) const
inline

Return const access to stripped parcel mass.

Definition at line 305 of file SprayParcelI.H.

References SprayParcel< ParcelType >::ms_.

Referenced by SprayParcel< ParcelType >::calcBreakup(), and SprayParcel< ParcelType >::iNew::operator()().

Here is the caller graph for this function:

◆ injector() [1/2]

Foam::scalar injector ( ) const
inline

Return const access to injector id.

Definition at line 312 of file SprayParcelI.H.

References SprayParcel< ParcelType >::injector_.

Referenced by SprayParcel< ParcelType >::calcBreakup(), and SprayParcel< ParcelType >::iNew::operator()().

Here is the caller graph for this function:

◆ tMom() [1/2]

Foam::scalar tMom ( ) const
inline

Return const access to momentum relaxation time.

Definition at line 319 of file SprayParcelI.H.

References SprayParcel< ParcelType >::tMom_.

Referenced by SprayParcel< ParcelType >::calcBreakup(), and SprayParcel< ParcelType >::iNew::operator()().

Here is the caller graph for this function:

◆ user() [1/2]

Foam::scalar user ( ) const
inline

Return const access to passive user scalar.

Definition at line 326 of file SprayParcelI.H.

References SprayParcel< ParcelType >::user_.

Referenced by SprayParcel< ParcelType >::calcBreakup(), and SprayParcel< ParcelType >::iNew::operator()().

Here is the caller graph for this function:

◆ d0() [2/2]

Foam::scalar & d0 ( )
inline

Return access to initial droplet diameter.

Definition at line 333 of file SprayParcelI.H.

References SprayParcel< ParcelType >::d0_.

◆ position0() [2/2]

Foam::vector & position0 ( )
inline

Return access to initial droplet position.

Definition at line 340 of file SprayParcelI.H.

References SprayParcel< ParcelType >::position0_.

◆ sigma() [2/2]

Foam::scalar & sigma ( )
inline

Return access to the liquid surface tension.

Definition at line 347 of file SprayParcelI.H.

References SprayParcel< ParcelType >::sigma_.

◆ mu() [2/2]

Foam::scalar & mu ( )
inline

Return access to the liquid dynamic viscosity.

Definition at line 354 of file SprayParcelI.H.

References SprayParcel< ParcelType >::mu_.

◆ liquidCore() [2/2]

Foam::scalar & liquidCore ( )
inline

Return access to liquid core.

Definition at line 361 of file SprayParcelI.H.

References SprayParcel< ParcelType >::liquidCore_.

◆ KHindex() [2/2]

Foam::scalar & KHindex ( )
inline

Return access to Kelvin-Helmholtz breakup index.

Definition at line 368 of file SprayParcelI.H.

References SprayParcel< ParcelType >::KHindex_.

◆ y() [2/2]

Foam::scalar & y ( )
inline

Return access to spherical deviation.

Definition at line 375 of file SprayParcelI.H.

References SprayParcel< ParcelType >::y_.

◆ yDot() [2/2]

Foam::scalar & yDot ( )
inline

Return access to rate of change of spherical deviation.

Definition at line 382 of file SprayParcelI.H.

References SprayParcel< ParcelType >::yDot_.

◆ tc() [2/2]

Foam::scalar & tc ( )
inline

Return access to atomization characteristic time.

Definition at line 389 of file SprayParcelI.H.

References SprayParcel< ParcelType >::tc_.

◆ ms() [2/2]

Foam::scalar & ms ( )
inline

Return access to stripped parcel mass.

Definition at line 396 of file SprayParcelI.H.

References SprayParcel< ParcelType >::ms_.

◆ injector() [2/2]

Foam::scalar & injector ( )
inline

Return access to injector id.

Definition at line 403 of file SprayParcelI.H.

References SprayParcel< ParcelType >::injector_.

◆ tMom() [2/2]

Foam::scalar & tMom ( )
inline

Return access to momentum relaxation time.

Definition at line 410 of file SprayParcelI.H.

References SprayParcel< ParcelType >::tMom_.

◆ user() [2/2]

Foam::scalar & user ( )
inline

Return access to passive user scalar.

Definition at line 417 of file SprayParcelI.H.

References SprayParcel< ParcelType >::user_.

◆ setCellValues()

void setCellValues ( TrackCloudType &  cloud,
trackingData td 
)

Set cell values.

Definition at line 35 of file SprayParcel.C.

References SprayParcel< ParcelType >::cellValueSourceCorrection().

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

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

◆ calcAtomization()

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

◆ calcBreakup()

◆ cellValueSourceCorrection()

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

Correct cell values using latest transfer information.

Definition at line 47 of file SprayParcel.C.

References SprayParcel< ParcelType >::calc().

Referenced by SprayParcel< ParcelType >::iNew::operator()(), and SprayParcel< ParcelType >::setCellValues().

Here is the call graph for this function:
Here is the caller 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.

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

Here is the caller graph for this function:

◆ calc()

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

Update parcel properties over the time interval.

Definition at line 60 of file SprayParcel.C.

References SprayParcel< ParcelType >::calcAtomization(), Foam::cbrt(), composition, Cp(), CompositionModel< CloudType >::liquids(), Foam::pow3(), rho, rho0, rho1, T, X0(), and Y.

Referenced by SprayParcel< ParcelType >::cellValueSourceCorrection(), and SprayParcel< ParcelType >::iNew::operator()().

Here is the call graph for this function:
Here is the caller 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

Referenced by SprayParcel< ParcelType >::calcBreakup(), and SprayParcel< ParcelType >::iNew::operator()().

Here is the caller graph for this function:

◆ solveTABEq()

◆ readFields() [1/2]

◆ readFields() [2/2]

void readFields ( CloudType c)
static

Read - no composition.

Definition at line 102 of file SprayParcelIO.C.

References Foam::readFields(), and SprayParcel< ParcelType >::readFields().

Here is the call graph for this function:

◆ writeFields() [1/2]

◆ writeFields() [2/2]

void writeFields ( const CloudType c)
static

Write - composition supplied.

Definition at line 223 of file SprayParcelIO.C.

References SprayParcel< ParcelType >::writeFields().

Here is the call graph for this function:

◆ chi() [2/2]

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

Friends And Related Function Documentation

◆ operator

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

Member Data Documentation

◆ d0_

◆ position0_

◆ sigma_

◆ mu_

scalar mu_
protected

◆ liquidCore_

scalar liquidCore_
protected

◆ KHindex_

◆ y_

◆ yDot_

scalar yDot_
protected

◆ tc_

scalar tc_
protected

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

Definition at line 164 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::readFields(), SprayParcel< ParcelType >::solveTABEq(), SprayParcel< ParcelType >::tc(), and SprayParcel< ParcelType >::writeFields().

◆ ms_

scalar ms_
protected

◆ injector_

scalar injector_
protected

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

from injector)

Definition at line 171 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::injector(), SprayParcel< ParcelType >::readFields(), SprayParcel< ParcelType >::solveTABEq(), and SprayParcel< ParcelType >::writeFields().

◆ tMom_

scalar tMom_
protected

Momentum relaxation time (needed for calculating parcel acc.)

Definition at line 174 of file SprayParcel.H.

Referenced by SprayParcel< ParcelType >::readFields(), SprayParcel< ParcelType >::solveTABEq(), SprayParcel< ParcelType >::tMom(), and SprayParcel< ParcelType >::writeFields().

◆ user_

scalar user_
protected

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