KinematicSurfaceFilm< CloudType > Class Template Reference

Kinematic parcel surface film model. More...

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

Public Types

enum  interactionType { itAbsorb, itBounce, itSplashBai }
 Options for the interaction types. More...
 

Public Member Functions

interactionType interactionTypeEnum (const word &it) const
 Return interaction type enum from word. More...
 
word interactionTypeStr (const interactionType &it) const
 Return word from interaction type enum. More...
 
 TypeName ("kinematicSurfaceFilm")
 Runtime type information. More...
 
 KinematicSurfaceFilm (const dictionary &dict, CloudType &owner, const word &type=typeName, bool initThermo=true)
 Construct from components. More...
 
 KinematicSurfaceFilm (const KinematicSurfaceFilm< CloudType > &sfm, bool initThermo=true)
 Construct copy. More...
 
virtual autoPtr< SurfaceFilmModel< CloudType > > clone () const
 Construct and return a clone using supplied owner cloud. More...
 
virtual ~KinematicSurfaceFilm ()=default
 Destructor. More...
 
template<class filmType >
void absorbInteraction (filmType &, 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...
 
template<class filmType >
void drySplashInteraction (filmType &, const scalar sigma, const scalar mu, const parcelType &p, const polyPatch &pp, const label facei, bool &keepParticle)
 Parcel interaction with dry surface. More...
 
template<class filmType >
void wetSplashInteraction (filmType &, const scalar sigma, const scalar mu, parcelType &p, const polyPatch &pp, const label facei, bool &keepParticle)
 Parcel interaction with wetted surface. More...
 
template<class filmType >
void splashInteraction (filmType &, 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 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...
 
scalar & totalMassTransferred ()
 Return non-const total mass transferred. More...
 
scalar totalMassTransferred () const
 Return consr access to mass transferred. More...
 
template<class TrackCloudType >
void inject (TrackCloudType &cloud)
 Inject parcels into the cloud. More...
 
template<class CloudTrackType >
void injectParticles (const label primaryPatchi, const labelList &injectorCellsPatch, CloudTrackType &cloud)
 

Static Public Attributes

static wordList interactionTypeNames_
 Names for interactionType. More...
 

Protected Types

typedef CloudType::parcelType parcelType
 Convenience typedef to the cloud's parcel type. More...
 
typedef regionModels::areaSurfaceFilmModels::liquidFilmBase areaFilm
 
typedef regionModels::surfaceFilmModels::surfaceFilmRegionModel regionFilm
 
- Protected Types inherited from SurfaceFilmModel< CloudType >
typedef CloudType::parcelType parcelType
 Convenience typedef to the cloud's parcel type. More...
 
typedef regionModels::areaSurfaceFilmModels::liquidFilmBase areaFilm
 

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 init (bool binitThermo)
 Initialise thermo. More...
 
void initFilmModels ()
 Initialise pointers of films. More...
 
virtual void cacheFilmFields (const label primaryPatchi, const areaFilm &)
 Cache the film fields in preparation for injection. More...
 
virtual void cacheFilmFields (const label filmPatchi, const label primaryPatchi, const regionModels::surfaceFilmModels::surfaceFilmRegionModel &)
 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 SurfaceFilmModel< CloudType >
template<class TrackCloudType >
void injectParticles (const label primaryPatchi, const labelList &injectorCellsPatch, TrackCloudType &cloud)
 Inject particles in cloud. More...
 

Protected Attributes

RandomrndGen_
 Reference to the cloud random number generator. More...
 
liquidMixturePropertiesthermo_
 Region Film liquid thermo. More...
 
scalar pRef_
 Region Film reference pressure. More...
 
scalar TRef_
 Region Film reference temperature. More...
 
regionFilmfilmModel_
 Pointer to filmModel. More...
 
UPtrList< areaFilmareaFilms_
 UPointers to area films. 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...
 
scalar injectionOffset_
 Injection offset position. More...
 
scalar minDiameter_
 Minimum diameter particle injection. More...
 
scalarField massParcelPatch_
 Parcel mass / patch face. More...
 
scalarField diameterParcelPatch_
 Parcel diameter / patch face. More...
 
Field< vectorUFilmPatch_
 Film velocity / patch face. More...
 
scalarField rhoFilmPatch_
 Film density / patch face. More...
 
Field< scalarFielddeltaFilmPatch_
 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...
 
scalar totalMassTransferred_
 Total mass transferred to the film. 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::KinematicSurfaceFilm< CloudType >

Kinematic 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
Source files

Definition at line 78 of file KinematicSurfaceFilm.H.

Member Typedef Documentation

◆ parcelType

typedef CloudType::parcelType parcelType
protected

Convenience typedef to the cloud's parcel type.

Definition at line 112 of file KinematicSurfaceFilm.H.

◆ areaFilm

◆ regionFilm

Member Enumeration Documentation

◆ interactionType

Options for the interaction types.

Enumerator
itAbsorb 
itBounce 
itSplashBai 

Definition at line 87 of file KinematicSurfaceFilm.H.

Constructor & Destructor Documentation

◆ KinematicSurfaceFilm() [1/2]

KinematicSurfaceFilm ( const dictionary dict,
CloudType owner,
const word type = typeName,
bool  initThermo = true 
)

Construct from components.

Definition at line 544 of file KinematicSurfaceFilm.C.

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

Here is the call graph for this function:

◆ KinematicSurfaceFilm() [2/2]

KinematicSurfaceFilm ( const KinematicSurfaceFilm< CloudType > &  sfm,
bool  initThermo = true 
)

Construct copy.

Definition at line 588 of file KinematicSurfaceFilm.C.

References init().

Here is the call graph for this function:

◆ ~KinematicSurfaceFilm()

virtual ~KinematicSurfaceFilm ( )
virtualdefault

Destructor.

Member Function Documentation

◆ interactionTypeEnum()

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

Return interaction type enum from word.

Definition at line 50 of file KinematicSurfaceFilm.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

Return word from interaction type enum.

Definition at line 71 of file KinematicSurfaceFilm.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 89 of file KinematicSurfaceFilm.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 109 of file KinematicSurfaceFilm.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:

◆ init()

void init ( bool  binitThermo)
protected

Initialise thermo.

Definition at line 180 of file KinematicSurfaceFilm.C.

◆ initFilmModels()

void initFilmModels ( )
protected

Initialise pointers of films.

Definition at line 133 of file KinematicSurfaceFilm.C.

References forAll, mesh, Foam::PtrListOps::names(), and fvMesh::time().

Here is the call graph for this function:

◆ cacheFilmFields() [1/2]

void cacheFilmFields ( const label  primaryPatchi,
const areaFilm filmModel 
)
protectedvirtual

Cache the film fields in preparation for injection.

Reimplemented from SurfaceFilmModel< CloudType >.

Reimplemented in ThermoSurfaceFilm< CloudType >.

Definition at line 780 of file KinematicSurfaceFilm.C.

References SurfaceFilmModel< CloudType >::cacheFilmFields().

Here is the call graph for this function:

◆ cacheFilmFields() [2/2]

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

Reimplemented in ThermoSurfaceFilm< CloudType >.

Definition at line 763 of file KinematicSurfaceFilm.C.

References SurfaceFilmModel< CloudType >::cacheFilmFields().

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

Reimplemented in ThermoSurfaceFilm< CloudType >.

Definition at line 795 of file KinematicSurfaceFilm.C.

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

Here is the call graph for this function:

◆ TypeName()

TypeName ( "kinematicSurfaceFilm"  )

Runtime type information.

◆ clone()

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

Construct and return a clone using supplied owner cloud.

Implements SurfaceFilmModel< CloudType >.

Reimplemented in ThermoSurfaceFilm< CloudType >.

Definition at line 251 of file KinematicSurfaceFilm.H.

◆ absorbInteraction()

void absorbInteraction ( filmType &  film,
const parcelType p,
const polyPatch pp,
const label  facei,
const scalar  mass,
bool keepParticle 
)

Absorb parcel into film.

Definition at line 194 of file KinematicSurfaceFilm.C.

References 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

Bounce parcel (flip parcel normal velocity)

Definition at line 243 of file KinematicSurfaceFilm.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 ( filmType &  filmModel,
const scalar  sigma,
const scalar  mu,
const parcelType p,
const polyPatch pp,
const label  facei,
bool keepParticle 
)

Parcel interaction with dry surface.

Definition at line 274 of file KinematicSurfaceFilm.C.

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

Here is the call graph for this function:

◆ wetSplashInteraction()

void wetSplashInteraction ( filmType &  filmModel,
const scalar  sigma,
const scalar  mu,
parcelType p,
const polyPatch pp,
const label  facei,
bool keepParticle 
)

Parcel interaction with wetted surface.

Definition at line 330 of file KinematicSurfaceFilm.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, p, Foam::constant::mathematical::piByTwo(), Foam::pow(), rho, sigma(), Foam::sqr(), U, and Urel.

Here is the call graph for this function:

◆ splashInteraction()

void splashInteraction ( filmType &  filmModel,
const parcelType p,
const polyPatch pp,
const label  facei,
const scalar  mRatio,
const scalar  We,
const scalar  Wec,
const scalar  sigma,
bool keepParticle 
)

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

Reimplemented in ThermoSurfaceFilm< CloudType >.

Definition at line 618 of file KinematicSurfaceFilm.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, patchIdentifier::index(), Foam::constant::physicoChemical::mu, liquidMixtureProperties::mu(), p, Foam::refCast(), sigma(), liquidMixtureProperties::sigma(), liquidMixtureProperties::size(), liquidFilmModel::thermo(), TRef(), liquidFilmModel::Tref(), 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 >.

Reimplemented in ThermoSurfaceFilm< CloudType >.

Definition at line 805 of file KinematicSurfaceFilm.C.

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

Here is the call graph for this function:

Member Data Documentation

◆ interactionTypeNames_

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

Names for interactionType.

Definition at line 95 of file KinematicSurfaceFilm.H.

◆ rndGen_

Random& rndGen_
protected

Reference to the cloud random number generator.

Definition at line 121 of file KinematicSurfaceFilm.H.

◆ thermo_

liquidMixtureProperties* thermo_
protected

Region Film liquid thermo.

Definition at line 127 of file KinematicSurfaceFilm.H.

◆ pRef_

scalar pRef_
protected

Region Film reference pressure.

Definition at line 130 of file KinematicSurfaceFilm.H.

◆ TRef_

scalar TRef_
protected

Region Film reference temperature.

Definition at line 133 of file KinematicSurfaceFilm.H.

◆ filmModel_

regionFilm* filmModel_
protected

Pointer to filmModel.

Definition at line 136 of file KinematicSurfaceFilm.H.

◆ areaFilms_

UPtrList<areaFilm> areaFilms_
protected

UPointers to area films.

Definition at line 142 of file KinematicSurfaceFilm.H.

◆ interactionType_

interactionType interactionType_
protected

Interaction type enumeration.

Definition at line 148 of file KinematicSurfaceFilm.H.

◆ deltaWet_

scalar deltaWet_
protected

Film thickness beyond which patch is assumed to be wet.

Definition at line 151 of file KinematicSurfaceFilm.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 156 of file KinematicSurfaceFilm.H.

◆ parcelsPerSplash_

label parcelsPerSplash_
protected

Number of new parcels resulting from splash event.

Definition at line 159 of file KinematicSurfaceFilm.H.

◆ Adry_

scalar Adry_
protected

Dry surface roughness coefficient.

= 2630 for dry interaction (ref. Bai)

Definition at line 167 of file KinematicSurfaceFilm.H.

◆ Awet_

scalar Awet_
protected

Wet surface roughness coefficient.

= 1320 for wet interaction (ref. Bai)

Definition at line 171 of file KinematicSurfaceFilm.H.

◆ Cf_

scalar Cf_
protected

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

Definition at line 175 of file KinematicSurfaceFilm.H.

◆ nParcelsSplashed_

label nParcelsSplashed_
protected

Counter for number of new splash parcels.

Definition at line 178 of file KinematicSurfaceFilm.H.


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