ThermoSurfaceFilm< CloudType > Class Template Reference

Thermo parcel surface film model. More...

Inheritance diagram for ThermoSurfaceFilm< CloudType >:
Collaboration diagram for ThermoSurfaceFilm< CloudType >:

Public Types

enum  interactionType { itAbsorb, itBounce, itSplashBai }
 
- Public Types inherited from CloudSubModelBase< CloudType >
typedef CloudType cloudType
 Type of cloud this model was instantiated for. More...
 

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...
 
- Public Member Functions inherited from CloudSubModelBase< CloudType >
 CloudSubModelBase (CloudType &owner)
 Construct null from owner cloud. More...
 
 CloudSubModelBase (CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from owner cloud without name. More...
 
 CloudSubModelBase (const word &modelName, CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from owner cloud with name. More...
 
 CloudSubModelBase (const CloudSubModelBase< CloudType > &smb)
 Copy constructor. More...
 
virtual ~CloudSubModelBase ()
 Destructor. More...
 
const CloudTypeowner () const
 Return const access to the owner cloud. More...
 
virtual bool writeTime () const
 Flag to indicate when to write a property. More...
 
CloudTypeowner ()
 Return non-const access to the owner cloud for manipulation. More...
 
virtual void write (Ostream &os) const
 Write. More...
 
- Public Member Functions inherited from subModelBase
 subModelBase (dictionary &properties)
 Construct null. More...
 
 subModelBase (dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from components without name. More...
 
 subModelBase (const word &modelName, dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from components with name. More...
 
 subModelBase (const subModelBase &smb)
 Copy constructor. More...
 
virtual ~subModelBase ()
 Destructor. More...
 
const wordmodelName () const
 Return const access to the name of the sub-model. More...
 
const dictionarydict () const
 Return const access to the cloud dictionary. More...
 
const wordbaseName () const
 Return const access to the base name of the sub-model. More...
 
const wordmodelType () const
 Return const access to the sub-model type. More...
 
const dictionarycoeffDict () const
 Return const access to the coefficients dictionary. More...
 
const dictionaryproperties () const
 Return const access to the properties dictionary. More...
 
virtual bool defaultCoeffs (const bool printMsg) const
 Returns true if defaultCoeffs is true and outputs on printMsg. More...
 
virtual void cacheFields (const bool store)
 Cache dependent sub-model fields. More...
 
template<class Type >
Type getBaseProperty (const word &entryName, const Type &defaultValue=pTraits< Type >::zero) const
 Retrieve generic property from the base model. More...
 
template<class Type >
void getBaseProperty (const word &entryName, Type &value) const
 Retrieve generic property from the base model. More...
 
template<class Type >
void setBaseProperty (const word &entryName, const Type &value)
 Add generic property to the base model. More...
 
template<class Type >
void getModelProperty (const word &entryName, Type &value) const
 Retrieve generic property from the sub-model. More...
 
template<class Type >
Type getModelProperty (const word &entryName, const Type &defaultValue=pTraits< Type >::zero) const
 Retrieve generic property from the sub-model. More...
 
template<class Type >
void setModelProperty (const word &entryName, const Type &value)
 Add generic property to the sub-model. More...
 
void operator= (const subModelBase &)=delete
 Disallow default bitwise assignment. 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 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 Member Functions inherited from subModelBase
bool inLine () const
 Flag to indicate whether data is/was read in-line. More...
 

Protected Attributes

RandomrndGen_
 Reference to the cloud random number generator. 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...
 
- Protected Attributes inherited from CloudSubModelBase< CloudType >
CloudTypeowner_
 Reference to the cloud. More...
 
- Protected Attributes inherited from subModelBase
const word modelName_
 Name of the sub-model. More...
 
dictionaryproperties_
 Reference to properties dictionary e.g. for restart. More...
 
const dictionary dict_
 Copy of dictionary used during construction. More...
 
const word baseName_
 Name of the sub-model base class. More...
 
const word modelType_
 Type of the sub-model. More...
 
const dictionary coeffDict_
 Coefficients dictionary. 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 parcels 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 63 of file ThermoSurfaceFilm.H.

Member Typedef Documentation

◆ parcelType

typedef CloudType::parcelType parcelType
protected

Convenience typedef to the cloud's parcel type.

Definition at line 97 of file ThermoSurfaceFilm.H.

Member Enumeration Documentation

◆ interactionType

Enumerator
itAbsorb 
itBounce 
itSplashBai 

Definition at line 72 of file ThermoSurfaceFilm.H.

Constructor & Destructor Documentation

◆ ThermoSurfaceFilm() [1/2]

ThermoSurfaceFilm ( const dictionary dict,
CloudType owner 
)

Construct from components.

Definition at line 487 of file ThermoSurfaceFilm.C.

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

Referenced by ThermoSurfaceFilm< CloudType >::splashInteraction().

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

◆ ThermoSurfaceFilm() [2/2]

Construct copy.

Definition at line 527 of file ThermoSurfaceFilm.C.

◆ ~ThermoSurfaceFilm()

~ThermoSurfaceFilm ( )
virtual

Destructor.

Definition at line 549 of file ThermoSurfaceFilm.C.

References ThermoSurfaceFilm< CloudType >::transferParcel().

Referenced by ThermoSurfaceFilm< CloudType >::clone().

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

Member Function Documentation

◆ interactionTypeEnum()

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

Definition at line 50 of file ThermoSurfaceFilm.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, and ThermoSurfaceFilm< CloudType >::interactionTypeStr().

Here is the call graph for this function:

◆ interactionTypeStr()

Foam::word interactionTypeStr ( const interactionType it) const

Definition at line 71 of file ThermoSurfaceFilm.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and ThermoSurfaceFilm< CloudType >::splashDirection().

Referenced by ThermoSurfaceFilm< CloudType >::interactionTypeEnum().

Here is the call graph for this function:
Here is the caller 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 89 of file ThermoSurfaceFilm.C.

References ThermoSurfaceFilm< CloudType >::absorbInteraction(), alpha(), Foam::cos(), Foam::mag(), Foam::constant::mathematical::pi(), Foam::sin(), and Foam::constant::mathematical::twoPi().

Referenced by ThermoSurfaceFilm< CloudType >::interactionTypeStr().

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

◆ bounceInteraction()

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

Bounce parcel (flip parcel normal velocity)

Definition at line 173 of file ThermoSurfaceFilm.C.

References ThermoSurfaceFilm< CloudType >::drySplashInteraction(), Foam::endl(), PrimitivePatch< FaceList, PointField >::faceNormals(), patchIdentifier::index(), Foam::Info, and Urel.

Referenced by ThermoSurfaceFilm< CloudType >::absorbInteraction().

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

◆ drySplashInteraction()

◆ wetSplashInteraction()

◆ 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

◆ 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 630 of file ThermoSurfaceFilm.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), SurfaceFilmModel< CloudType >::cacheFilmFields(), basicThermo::Cpv(), ThermoSurfaceFilm< CloudType >::setParcelProperties(), basicThermo::T(), kinematicSingleLayer::thermo(), and regionModel::toPrimary().

Referenced by ThermoSurfaceFilm< CloudType >::transferParcel().

Here is the call graph for this function:
Here is the caller 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 660 of file ThermoSurfaceFilm.C.

References SurfaceFilmModel< CloudType >::setParcelProperties().

Referenced by ThermoSurfaceFilm< CloudType >::cacheFilmFields().

Here is the call graph for this function:
Here is the caller 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 250 of file ThermoSurfaceFilm.H.

References ThermoSurfaceFilm< CloudType >::info(), p, ThermoSurfaceFilm< CloudType >::transferParcel(), and ThermoSurfaceFilm< CloudType >::~ThermoSurfaceFilm().

Here is the call graph for this function:

◆ 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 557 of file ThermoSurfaceFilm.C.

References Foam::abort(), ThermoSurfaceFilm< CloudType >::cacheFilmFields(), Foam::FatalError, FatalErrorInFunction, patchIdentifier::index(), regionModel::isRegionPatch(), patchi, and polyPatch::whichFace().

Referenced by ThermoSurfaceFilm< CloudType >::clone(), and ThermoSurfaceFilm< CloudType >::~ThermoSurfaceFilm().

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

◆ info()

void info ( Ostream os)
virtual

Write surface film info to stream.

Reimplemented from SurfaceFilmModel< CloudType >.

Definition at line 674 of file ThermoSurfaceFilm.C.

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

Referenced by ThermoSurfaceFilm< CloudType >::clone().

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

Member Data Documentation

◆ interactionTypeNames_

Foam::wordList interactionTypeNames_
static

Word descriptions of interaction type names.

Definition at line 80 of file ThermoSurfaceFilm.H.

◆ rndGen_

Random& rndGen_
protected

Reference to the cloud random number generator.

Definition at line 100 of file ThermoSurfaceFilm.H.

◆ TFilmPatch_

scalarList TFilmPatch_
protected

Film temperature / patch face.

Definition at line 106 of file ThermoSurfaceFilm.H.

◆ CpFilmPatch_

scalarList CpFilmPatch_
protected

Film specific heat capacity / patch face.

Definition at line 109 of file ThermoSurfaceFilm.H.

◆ interactionType_

interactionType interactionType_
protected

Interaction type enumeration.

Definition at line 115 of file ThermoSurfaceFilm.H.

◆ deltaWet_

scalar deltaWet_
protected

Film thickness beyond which patch is assumed to be wet.

Definition at line 118 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 123 of file ThermoSurfaceFilm.H.

◆ parcelsPerSplash_

label parcelsPerSplash_
protected

Number of new parcels resulting from splash event.

Definition at line 126 of file ThermoSurfaceFilm.H.

◆ Adry_

scalar Adry_
protected

Dry surface roughness coefficient.

= 2630 for dry interaction (ref. Bai)

Definition at line 134 of file ThermoSurfaceFilm.H.

◆ Awet_

scalar Awet_
protected

Wet surface roughness coefficient.

= 1320 for wet interaction (ref. Bai)

Definition at line 138 of file ThermoSurfaceFilm.H.

◆ Cf_

scalar Cf_
protected

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

Definition at line 142 of file ThermoSurfaceFilm.H.

◆ nParcelsSplashed_

label nParcelsSplashed_
protected

Counter for number of new splash parcels.

Definition at line 145 of file ThermoSurfaceFilm.H.


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