CloudFilmTransfer< CloudType > Class Template Reference

Thermo parcel<->film transfer model. More...

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

Public Member Functions

 TypeName ("cloudFilmTransfer")
 Runtime type information. More...
 
 CloudFilmTransfer (const dictionary &dict, CloudType &owner)
 Construct from components. More...
 
 CloudFilmTransfer (const CloudFilmTransfer< CloudType > &sfm)
 Construct copy. More...
 
virtual autoPtr< SurfaceFilmModel< CloudType > > clone () const
 Construct and return a clone using supplied owner cloud. More...
 
virtual ~CloudFilmTransfer ()
 Destructor. More...
 
virtual bool transferParcel (parcelType &p, const polyPatch &pp, bool &keepParticle)
 Transfer parcel from cloud to film. More...
 
virtual void info (Ostream &os)
 Write film info to stream. More...
 
- Public Member Functions inherited from SurfaceFilmModel< CloudType >
 TypeName ("surfaceFilm")
 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...
 

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 (fv::filmCloudTransfer &, 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 (fv::filmCloudTransfer &, const parcelType &p, const polyPatch &pp, const label facei, bool &keepParticle)
 Parcel interaction with dry surface. More...
 
void wetSplashInteraction (fv::filmCloudTransfer &, parcelType &p, const polyPatch &pp, const label facei, bool &keepParticle)
 Parcel interaction with wetted surface. More...
 
void splashInteraction (fv::filmCloudTransfer &, 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 const labelListfilmPatches () const
 Return pointers to the films. More...
 
virtual void cacheFilmFields (const label filmi)
 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

randomGeneratorrndGen_
 Reference to the cloud random number generator. More...
 
UPtrList< fv::filmCloudTransferfilmTransfers_
 Pointers to the films. More...
 
labelList filmPatches_
 List of film patches. More...
 
vectorField UFilmPatch_
 Film velocity / patch face. More...
 
scalarField rhoFilmPatch_
 Film density / patch face. More...
 
scalarField TFilmPatch_
 Film temperature / patch face. More...
 
scalarField 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...
 
scalarField massParcelPatch_
 Parcel mass / patch face. More...
 
scalarField diameterParcelPatch_
 Parcel diameter / patch face. More...
 
scalarField 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

- Public Types inherited from CloudSubModelBase< CloudType >
typedef CloudType cloudType
 Type of cloud this model was instantiated for. More...
 
- Public Types inherited from CloudFilmTransferBase
enum class  interactionType { absorb , bounce , splashBai }
 Interaction types. More...
 
- Static Public Member Functions inherited from SurfaceFilmModel< CloudType >
static autoPtr< SurfaceFilmModel< CloudType > > New (const dictionary &dict, CloudType &owner)
 Selector. More...
 
- Static Public Attributes inherited from CloudFilmTransferBase
static const NamedEnum< interactionType, 3 > interactionTypeNames_
 Interaction type names. More...
 

Detailed Description

template<class CloudType>
class Foam::CloudFilmTransfer< CloudType >

Thermo parcel<->film transfer 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

References:

    Bai, C., & Gosman, A. D. (1996).
    Mathematical modelling of wall films formed by impinging sprays.
    SAE transactions, 782-796.

    Bai, C. X., Rusche, H., & Gosman, A. D. (2002).
    Modeling of gasoline spray impingement.
    Atomization and Sprays, 12(1-3).
Source files

Definition at line 94 of file CloudFilmTransfer.H.

Member Typedef Documentation

◆ parcelType

typedef CloudType::parcelType parcelType
protected

Convenience typedef to the cloud's parcel type.

Definition at line 110 of file CloudFilmTransfer.H.

Constructor & Destructor Documentation

◆ CloudFilmTransfer() [1/2]

◆ CloudFilmTransfer() [2/2]

Construct copy.

Definition at line 603 of file CloudFilmTransfer.C.

◆ ~CloudFilmTransfer()

Destructor.

Definition at line 628 of file CloudFilmTransfer.C.

Member Function Documentation

◆ splashDirection()

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

Return splashed parcel direction.

Definition at line 39 of file CloudFilmTransfer.C.

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

Here is the call graph for this function:

◆ absorbInteraction()

void absorbInteraction ( fv::filmCloudTransfer filmCloudTransfer,
const parcelType p,
const polyPatch pp,
const label  facei,
const scalar  mass,
bool &  keepParticle 
)
protected

Absorb parcel into film.

Definition at line 64 of file CloudFilmTransfer.C.

References Foam::endl(), liquidProperties::hs(), patchIdentifier::index(), Foam::Info, p, fluidThermo::p(), filmCloudTransfer::parcelFromCloud(), and thermo.

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 112 of file CloudFilmTransfer.C.

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

Here is the call graph for this function:

◆ drySplashInteraction()

void drySplashInteraction ( fv::filmCloudTransfer filmCloudTransfer,
const parcelType p,
const polyPatch pp,
const label  facei,
bool &  keepParticle 
)
protected

◆ wetSplashInteraction()

void wetSplashInteraction ( fv::filmCloudTransfer filmCloudTransfer,
parcelType p,
const polyPatch pp,
const label  facei,
bool &  keepParticle 
)
protected

◆ splashInteraction()

void splashInteraction ( fv::filmCloudTransfer filmCloudTransfer,
const parcelType p,
const polyPatch pp,
const label  facei,
const scalar  mRatio,
const scalar  We,
const scalar  Wec,
const scalar  sigma,
bool &  keepParticle 
)
protected

◆ filmPatches()

const Foam::labelList & filmPatches
protectedvirtual

Return pointers to the films.

Implements SurfaceFilmModel< CloudType >.

Definition at line 496 of file CloudFilmTransfer.C.

◆ cacheFilmFields()

◆ setParcelProperties()

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

Set the individual parcel properties.

Implements SurfaceFilmModel< CloudType >.

Definition at line 532 of file CloudFilmTransfer.C.

References p, Foam::constant::mathematical::pi(), and Foam::pow3().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "cloudFilmTransfer"  )

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 272 of file CloudFilmTransfer.H.

◆ transferParcel()

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

Transfer parcel from cloud to film.

Returns true if parcel is to be transferred

Implements SurfaceFilmModel< CloudType >.

Definition at line 635 of file CloudFilmTransfer.C.

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

Here is the call graph for this function:

◆ info()

void info ( Ostream os)
virtual

Write film info to stream.

Reimplemented from SurfaceFilmModel< CloudType >.

Definition at line 718 of file CloudFilmTransfer.C.

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

Here is the call graph for this function:

Member Data Documentation

◆ rndGen_

randomGenerator& rndGen_
protected

Reference to the cloud random number generator.

Definition at line 113 of file CloudFilmTransfer.H.

◆ filmTransfers_

UPtrList<fv::filmCloudTransfer> filmTransfers_
mutableprotected

Pointers to the films.

Definition at line 119 of file CloudFilmTransfer.H.

◆ filmPatches_

labelList filmPatches_
mutableprotected

List of film patches.

Definition at line 122 of file CloudFilmTransfer.H.

◆ UFilmPatch_

vectorField UFilmPatch_
protected

Film velocity / patch face.

Definition at line 128 of file CloudFilmTransfer.H.

◆ rhoFilmPatch_

scalarField rhoFilmPatch_
protected

Film density / patch face.

Definition at line 131 of file CloudFilmTransfer.H.

◆ TFilmPatch_

scalarField TFilmPatch_
protected

Film temperature / patch face.

Definition at line 134 of file CloudFilmTransfer.H.

◆ CpFilmPatch_

scalarField CpFilmPatch_
protected

Film specific heat capacity / patch face.

Definition at line 137 of file CloudFilmTransfer.H.

◆ interactionType_

interactionType interactionType_
protected

Interaction type enumeration.

Definition at line 143 of file CloudFilmTransfer.H.

Referenced by CloudFilmTransfer< CloudType >::CloudFilmTransfer().

◆ deltaWet_

scalar deltaWet_
protected

Film thickness beyond which patch is assumed to be wet.

Definition at line 146 of file CloudFilmTransfer.H.

Referenced by CloudFilmTransfer< CloudType >::CloudFilmTransfer().

◆ 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 151 of file CloudFilmTransfer.H.

Referenced by CloudFilmTransfer< CloudType >::CloudFilmTransfer().

◆ parcelsPerSplash_

label parcelsPerSplash_
protected

Number of new parcels resulting from splash event.

Definition at line 154 of file CloudFilmTransfer.H.

Referenced by CloudFilmTransfer< CloudType >::CloudFilmTransfer().

◆ Adry_

scalar Adry_
protected

Dry surface roughness coefficient.

= 2630 for dry interaction (ref. Bai)

Definition at line 162 of file CloudFilmTransfer.H.

Referenced by CloudFilmTransfer< CloudType >::CloudFilmTransfer().

◆ Awet_

scalar Awet_
protected

Wet surface roughness coefficient.

= 1320 for wet interaction (ref. Bai)

Definition at line 166 of file CloudFilmTransfer.H.

Referenced by CloudFilmTransfer< CloudType >::CloudFilmTransfer().

◆ Cf_

scalar Cf_
protected

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

Definition at line 170 of file CloudFilmTransfer.H.

Referenced by CloudFilmTransfer< CloudType >::CloudFilmTransfer().

◆ nParcelsSplashed_

label nParcelsSplashed_
protected

Counter for number of new splash parcels.

Definition at line 173 of file CloudFilmTransfer.H.


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