Kinematic parcel surface film model. More...


Public Types | |
| 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... | |
Public Member Functions | |
| 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 () |
| Write surface film info. 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 dimensionedVector & | g () 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 CloudType & | owner () 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... | |
| CloudType & | owner () |
| 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 word & | modelName () const |
| Return const access to the name of the sub-model. More... | |
| const dictionary & | dict () const |
| Return const access to the cloud dictionary. More... | |
| const word & | baseName () const |
| Return const access to the base name of the sub-model. More... | |
| const word & | modelType () const |
| Return const access to the sub-model type. More... | |
| const dictionary & | coeffDict () const |
| Return const access to the coefficients dictionary. More... | |
| const dictionary & | properties () 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... | |
Static Public Attributes | |
| static const Enum< interactionType > | 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 |
| typedef regionModels::surfaceFilmModels::surfaceFilmRegionModel | regionFilm |
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 areaFilm &film) |
| 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 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 | |
| Random & | rndGen_ |
| Reference to the cloud random number generator. More... | |
| liquidMixtureProperties * | thermo_ |
| Region Film liquid thermo. More... | |
| scalar | pRef_ |
| Region Film reference pressure. More... | |
| scalar | TRef_ |
| Region Film reference temperature. More... | |
| regionFilm * | filmModel_ |
| Pointer to filmModel. More... | |
| UPtrList< areaFilm > | areaFilms_ |
| 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 dimensionedVector & | g_ |
| 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< vector > | UFilmPatch_ |
| Film velocity / patch face. More... | |
| scalarField | rhoFilmPatch_ |
| Film density / patch face. More... | |
| Field< 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... | |
| scalar | totalMassTransferred_ |
| Total mass transferred to the film. More... | |
Protected Attributes inherited from CloudSubModelBase< CloudType > | |
| CloudType & | owner_ |
| Reference to the cloud. More... | |
Protected Attributes inherited from subModelBase | |
| const word | modelName_ |
| Name of the sub-model. More... | |
| dictionary & | properties_ |
| 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... | |
Public Attributes inherited from subModelBase | |
| bool | log |
| Flag to write log into Info. More... | |
Kinematic parcel surface film model.
Definition at line 71 of file KinematicSurfaceFilm.H.
|
protected |
Convenience typedef to the cloud's parcel type.
Definition at line 102 of file KinematicSurfaceFilm.H.
|
protected |
Definition at line 105 of file KinematicSurfaceFilm.H.
|
protected |
Definition at line 108 of file KinematicSurfaceFilm.H.
|
strong |
Options for the interaction types.
| Enumerator | |
|---|---|
| absorb | absorb |
| bounce | bounce |
| splashBai | Bai splash model. |
Definition at line 82 of file KinematicSurfaceFilm.H.
| KinematicSurfaceFilm | ( | const dictionary & | dict, |
| CloudType & | owner, | ||
| const word & | type = typeName, |
||
| bool | initThermo = true |
||
| ) |
Construct from components.
Definition at line 478 of file KinematicSurfaceFilm.C.
References Foam::endl(), and Foam::Info.

| KinematicSurfaceFilm | ( | const KinematicSurfaceFilm< CloudType > & | sfm, |
| bool | initThermo = true |
||
| ) |
Construct copy.
Definition at line 528 of file KinematicSurfaceFilm.C.
|
virtualdefault |
Destructor.
|
protected |
Return a vector tangential to input vector, v.
Definition at line 49 of file KinematicSurfaceFilm.C.
References Foam::mag(), and Foam::Zero.

|
protected |
Return splashed parcel direction.
Definition at line 69 of file KinematicSurfaceFilm.C.
References Foam::constant::atomic::alpha, Foam::cos(), Foam::degToRad(), Foam::mag(), Foam::sin(), and Foam::constant::mathematical::twoPi().

|
protected |
Initialise thermo.
Definition at line 124 of file KinematicSurfaceFilm.C.
|
protected |
Initialise pointers of films.
Definition at line 93 of file KinematicSurfaceFilm.C.
References mesh, and fvMesh::time().

|
protectedvirtual |
Cache the film fields in preparation for injection.
Reimplemented from SurfaceFilmModel< CloudType >.
Reimplemented in ThermoSurfaceFilm< CloudType >.
Definition at line 751 of file KinematicSurfaceFilm.C.
References SurfaceFilmModel< CloudType >::cacheFilmFields().

|
protectedvirtual |
Cache the film fields in preparation for injection.
Reimplemented from SurfaceFilmModel< CloudType >.
Reimplemented in ThermoSurfaceFilm< CloudType >.
Definition at line 734 of file KinematicSurfaceFilm.C.
References SurfaceFilmModel< CloudType >::cacheFilmFields().

|
protectedvirtual |
Set the individual parcel properties.
Reimplemented from SurfaceFilmModel< CloudType >.
Reimplemented in ThermoSurfaceFilm< CloudType >.
Definition at line 761 of file KinematicSurfaceFilm.C.
References p, and SurfaceFilmModel< CloudType >::setParcelProperties().

| TypeName | ( | "kinematicSurfaceFilm" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone using supplied owner cloud.
Implements SurfaceFilmModel< CloudType >.
Reimplemented in ThermoSurfaceFilm< CloudType >.
Definition at line 313 of file KinematicSurfaceFilm.H.
| 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 138 of file KinematicSurfaceFilm.C.
References DebugInfo, Foam::endl(), PrimitivePatch< FaceList, PointField >::faceNormals(), Foam::mag(), p, pp(), and Urel.

| void bounceInteraction | ( | parcelType & | p, |
| const polyPatch & | pp, | ||
| const label | facei, | ||
| bool & | keepParticle | ||
| ) | const |
Bounce parcel (flip parcel normal velocity)
Definition at line 184 of file KinematicSurfaceFilm.C.
References DebugInfo, Foam::endl(), PrimitivePatch< FaceList, PointField >::faceNormals(), p, pp(), and Urel.

| 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 212 of file KinematicSurfaceFilm.C.
References DebugInfo, Foam::endl(), PrimitivePatch< FaceList, PointField >::faceNormals(), Foam::magSqr(), Foam::constant::physicoChemical::mu, p, Foam::pow(), pp(), rho, sigma(), Foam::sqr(), and Urel.

| 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 265 of file KinematicSurfaceFilm.C.
References Foam::acos(), DebugInfo, Foam::endl(), epsilon, PrimitivePatch< FaceList, PointField >::faceNormals(), Foam::mag(), Foam::magSqr(), Foam::constant::physicoChemical::mu, p, Foam::constant::mathematical::piByTwo(), Foam::pow(), pp(), rho, sigma(), Foam::sqr(), U, and Urel.

| 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 | ||
| ) |
Bai parcel splash interaction model.
Definition at line 337 of file KinematicSurfaceFilm.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), fvMesh::C(), Foam::cbrt(), fvMesh::Cf(), Foam::meshTools::constrainDirection(), Foam::exp(), PrimitivePatch< FaceList, PointField >::faceNormals(), forAll, Foam::log(), Foam::mag(), Foam::magSqr(), Foam::max(), mesh, UPstream::myProcNo(), p, Foam::constant::mathematical::pi(), Foam::pow3(), pp(), sigma(), polyMesh::solutionD(), Foam::sqr(), Foam::sqrt(), Urel, and y.

|
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 561 of file KinematicSurfaceFilm.C.
References Foam::abort(), Foam::ensightOutput::debug, Foam::endl(), Foam::FatalError, FatalErrorInFunction, Foam::constant::physicoChemical::mu, p, Foam::Pout, pp(), Foam::refCast(), sigma(), and TRef().

|
virtual |
Write surface film info.
Reimplemented from SurfaceFilmModel< CloudType >.
Reimplemented in ThermoSurfaceFilm< CloudType >.
Definition at line 771 of file KinematicSurfaceFilm.C.
References Foam::endl(), SurfaceFilmModel< CloudType >::info(), Log_, and Foam::returnReduce().

|
static |
Names for interactionType.
Definition at line 92 of file KinematicSurfaceFilm.H.
|
protected |
Reference to the cloud random number generator.
Definition at line 116 of file KinematicSurfaceFilm.H.
|
protected |
Region Film liquid thermo.
Definition at line 124 of file KinematicSurfaceFilm.H.
|
protected |
Region Film reference pressure.
Definition at line 129 of file KinematicSurfaceFilm.H.
|
protected |
Region Film reference temperature.
Definition at line 134 of file KinematicSurfaceFilm.H.
|
protected |
Pointer to filmModel.
Definition at line 139 of file KinematicSurfaceFilm.H.
UPointers to area films.
Definition at line 147 of file KinematicSurfaceFilm.H.
|
protected |
Interaction type enumeration.
Definition at line 155 of file KinematicSurfaceFilm.H.
|
protected |
Particle type IDs that can interact with the film.
If empty (default) all type IDs are included
Definition at line 162 of file KinematicSurfaceFilm.H.
|
protected |
Film thickness beyond which patch is assumed to be wet.
Definition at line 167 of file KinematicSurfaceFilm.H.
|
protected |
Splash parcel type label - id assigned to identify parcel for.
post-processing. If not specified, defaults to originating cloud type
Definition at line 175 of file KinematicSurfaceFilm.H.
|
protected |
Number of new parcels resulting from splash event.
Definition at line 180 of file KinematicSurfaceFilm.H.
|
protected |
Maximum splash particle diameter for Chi-square distribution.
Default is incident particle diameter
Definition at line 187 of file KinematicSurfaceFilm.H.
|
protected |
Minimum splash particle diameter for Chi-square distribution.
Default is 0.1 dMaxSplash
Definition at line 194 of file KinematicSurfaceFilm.H.
|
protected |
Dry surface roughness coefficient.
= 2630 for dry interaction (ref. Bai)
Definition at line 204 of file KinematicSurfaceFilm.H.
|
protected |
Wet surface roughness coefficient.
= 1320 for wet interaction (ref. Bai)
Definition at line 211 of file KinematicSurfaceFilm.H.
|
protected |
Skin friction typically in the range 0.6 < Cf < 0.8.
Definition at line 217 of file KinematicSurfaceFilm.H.
|
protected |
Counter for number of new splash parcels.
Definition at line 222 of file KinematicSurfaceFilm.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.