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...
 
labelnParcelsTransferred ()
 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...
 
labelnParcelsInjected ()
 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< Face, FaceList, PointField, PointType >::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< Face, FaceList, PointField, PointType >::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< Face, FaceList, PointField, PointType >::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< Face, FaceList, PointField, PointType >::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< Face, FaceList, PointField, PointType >::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: