ThermoSurfaceFilm< CloudType > Class Template Reference

Thermo parcel surface film model. More...

Inheritance diagram for ThermoSurfaceFilm< CloudType >:
[legend]
Collaboration diagram for ThermoSurfaceFilm< CloudType >:
[legend]

Public Types

enum  interactionType { itAbsorb, itBounce, itSplashBai }
 

Public Member Functions

interactionType interactionTypeEnum (const word &it) const
 
word interactionTypeStr (const interactionType &it) const
 
 TypeName ("thermoSurfaceFilm")
 Runtime type information. More...
 
 ThermoSurfaceFilm (const dictionary &dict, CloudType &owner)
 Construct from components. More...
 
 ThermoSurfaceFilm (const ThermoSurfaceFilm< CloudType > &sfm)
 Construct copy. More...
 
virtual autoPtr< SurfaceFilmModel< CloudType > > clone () const
 Construct and return a clone using supplied owner cloud. More...
 
virtual ~ThermoSurfaceFilm ()
 Destructor. More...
 
virtual bool transferParcel (parcelType &p, const polyPatch &pp, bool &keepParticle)
 Transfer parcel from cloud to surface film. More...
 
virtual void info (Ostream &os)
 Write surface film info to stream. More...
 
- Public Member Functions inherited from SurfaceFilmModel< CloudType >
 TypeName ("surfaceFilmModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, SurfaceFilmModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
 Declare runtime constructor selection table. More...
 
 SurfaceFilmModel (CloudType &owner)
 Construct null from owner. More...
 
 SurfaceFilmModel (const dictionary &dict, CloudType &owner, const word &type)
 Construct from components. More...
 
 SurfaceFilmModel (const SurfaceFilmModel< CloudType > &sfm)
 Construct copy. More...
 
virtual ~SurfaceFilmModel ()
 Destructor. More...
 
const dimensionedVectorg () const
 Return gravitational acceleration constant. More...
 
label nParcelsTransferred () const
 Return const access to the number of parcels transferred to the. More...
 
label & nParcelsTransferred ()
 Return non-const access to the number of parcels transferred to. More...
 
label nParcelsInjected () const
 Return const access to the number of parcels injected from the. More...
 
label & nParcelsInjected ()
 Return non-const access to the number of parcels injected from. More...
 
template<class TrackCloudType >
void inject (TrackCloudType &cloud)
 Inject parcels into the cloud. More...
 

Static Public Attributes

static wordList interactionTypeNames_
 Word descriptions of interaction type names. More...
 

Protected Types

typedef CloudType::parcelType parcelType
 Convenience typedef to the cloud's parcel type. More...
 
- Protected Types inherited from SurfaceFilmModel< CloudType >
typedef CloudType::parcelType parcelType
 Convenience typedef to the cloud's parcel type. More...
 

Protected Member Functions

vector tangentVector (const vector &v) const
 Return a vector tangential to input vector, v. More...
 
vector splashDirection (const vector &tanVec1, const vector &tanVec2, const vector &nf) const
 Return splashed parcel direction. More...
 
void absorbInteraction (regionModels::surfaceFilmModels::surfaceFilmRegionModel &, const parcelType &p, const polyPatch &pp, const label facei, const scalar mass, bool &keepParticle)
 Absorb parcel into film. More...
 
void bounceInteraction (parcelType &p, const polyPatch &pp, const label facei, bool &keepParticle) const
 Bounce parcel (flip parcel normal velocity) More...
 
void drySplashInteraction (regionModels::surfaceFilmModels::surfaceFilmRegionModel &, const parcelType &p, const polyPatch &pp, const label facei, bool &keepParticle)
 Parcel interaction with dry surface. More...
 
void wetSplashInteraction (regionModels::surfaceFilmModels::surfaceFilmRegionModel &, parcelType &p, const polyPatch &pp, const label facei, bool &keepParticle)
 Parcel interaction with wetted surface. More...
 
void splashInteraction (regionModels::surfaceFilmModels::surfaceFilmRegionModel &, const parcelType &p, const polyPatch &pp, const label facei, const scalar mRatio, const scalar We, const scalar Wec, const scalar sigma, bool &keepParticle)
 Bai parcel splash interaction model. More...
 
virtual void cacheFilmFields (const label filmPatchi, const label primaryPatchi, const regionModels::surfaceFilmModels::surfaceFilmRegionModel &filmModel)
 Cache the film fields in preparation for injection. More...
 
virtual void setParcelProperties (parcelType &p, const label filmFacei) const
 Set the individual parcel properties. More...
 

Protected Attributes

RandomrndGen_
 Reference to the cloud random number generator. More...
 
const SLGThermothermo_
 Reference to the cloud thermo package. More...
 
scalarList TFilmPatch_
 Film temperature / patch face. More...
 
scalarList CpFilmPatch_
 Film specific heat capacity / patch face. More...
 
interactionType interactionType_
 Interaction type enumeration. More...
 
scalar deltaWet_
 Film thickness beyond which patch is assumed to be wet. More...
 
label splashParcelType_
 Splash parcel type label - id assigned to identify parcel for. More...
 
label parcelsPerSplash_
 Number of new parcels resulting from splash event. More...
 
scalar Adry_
 Dry surface roughness coefficient. More...
 
scalar Awet_
 Wet surface roughness coefficient. More...
 
scalar Cf_
 Skin friction typically in the range 0.6 < Cf < 0.8. More...
 
label nParcelsSplashed_
 Counter for number of new splash parcels. More...
 
- Protected Attributes inherited from SurfaceFilmModel< CloudType >
const dimensionedVectorg_
 Gravitational acceleration constant. More...
 
label ejectedParcelType_
 Ejected parcel type label - id assigned to identify parcel for. More...
 
scalarList massParcelPatch_
 Parcel mass / patch face. More...
 
scalarList diameterParcelPatch_
 Parcel diameter / patch face. More...
 
List< vectorUFilmPatch_
 Film velocity / patch face. More...
 
scalarList rhoFilmPatch_
 Film density / patch face. More...
 
scalarListList deltaFilmPatch_
 Film height of all film patches / patch face. More...
 
label nParcelsTransferred_
 Number of parcels transferred to the film model. More...
 
label nParcelsInjected_
 Number of parcels injected from the film model. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from SurfaceFilmModel< CloudType >
static autoPtr< SurfaceFilmModel< CloudType > > New (const dictionary &dict, CloudType &owner)
 Selector. More...
 

Detailed Description

template<class CloudType>
class Foam::ThermoSurfaceFilm< CloudType >

Thermo parcel surface film model.

Responsible for:

  • injecting parcelss from the film model into the cloud, e.g. for dripping
  • parcel interaction with the film, e.g absorb, bounce, splash

Splash model references:

Bai and Gosman, `Mathematical modelling of wall films formed by impinging sprays', SAE 960626, 1996

Bai et al, `Modelling of gasoline spray impingement', Atom. Sprays, vol 12, pp 1-27, 2002

Source files

Definition at line 68 of file ThermoSurfaceFilm.H.

Member Typedef Documentation

◆ parcelType

typedef CloudType::parcelType parcelType
protected

Convenience typedef to the cloud's parcel type.

Definition at line 102 of file ThermoSurfaceFilm.H.

Member Enumeration Documentation

◆ interactionType

Enumerator
itAbsorb 
itBounce 
itSplashBai 

Definition at line 77 of file ThermoSurfaceFilm.H.

Constructor & Destructor Documentation

◆ ThermoSurfaceFilm() [1/2]

ThermoSurfaceFilm ( const dictionary dict,
CloudType owner 
)

Construct from components.

Definition at line 480 of file ThermoSurfaceFilm.C.

References Foam::endl(), and Foam::Info.

Here is the call graph for this function:

◆ ThermoSurfaceFilm() [2/2]

Construct copy.

Definition at line 524 of file ThermoSurfaceFilm.C.

◆ ~ThermoSurfaceFilm()

~ThermoSurfaceFilm ( )
virtual

Destructor.

Definition at line 547 of file ThermoSurfaceFilm.C.

Member Function Documentation

◆ interactionTypeEnum()

Foam::ThermoSurfaceFilm< CloudType >::interactionType interactionTypeEnum ( const word it) const

Definition at line 49 of file ThermoSurfaceFilm.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and forAll.

Here is the call graph for this function:

◆ interactionTypeStr()

Foam::word interactionTypeStr ( const interactionType it) const

Definition at line 70 of file ThermoSurfaceFilm.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ tangentVector()

Foam::vector tangentVector ( const vector v) const
protected

Return a vector tangential to input vector, v.

Definition at line 88 of file ThermoSurfaceFilm.C.

References Foam::mag(), and Foam::Zero.

Here is the call graph for this function:

◆ splashDirection()

Foam::vector splashDirection ( const vector tanVec1,
const vector tanVec2,
const vector nf 
) const
protected

Return splashed parcel direction.

Definition at line 108 of file ThermoSurfaceFilm.C.

References Foam::constant::atomic::alpha, Foam::cos(), Foam::degToRad(), Foam::mag(), Foam::sin(), and Foam::constant::mathematical::twoPi().

Here is the call graph for this function:

◆ absorbInteraction()

void absorbInteraction ( regionModels::surfaceFilmModels::surfaceFilmRegionModel filmModel,
const parcelType p,
const polyPatch pp,
const label  facei,
const scalar  mass,
bool keepParticle 
)
protected

Absorb parcel into film.

Definition at line 133 of file ThermoSurfaceFilm.C.

References surfaceFilmRegionModel::addSources(), Foam::expressions::patchExpr::debug, Foam::endl(), PrimitivePatch< FaceList, PointField >::faceNormals(), patchIdentifier::index(), Foam::Info, Foam::mag(), p, and Urel.

Here is the call graph for this function:

◆ bounceInteraction()

void bounceInteraction ( parcelType p,
const polyPatch pp,
const label  facei,
bool keepParticle 
) const
protected

Bounce parcel (flip parcel normal velocity)

Definition at line 180 of file ThermoSurfaceFilm.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), PrimitivePatch< FaceList, PointField >::faceNormals(), patchIdentifier::index(), Foam::Info, p, and Urel.

Here is the call graph for this function:

◆ drySplashInteraction()

void drySplashInteraction ( regionModels::surfaceFilmModels::surfaceFilmRegionModel filmModel,
const parcelType p,
const polyPatch pp,
const label  facei,
bool keepParticle 
)
protected

Parcel interaction with dry surface.

Definition at line 210 of file ThermoSurfaceFilm.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), PrimitivePatch< FaceList, PointField >::faceNormals(), patchIdentifier::index(), Foam::Info, Foam::magSqr(), Foam::constant::physicoChemical::mu, liquidProperties::mu(), p, Foam::pow(), rho, sigma(), liquidProperties::sigma(), Foam::sqr(), and Urel.

Here is the call graph for this function:

◆ wetSplashInteraction()

void wetSplashInteraction ( regionModels::surfaceFilmModels::surfaceFilmRegionModel filmModel,
parcelType p,
const polyPatch pp,
const label  facei,
bool keepParticle 
)
protected

Parcel interaction with wetted surface.

Definition at line 266 of file ThermoSurfaceFilm.C.

References Foam::acos(), Foam::expressions::patchExpr::debug, Foam::endl(), epsilon, PrimitivePatch< FaceList, PointField >::faceNormals(), patchIdentifier::index(), Foam::Info, Foam::mag(), Foam::magSqr(), Foam::constant::physicoChemical::mu, liquidProperties::mu(), p, Foam::constant::mathematical::piByTwo(), Foam::pow(), rho, sigma(), liquidProperties::sigma(), Foam::sqr(), U, and Urel.

Here is the call graph for this function:

◆ splashInteraction()

void splashInteraction ( regionModels::surfaceFilmModels::surfaceFilmRegionModel filmModel,
const parcelType p,
const polyPatch pp,
const label  facei,
const scalar  mRatio,
const scalar  We,
const scalar  Wec,
const scalar  sigma,
bool keepParticle 
)
protected

Bai parcel splash interaction model.

Definition at line 343 of file ThermoSurfaceFilm.C.

References Foam::cbrt(), Foam::meshTools::constrainDirection(), Foam::exp(), PrimitivePatch< FaceList, PointField >::faceNormals(), forAll, patchIdentifier::index(), Foam::log(), Foam::mag(), Foam::magSqr(), Foam::max(), mesh, UPstream::myProcNo(), p, Foam::constant::mathematical::pi(), Foam::pow3(), sigma(), Foam::sqr(), Foam::sqrt(), Urel, and y.

Here is the call graph for this function:

◆ cacheFilmFields()

void cacheFilmFields ( const label  filmPatchi,
const label  primaryPatchi,
const regionModels::surfaceFilmModels::surfaceFilmRegionModel filmModel 
)
protectedvirtual

Cache the film fields in preparation for injection.

Reimplemented from SurfaceFilmModel< CloudType >.

Definition at line 628 of file ThermoSurfaceFilm.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), SurfaceFilmModel< CloudType >::cacheFilmFields(), surfaceFilmRegionModel::Cp(), regionModel::toPrimary(), and surfaceFilmRegionModel::Ts().

Here is the call graph for this function:

◆ setParcelProperties()

void setParcelProperties ( parcelType p,
const label  filmFacei 
) const
protectedvirtual

Set the individual parcel properties.

Reimplemented from SurfaceFilmModel< CloudType >.

Definition at line 651 of file ThermoSurfaceFilm.C.

References p, and SurfaceFilmModel< CloudType >::setParcelProperties().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "thermoSurfaceFilm"  )

Runtime type information.

◆ clone()

virtual autoPtr<SurfaceFilmModel<CloudType> > clone ( ) const
inlinevirtual

Construct and return a clone using supplied owner cloud.

Implements SurfaceFilmModel< CloudType >.

Definition at line 261 of file ThermoSurfaceFilm.H.

◆ transferParcel()

bool transferParcel ( parcelType p,
const polyPatch pp,
bool keepParticle 
)
virtual

Transfer parcel from cloud to surface film.

Returns true if parcel is to be transferred

Implements SurfaceFilmModel< CloudType >.

Definition at line 555 of file ThermoSurfaceFilm.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, patchIdentifier::index(), regionModel::isRegionPatch(), p, and polyPatch::whichFace().

Here is the call graph for this function:

◆ info()

void info ( Ostream os)
virtual

Write surface film info to stream.

Reimplemented from SurfaceFilmModel< CloudType >.

Definition at line 665 of file ThermoSurfaceFilm.C.

References Foam::endl(), SurfaceFilmModel< CloudType >::info(), and Foam::returnReduce().

Here is the call graph for this function:

Member Data Documentation

◆ interactionTypeNames_

Foam::wordList interactionTypeNames_
static
Initial value:
{
"absorb", "bounce", "splashBai"
}

Word descriptions of interaction type names.

Definition at line 85 of file ThermoSurfaceFilm.H.

◆ rndGen_

Random& rndGen_
protected

Reference to the cloud random number generator.

Definition at line 105 of file ThermoSurfaceFilm.H.

◆ thermo_

const SLGThermo& thermo_
protected

Reference to the cloud thermo package.

Definition at line 108 of file ThermoSurfaceFilm.H.

◆ TFilmPatch_

scalarList TFilmPatch_
protected

Film temperature / patch face.

Definition at line 114 of file ThermoSurfaceFilm.H.

◆ CpFilmPatch_

scalarList CpFilmPatch_
protected

Film specific heat capacity / patch face.

Definition at line 117 of file ThermoSurfaceFilm.H.

◆ interactionType_

interactionType interactionType_
protected

Interaction type enumeration.

Definition at line 123 of file ThermoSurfaceFilm.H.

◆ deltaWet_

scalar deltaWet_
protected

Film thickness beyond which patch is assumed to be wet.

Definition at line 126 of file ThermoSurfaceFilm.H.

◆ splashParcelType_

label splashParcelType_
protected

Splash parcel type label - id assigned to identify parcel for.

post-processing. If not specified, defaults to originating cloud type

Definition at line 131 of file ThermoSurfaceFilm.H.

◆ parcelsPerSplash_

label parcelsPerSplash_
protected

Number of new parcels resulting from splash event.

Definition at line 134 of file ThermoSurfaceFilm.H.

◆ Adry_

scalar Adry_
protected

Dry surface roughness coefficient.

= 2630 for dry interaction (ref. Bai)

Definition at line 142 of file ThermoSurfaceFilm.H.

◆ Awet_

scalar Awet_
protected

Wet surface roughness coefficient.

= 1320 for wet interaction (ref. Bai)

Definition at line 146 of file ThermoSurfaceFilm.H.

◆ Cf_

scalar Cf_
protected

Skin friction typically in the range 0.6 < Cf < 0.8.

Definition at line 150 of file ThermoSurfaceFilm.H.

◆ nParcelsSplashed_

label nParcelsSplashed_
protected

Counter for number of new splash parcels.

Definition at line 153 of file ThermoSurfaceFilm.H.


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