Loading...
Searching...
No Matches
SurfaceFilmModel< CloudType > Class Template Referenceabstract

Templated wall surface film model class. More...

#include <SurfaceFilmModel.H>

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

Public Member Functions

 TypeName ("surfaceFilmModel")
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, SurfaceFilmModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
 Declare runtime constructor selection table.
 SurfaceFilmModel (CloudType &owner)
 Construct null from owner.
 SurfaceFilmModel (const dictionary &dict, CloudType &owner, const word &type)
 Construct from components.
 SurfaceFilmModel (const SurfaceFilmModel< CloudType > &sfm)
 Construct copy.
virtual autoPtr< SurfaceFilmModel< CloudType > > clone () const =0
 Construct and return a clone.
virtual ~SurfaceFilmModel ()=default
 Destructor.
const dimensionedVectorg () const noexcept
 Return gravitational acceleration constant.
label nParcelsTransferred () const noexcept
 The number of parcels transferred to the film model.
label & nParcelsTransferred () noexcept
 Non-const access to number of parcels transferred to the film model.
label nParcelsInjected () const noexcept
 The number of parcels injected from the film model.
label & nParcelsInjected () noexcept
 Non-const access to number of parcels injected from the film model.
scalar totalMassTransferred () const noexcept
 The total mass transferred.
scalar & totalMassTransferred () noexcept
 Non-const access to the total mass transferred.
virtual bool transferParcel (parcelType &p, const polyPatch &pp, bool &keepParticle)=0
 Transfer parcel from cloud to surface film.
template<class TrackCloudType>
void inject (TrackCloudType &cloud)
 Inject parcels into the cloud.
virtual void info ()
 Write surface film info.
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.
 CloudSubModelBase (CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from owner cloud without name.
 CloudSubModelBase (const word &modelName, CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from owner cloud with name.
 CloudSubModelBase (const CloudSubModelBase< CloudType > &smb)
 Construct as copy.
virtual ~CloudSubModelBase ()=default
 Destructor.
const CloudTypeowner () const
 Return const access to the owner cloud.
virtual bool writeTime () const
 Flag to indicate when to write a property.
virtual fileName localPath () const
 Output directory.
CloudTypeowner ()
 Return non-const access to the owner cloud for manipulation.
virtual void write (Ostream &os) const
 Write to os.
Public Member Functions inherited from subModelBase
 subModelBase (dictionary &properties)
 Construct null.
 subModelBase (dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from components without name.
 subModelBase (const word &modelName, dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from components with name.
 subModelBase (const subModelBase &smb)
 Construct as copy.
virtual ~subModelBase ()=default
 Destructor.
const wordmodelName () const
 Return const access to the name of the sub-model.
const dictionarydict () const
 Return const access to the cloud dictionary.
const wordbaseName () const
 Return const access to the base name of the sub-model.
const wordmodelType () const
 Return const access to the sub-model type.
const dictionarycoeffDict () const
 Return const access to the coefficients dictionary.
const dictionaryproperties () const
 Return const access to the properties dictionary.
virtual bool defaultCoeffs (const bool printMsg) const
 Returns true if defaultCoeffs is true and outputs on printMsg.
virtual bool active () const
 Return the model 'active' status - default active = true.
virtual void cacheFields (const bool store)
 Cache dependent sub-model fields.
template<class Type>
Type getBaseProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve generic property from the base model.
template<class Type>
void getBaseProperty (const word &entryName, Type &value) const
 Retrieve generic property from the base model.
template<class Type>
void setBaseProperty (const word &entryName, const Type &value)
 Add generic property to the base model.
bool getModelDict (const word &entryName, dictionary &dict) const
 Retrieve dictionary, return true if set.
template<class Type>
bool getModelProperty (const word &entryName, Type &value) const
 Retrieve generic property from the sub-model.
template<class Type>
Type getModelProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve generic property from the sub-model.
template<class Type>
void setModelProperty (const word &entryName, const Type &value)
 Add generic property to the sub-model.

Static Public Member Functions

static autoPtr< SurfaceFilmModel< CloudType > > New (const dictionary &dict, CloudType &owner)
 Selector.
static UPtrList< const areaFilmcsorted_areaFilms (const polyMesh &)
 Registry.
static UPtrList< areaFilmsorted_areaFilms (const polyMesh &)
 Return a sorted list of area-film objects that are registered on the faMeshesRegistry.

Protected Types

typedef CloudType::parcelType parcelType
 Convenience typedef to the cloud's parcel type.
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.
virtual void cacheFilmFields (const areaFilm &film)
 Cache the finite area film fields in preparation for injection.
template<class TrackCloudType>
void injectParticles (const label primaryPatchi, const labelUList &injectorCells, TrackCloudType &cloud)
 Inject particles in cloud.
template<class TrackCloudType>
void injectParticles (const UList< labelPair > &patchFaces, TrackCloudType &cloud)
 Inject particles in cloud.
virtual void setParcelProperties (parcelType &p, const label filmFacei) const
 Set the individual parcel properties.
Protected Member Functions inherited from subModelBase
bool inLine () const
 Flag to indicate whether data is/was read in-line.

Protected Attributes

const dimensionedVectorg_
 Gravitational acceleration constant.
label ejectedParcelType_
 Ejected parcel type label - id assigned to identify parcel for post-processing. If not specified, defaults to originating cloud type.
scalar injectionOffset_
 Injection offset position.
scalar minDiameter_
 Minimum diameter particle injection.
scalarField massParcelPatch_
 Parcel mass / patch face.
scalarField diameterParcelPatch_
 Parcel diameter / patch face.
Field< vectorUFilmPatch_
 Film velocity / patch face.
scalarField rhoFilmPatch_
 Film density / patch face.
Field< scalarFielddeltaFilmPatch_
 Film height of all film patches / patch face.
label nParcelsTransferred_
 Number of parcels transferred to the film model.
label nParcelsInjected_
 Number of parcels injected from the film model.
scalar totalMassTransferred_
 Total mass transferred to the film.
Protected Attributes inherited from CloudSubModelBase< CloudType >
CloudTypeowner_
 Reference to the cloud.
Protected Attributes inherited from subModelBase
const word modelName_
 Name of the sub-model.
dictionaryproperties_
 Reference to properties dictionary e.g. for restart.
const dictionary dict_
 Copy of dictionary used during construction.
const word baseName_
 Name of the sub-model base class.
const word modelType_
 Type of the sub-model.
const dictionary coeffDict_
 Coefficients dictionary.

Additional Inherited Members

Public Types inherited from CloudSubModelBase< CloudType >
typedef CloudType cloudType
 Type of cloud this model was instantiated for.
Public Attributes inherited from subModelBase
bool log
 Flag to write log into Info.

Detailed Description

template<class CloudType>
class Foam::SurfaceFilmModel< CloudType >

Templated wall surface film model class.

Source files

Definition at line 73 of file SurfaceFilmModel.H.

Member Typedef Documentation

◆ parcelType

template<class CloudType>
typedef CloudType::parcelType parcelType
protected

Convenience typedef to the cloud's parcel type.

Definition at line 84 of file SurfaceFilmModel.H.

◆ areaFilm

Definition at line 88 of file SurfaceFilmModel.H.

◆ regionFilm

Definition at line 92 of file SurfaceFilmModel.H.

Constructor & Destructor Documentation

◆ SurfaceFilmModel() [1/3]

◆ SurfaceFilmModel() [2/3]

◆ SurfaceFilmModel() [3/3]

template<class CloudType>
SurfaceFilmModel ( const SurfaceFilmModel< CloudType > & sfm)

◆ ~SurfaceFilmModel()

template<class CloudType>
virtual ~SurfaceFilmModel ( )
virtualdefault

Member Function Documentation

◆ cacheFilmFields() [1/2]

template<class CloudType>
void cacheFilmFields ( const label filmPatchi,
const label primaryPatchi,
const regionFilm & filmModel )
protectedvirtual

Cache the film fields in preparation for injection.

Reimplemented in KinematicSurfaceFilm< CloudType >, and ThermoSurfaceFilm< CloudType >.

Definition at line 364 of file SurfaceFilmModel.C.

Referenced by KinematicSurfaceFilm< CloudType >::cacheFilmFields(), KinematicSurfaceFilm< CloudType >::cacheFilmFields(), and inject().

Here is the caller graph for this function:

◆ cacheFilmFields() [2/2]

◆ injectParticles() [1/4]

template<class CloudType>
template<class TrackCloudType>
void injectParticles ( const label primaryPatchi,
const labelUList & injectorCells,
TrackCloudType & cloud )
protected

Inject particles in cloud.

Referenced by inject().

Here is the caller graph for this function:

◆ injectParticles() [2/4]

template<class CloudType>
template<class TrackCloudType>
void injectParticles ( const UList< labelPair > & patchFaces,
TrackCloudType & cloud )
protected

Inject particles in cloud.

References p.

◆ setParcelProperties()

template<class CloudType>
void setParcelProperties ( parcelType & p,
const label filmFacei ) const
protectedvirtual

Set the individual parcel properties.

Reimplemented in KinematicSurfaceFilm< CloudType >, NoSurfaceFilm< CloudType >, and ThermoSurfaceFilm< CloudType >.

Definition at line 443 of file SurfaceFilmModel.C.

References diameterParcelPatch_, ejectedParcelType_, massParcelPatch_, minDiameter_, p, Foam::constant::mathematical::pi(), Foam::pow3(), rhoFilmPatch_, and UFilmPatch_.

Referenced by KinematicSurfaceFilm< CloudType >::setParcelProperties().

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

◆ TypeName()

template<class CloudType>
TypeName ( "surfaceFilmModel" )

Runtime type information.

◆ declareRunTimeSelectionTable()

template<class CloudType>
declareRunTimeSelectionTable ( autoPtr ,
SurfaceFilmModel< CloudType > ,
dictionary ,
(const dictionary &dict, CloudType &owner) ,
(dict, owner)  )

Declare runtime constructor selection table.

References subModelBase::dict(), CloudSubModelBase< CloudType >::owner(), and SurfaceFilmModel().

Here is the call graph for this function:

◆ clone()

template<class CloudType>
virtual autoPtr< SurfaceFilmModel< CloudType > > clone ( ) const
pure virtual

◆ New()

template<class CloudType>
Foam::autoPtr< Foam::SurfaceFilmModel< CloudType > > New ( const dictionary & dict,
CloudType & owner )
static

◆ g()

template<class CloudType>
const Foam::dimensionedVector & g ( ) const
inlinenoexcept

Return gravitational acceleration constant.

Definition at line 26 of file SurfaceFilmModelI.H.

References g_, and Foam::noexcept.

Referenced by SurfaceFilmModel(), and SurfaceFilmModel().

Here is the caller graph for this function:

◆ nParcelsTransferred() [1/2]

template<class CloudType>
Foam::label nParcelsTransferred ( ) const
inlinenoexcept

The number of parcels transferred to the film model.

Definition at line 34 of file SurfaceFilmModelI.H.

References Foam::noexcept, and nParcelsTransferred_.

Referenced by KinematicSurfaceFilm< CloudType >::absorbInteraction(), ThermoSurfaceFilm< CloudType >::absorbInteraction(), and ~SurfaceFilmModel().

Here is the caller graph for this function:

◆ nParcelsTransferred() [2/2]

template<class CloudType>
Foam::label & nParcelsTransferred ( )
inlinenoexcept

Non-const access to number of parcels transferred to the film model.

Definition at line 41 of file SurfaceFilmModelI.H.

References Foam::noexcept, and nParcelsTransferred_.

◆ nParcelsInjected() [1/2]

template<class CloudType>
Foam::label nParcelsInjected ( ) const
inlinenoexcept

The number of parcels injected from the film model.

Definition at line 49 of file SurfaceFilmModelI.H.

References Foam::noexcept, and nParcelsInjected_.

Referenced by ~SurfaceFilmModel().

Here is the caller graph for this function:

◆ nParcelsInjected() [2/2]

template<class CloudType>
Foam::label & nParcelsInjected ( )
inlinenoexcept

Non-const access to number of parcels injected from the film model.

Definition at line 57 of file SurfaceFilmModelI.H.

References Foam::noexcept, and nParcelsInjected_.

◆ totalMassTransferred() [1/2]

template<class CloudType>
Foam::scalar totalMassTransferred ( ) const
inlinenoexcept

The total mass transferred.

Definition at line 65 of file SurfaceFilmModelI.H.

References Foam::noexcept, and totalMassTransferred_.

Referenced by KinematicSurfaceFilm< CloudType >::absorbInteraction(), ThermoSurfaceFilm< CloudType >::absorbInteraction(), and ~SurfaceFilmModel().

Here is the caller graph for this function:

◆ totalMassTransferred() [2/2]

template<class CloudType>
Foam::scalar & totalMassTransferred ( )
inlinenoexcept

Non-const access to the total mass transferred.

Definition at line 73 of file SurfaceFilmModelI.H.

References Foam::noexcept, and totalMassTransferred_.

◆ csorted_areaFilms()

template<class CloudType>
Foam::UPtrList< const Foam::regionModels::areaSurfaceFilmModels::liquidFilmBase > csorted_areaFilms ( const polyMesh & mesh)
static

Registry.

Return a sorted list of area-film objects that are registered on the faMeshesRegistry

Definition at line 37 of file SurfaceFilmModel.C.

References mesh, and faMesh::registry().

Referenced by ~SurfaceFilmModel().

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

◆ sorted_areaFilms()

template<class CloudType>
Foam::UPtrList< Foam::regionModels::areaSurfaceFilmModels::liquidFilmBase > sorted_areaFilms ( const polyMesh & mesh)
static

Return a sorted list of area-film objects that are registered on the faMeshesRegistry.

Definition at line 57 of file SurfaceFilmModel.C.

References mesh, faMesh::registry(), and objectRegistry::sorted().

Referenced by KinematicSurfaceFilm< CloudType >::initFilmModels(), inject(), and ~SurfaceFilmModel().

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

◆ transferParcel()

template<class CloudType>
virtual bool transferParcel ( parcelType & p,
const polyPatch & pp,
bool & keepParticle )
pure virtual

Transfer parcel from cloud to surface film.

Returns true if parcel is to be transferred

Implemented in KinematicSurfaceFilm< CloudType >, NoSurfaceFilm< CloudType >, and ThermoSurfaceFilm< CloudType >.

References info(), inject(), p, pp(), and transferParcel().

Referenced by transferParcel().

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

◆ inject()

template<class CloudType>
template<class TrackCloudType>
void inject ( TrackCloudType & cloud)

Inject parcels into the cloud.

Definition at line 286 of file SurfaceFilmModel.C.

References subModelBase::active(), cacheFilmFields(), forAll, injectParticles(), mesh, CloudSubModelBase< CloudType >::owner(), pbm, and sorted_areaFilms().

Referenced by transferParcel().

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

◆ info()

template<class CloudType>
void info ( )
virtual

◆ injectParticles() [3/4]

template<class CloudType>
template<class CloudTrackType>
void injectParticles ( const label primaryPatchi,
const labelUList & injectorCells,
CloudTrackType & cloud )

Definition at line 156 of file SurfaceFilmModel.C.

◆ injectParticles() [4/4]

template<class CloudType>
template<class CloudTrackType>
void injectParticles ( const UList< labelPair > & patchFaces,
CloudTrackType & cloud )

Definition at line 218 of file SurfaceFilmModel.C.

Member Data Documentation

◆ g_

template<class CloudType>
const dimensionedVector& g_
protected

Gravitational acceleration constant.

Definition at line 100 of file SurfaceFilmModel.H.

Referenced by g(), SurfaceFilmModel(), SurfaceFilmModel(), and SurfaceFilmModel().

◆ ejectedParcelType_

template<class CloudType>
label ejectedParcelType_
protected

Ejected parcel type label - id assigned to identify parcel for post-processing. If not specified, defaults to originating cloud type.

Definition at line 107 of file SurfaceFilmModel.H.

Referenced by setParcelProperties(), SurfaceFilmModel(), SurfaceFilmModel(), and SurfaceFilmModel().

◆ injectionOffset_

template<class CloudType>
scalar injectionOffset_
protected

Injection offset position.

Definition at line 112 of file SurfaceFilmModel.H.

Referenced by SurfaceFilmModel(), SurfaceFilmModel(), and SurfaceFilmModel().

◆ minDiameter_

template<class CloudType>
scalar minDiameter_
protected

Minimum diameter particle injection.

Definition at line 117 of file SurfaceFilmModel.H.

Referenced by setParcelProperties(), SurfaceFilmModel(), SurfaceFilmModel(), and SurfaceFilmModel().

◆ massParcelPatch_

template<class CloudType>
scalarField massParcelPatch_
protected

Parcel mass / patch face.

Definition at line 125 of file SurfaceFilmModel.H.

Referenced by cacheFilmFields(), setParcelProperties(), SurfaceFilmModel(), SurfaceFilmModel(), and SurfaceFilmModel().

◆ diameterParcelPatch_

template<class CloudType>
scalarField diameterParcelPatch_
protected

Parcel diameter / patch face.

Definition at line 130 of file SurfaceFilmModel.H.

Referenced by cacheFilmFields(), setParcelProperties(), SurfaceFilmModel(), SurfaceFilmModel(), and SurfaceFilmModel().

◆ UFilmPatch_

template<class CloudType>
Field<vector> UFilmPatch_
protected

Film velocity / patch face.

Definition at line 135 of file SurfaceFilmModel.H.

Referenced by cacheFilmFields(), setParcelProperties(), SurfaceFilmModel(), SurfaceFilmModel(), and SurfaceFilmModel().

◆ rhoFilmPatch_

template<class CloudType>
scalarField rhoFilmPatch_
protected

Film density / patch face.

Definition at line 140 of file SurfaceFilmModel.H.

Referenced by cacheFilmFields(), setParcelProperties(), SurfaceFilmModel(), SurfaceFilmModel(), and SurfaceFilmModel().

◆ deltaFilmPatch_

template<class CloudType>
Field<scalarField> deltaFilmPatch_
protected

◆ nParcelsTransferred_

template<class CloudType>
label nParcelsTransferred_
protected

Number of parcels transferred to the film model.

Definition at line 153 of file SurfaceFilmModel.H.

Referenced by info(), nParcelsTransferred(), nParcelsTransferred(), SurfaceFilmModel(), SurfaceFilmModel(), and SurfaceFilmModel().

◆ nParcelsInjected_

template<class CloudType>
label nParcelsInjected_
protected

Number of parcels injected from the film model.

Definition at line 158 of file SurfaceFilmModel.H.

Referenced by info(), nParcelsInjected(), nParcelsInjected(), SurfaceFilmModel(), SurfaceFilmModel(), and SurfaceFilmModel().

◆ totalMassTransferred_

template<class CloudType>
scalar totalMassTransferred_
protected

Total mass transferred to the film.

Definition at line 166 of file SurfaceFilmModel.H.

Referenced by info(), SurfaceFilmModel(), SurfaceFilmModel(), SurfaceFilmModel(), totalMassTransferred(), and totalMassTransferred().


The documentation for this class was generated from the following files:
  • src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.H
  • src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H
  • src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C
  • src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModelI.H
  • src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModelNew.C