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 477 of file KinematicSurfaceFilm.C.
References Foam::endl(), and Foam::Info.
KinematicSurfaceFilm | ( | const KinematicSurfaceFilm< CloudType > & | sfm, |
bool | initThermo = true |
||
) |
Construct copy.
Definition at line 527 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 123 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 750 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 733 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 760 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 137 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 183 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 211 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 264 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 336 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 560 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 770 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.