ThermoSurfaceFilm< CloudType > Class Template Reference

Thermo parcel surface film model. More...

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

Public Member Functions

 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 ()=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...
 
virtual bool transferParcel (parcelType &p, const polyPatch &pp, bool &keepParticle)
 Transfer parcel from cloud to surface film. More...
 
virtual void info ()
 Write surface film info. More...
 
- Public Member Functions inherited from KinematicSurfaceFilm< CloudType >
 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 ~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...
 
- 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 ()=default
 Destructor. More...
 
const dimensionedVectorg () const noexcept
 Return gravitational acceleration constant. More...
 
label nParcelsTransferred () const noexcept
 The number of parcels transferred to the film model. More...
 
label & nParcelsTransferred () noexcept
 Non-const access to number of parcels transferred to the film model. More...
 
label nParcelsInjected () const noexcept
 The number of parcels injected from the film model. More...
 
label & nParcelsInjected () noexcept
 Non-const access to number of parcels injected from the film model. More...
 
scalar totalMassTransferred () const noexcept
 The total mass transferred. More...
 
scalar & totalMassTransferred () noexcept
 Non-const access to the total 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 labelUList &injectorCells, CloudTrackType &cloud)
 
template<class CloudTrackType >
void injectParticles (const UList< labelPair > &patchFaces, CloudTrackType &cloud)
 
- 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)
 Construct as copy. More...
 
virtual ~CloudSubModelBase ()=default
 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...
 
virtual fileName localPath () const
 Output directory. More...
 
CloudTypeowner ()
 Return non-const access to the owner cloud for manipulation. More...
 
virtual void write (Ostream &os) const
 Write to os. 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)
 Construct as copy. More...
 
virtual ~subModelBase ()=default
 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 bool active () const
 Return the model 'active' status - default active = true. More...
 
virtual void cacheFields (const bool store)
 Cache dependent sub-model fields. More...
 
template<class Type >
Type getBaseProperty (const word &entryName, const Type &defaultValue=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...
 
bool getModelDict (const word &entryName, dictionary &dict) const
 Retrieve dictionary, return true if set. More...
 
template<class Type >
bool 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=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...
 

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 KinematicSurfaceFilm< CloudType >
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
 
typedef regionModels::surfaceFilmModels::surfaceFilmRegionModel regionFilm
 

Protected Member Functions

virtual void cacheFilmFields (const label filmPatchi, const label primaryPatchi, const regionFilm &)
 Cache the film fields in preparation for injection. More...
 
virtual void cacheFilmFields (const areaFilm &)
 Cache the finite area 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 KinematicSurfaceFilm< CloudType >
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...
 
- Protected Member Functions inherited from SurfaceFilmModel< CloudType >
template<class TrackCloudType >
void injectParticles (const label primaryPatchi, const labelUList &injectorCells, TrackCloudType &cloud)
 Inject particles in cloud. More...
 
template<class TrackCloudType >
void injectParticles (const UList< labelPair > &patchFaces, TrackCloudType &cloud)
 Inject particles in cloud. More...
 
- Protected Member Functions inherited from subModelBase
bool inLine () const
 Flag to indicate whether data is/was read in-line. More...
 

Protected Attributes

const SLGThermothermo_
 Reference to the cloud thermo package. More...
 
scalarField TFilmPatch_
 Film temperature / patch face. More...
 
scalarField CpFilmPatch_
 Film specific heat capacity / patch face. More...
 
- Protected Attributes inherited from KinematicSurfaceFilm< CloudType >
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...
 
labelList parcelTypes_
 Particle type IDs that can interact with the film. 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 dMaxSplash_
 Maximum splash particle diameter for Chi-square distribution. More...
 
scalar dMinSplash_
 Minimum splash particle diameter for Chi-square distribution. 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 post-processing. If not specified, defaults to originating cloud type. 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...
 
- 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 KinematicSurfaceFilm< CloudType >
enum  interactionType { absorb, bounce, splashBai }
 Options for the interaction types. More...
 
- Public Types inherited from CloudSubModelBase< CloudType >
typedef CloudType cloudType
 Type of cloud this model was instantiated for. More...
 
- Static Public Member Functions inherited from SurfaceFilmModel< CloudType >
static autoPtr< SurfaceFilmModel< CloudType > > New (const dictionary &dict, CloudType &owner)
 Selector. More...
 
- Public Attributes inherited from subModelBase
bool log
 Flag to write log into Info. More...
 
- Static Public Attributes inherited from KinematicSurfaceFilm< CloudType >
static const Enum< interactionTypeinteractionTypeNames
 Names for interactionType. More...
 

Detailed Description

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

Thermo parcel surface film model.

Source files

Definition at line 53 of file ThermoSurfaceFilm.H.

Member Typedef Documentation

◆ parcelType

typedef CloudType::parcelType parcelType
protected

Convenience typedef to the cloud's parcel type.

Definition at line 64 of file ThermoSurfaceFilm.H.

◆ areaFilm

◆ regionFilm

Constructor & Destructor Documentation

◆ ThermoSurfaceFilm() [1/2]

ThermoSurfaceFilm ( const dictionary dict,
CloudType owner 
)

Construct from components.

Definition at line 28 of file ThermoSurfaceFilm.C.

◆ ThermoSurfaceFilm() [2/2]

Construct copy.

Definition at line 45 of file ThermoSurfaceFilm.C.

◆ ~ThermoSurfaceFilm()

virtual ~ThermoSurfaceFilm ( )
virtualdefault

Destructor.

Member Function Documentation

◆ cacheFilmFields() [1/2]

void cacheFilmFields ( const label  filmPatchi,
const label  primaryPatchi,
const regionFilm filmModel 
)
protectedvirtual

Cache the film fields in preparation for injection.

Reimplemented from KinematicSurfaceFilm< CloudType >.

Definition at line 265 of file ThermoSurfaceFilm.C.

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

Here is the call graph for this function:

◆ cacheFilmFields() [2/2]

void cacheFilmFields ( const areaFilm film)
protectedvirtual

Cache the finite area film fields in preparation for injection.

Reimplemented from KinematicSurfaceFilm< CloudType >.

Definition at line 288 of file ThermoSurfaceFilm.C.

References liquidFilmBase::Cp(), GeometricField< Type, PatchField, GeoMesh >::primitiveField(), and liquidFilmBase::Tf().

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

Definition at line 304 of file ThermoSurfaceFilm.C.

References p.

◆ TypeName()

TypeName ( "thermoSurfaceFilm"  )

Runtime type information.

◆ clone()

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

Construct and return a clone using supplied owner cloud.

Reimplemented from KinematicSurfaceFilm< CloudType >.

Definition at line 148 of file ThermoSurfaceFilm.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 61 of file ThermoSurfaceFilm.C.

References DebugInfo, Foam::endl(), Foam::mag(), p, pp(), and Urel.

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

Reimplemented from KinematicSurfaceFilm< CloudType >.

Definition at line 107 of file ThermoSurfaceFilm.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::constant::physicoChemical::mu, liquidProperties::mu(), p, pp(), sigma(), and liquidProperties::sigma().

Here is the call graph for this function:

◆ info()

void info ( )
virtual

Write surface film info.

Reimplemented from KinematicSurfaceFilm< CloudType >.

Definition at line 318 of file ThermoSurfaceFilm.C.

Member Data Documentation

◆ thermo_

const SLGThermo& thermo_
protected

Reference to the cloud thermo package.

Definition at line 80 of file ThermoSurfaceFilm.H.

◆ TFilmPatch_

scalarField TFilmPatch_
protected

Film temperature / patch face.

Definition at line 88 of file ThermoSurfaceFilm.H.

◆ CpFilmPatch_

scalarField CpFilmPatch_
protected

Film specific heat capacity / patch face.

Definition at line 93 of file ThermoSurfaceFilm.H.


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