Kinematic parcel surface film model. More...
Public Types | |
enum | interactionType { itAbsorb , itBounce , itSplashBai } |
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 | |
interactionType | interactionTypeEnum (const word &it) const |
Return interaction type enum from word. More... | |
word | interactionTypeStr (const interactionType &it) const |
Return word from interaction type enum. More... | |
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 (Ostream &os) |
Write surface film info to stream. 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 autoPtr< SurfaceFilmModel< CloudType > > | clone () const =0 |
Construct and return a clone. More... | |
virtual | ~SurfaceFilmModel () |
Destructor. More... | |
const dimensionedVector & | g () const |
Return gravitational acceleration constant. More... | |
label | nParcelsTransferred () const |
Return const access to the number of parcels transferred to the. More... | |
label & | nParcelsTransferred () |
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... | |
label & | nParcelsInjected () |
Return non-const access to the number of parcels injected from. More... | |
scalar & | totalMassTransferred () |
Return non-const total mass transferred. More... | |
scalar | totalMassTransferred () const |
Return consr access to mass transferred. More... | |
virtual bool | transferParcel (parcelType &p, const polyPatch &pp, bool &keepParticle)=0 |
Transfer parcel from cloud to surface film. More... | |
template<class TrackCloudType > | |
void | inject (TrackCloudType &cloud) |
Inject parcels into the cloud. More... | |
virtual void | info (Ostream &os) |
Write surface film info to stream. More... | |
template<class CloudTrackType > | |
void | injectParticles (const label primaryPatchi, const labelList &injectorCellsPatch, 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 () |
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. 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 () |
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... | |
virtual bool | writeTime () const |
Flag to indicate when to write a property. More... | |
virtual fileName | localPath () const |
Output directory. 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... | |
virtual void | write (Ostream &os) const |
Write. More... | |
Static Public Attributes | |
static wordList | 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 |
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 label primaryPatchi, const areaFilm &) |
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 > | |
virtual void | cacheFilmFields (const label filmPatchi, const label primaryPatchi, const regionModels::surfaceFilmModels::surfaceFilmRegionModel &) |
Cache the film fields in preparation for injection. More... | |
virtual void | cacheFilmFields (const label primaryPatchi, const areaFilm &) |
Cache the finite area film fields in preparation for injection. More... | |
template<class TrackCloudType > | |
void | injectParticles (const label primaryPatchi, const labelList &injectorCellsPatch, TrackCloudType &cloud) |
Inject particles in cloud. 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 | |
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... | |
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 dimensionedVector & | g_ |
Gravitational acceleration constant. More... | |
label | ejectedParcelType_ |
Ejected parcel type label - id assigned to identify parcel for. 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... | |
Kinematic parcel surface film model.
Responsible for:
Definition at line 78 of file KinematicSurfaceFilm.H.
|
protected |
Convenience typedef to the cloud's parcel type.
Definition at line 112 of file KinematicSurfaceFilm.H.
|
protected |
Definition at line 115 of file KinematicSurfaceFilm.H.
|
protected |
Definition at line 118 of file KinematicSurfaceFilm.H.
enum interactionType |
Options for the interaction types.
Enumerator | |
---|---|
itAbsorb | |
itBounce | |
itSplashBai |
Definition at line 87 of file KinematicSurfaceFilm.H.
KinematicSurfaceFilm | ( | const dictionary & | dict, |
CloudType & | owner, | ||
const word & | type = typeName , |
||
bool | initThermo = true |
||
) |
Construct from components.
Definition at line 543 of file KinematicSurfaceFilm.C.
References KinematicSurfaceFilm< CloudType >::Adry_, KinematicSurfaceFilm< CloudType >::Awet_, KinematicSurfaceFilm< CloudType >::Cf_, subModelBase::coeffDict(), KinematicSurfaceFilm< CloudType >::deltaWet_, Foam::endl(), dictionary::getOrDefault(), Foam::Info, KinematicSurfaceFilm< CloudType >::init(), KinematicSurfaceFilm< CloudType >::interactionType_, KinematicSurfaceFilm< CloudType >::interactionTypeStr(), KinematicSurfaceFilm< CloudType >::itSplashBai, KinematicSurfaceFilm< CloudType >::parcelsPerSplash_, dictionary::readEntry(), and KinematicSurfaceFilm< CloudType >::splashParcelType_.
KinematicSurfaceFilm | ( | const KinematicSurfaceFilm< CloudType > & | sfm, |
bool | initThermo = true |
||
) |
Construct copy.
Definition at line 587 of file KinematicSurfaceFilm.C.
References KinematicSurfaceFilm< CloudType >::init(), KinematicSurfaceFilm< CloudType >::interactionType_, and KinematicSurfaceFilm< CloudType >::itSplashBai.
|
virtualdefault |
Destructor.
Foam::KinematicSurfaceFilm< CloudType >::interactionType interactionTypeEnum | ( | const word & | it | ) | const |
Return interaction type enum from word.
Definition at line 50 of file KinematicSurfaceFilm.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and forAll.
Foam::word interactionTypeStr | ( | const interactionType & | it | ) | const |
Return word from interaction type enum.
Definition at line 70 of file KinematicSurfaceFilm.C.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
Referenced by KinematicSurfaceFilm< CloudType >::KinematicSurfaceFilm().
|
protected |
Return a vector tangential to input vector, v.
Definition at line 88 of file KinematicSurfaceFilm.C.
References Foam::mag(), and Foam::Zero.
|
protected |
Return splashed parcel direction.
Definition at line 108 of file KinematicSurfaceFilm.C.
References alpha, Foam::cos(), Foam::degToRad(), Foam::mag(), Foam::sin(), and Foam::constant::mathematical::twoPi().
|
protected |
Initialise thermo.
Definition at line 180 of file KinematicSurfaceFilm.C.
Referenced by KinematicSurfaceFilm< CloudType >::KinematicSurfaceFilm().
|
protected |
Initialise pointers of films.
Definition at line 133 of file KinematicSurfaceFilm.C.
References forAll, mesh, and fvMesh::time().
|
protectedvirtual |
Cache the film fields in preparation for injection.
Reimplemented from SurfaceFilmModel< CloudType >.
Reimplemented in ThermoSurfaceFilm< CloudType >.
Definition at line 779 of file KinematicSurfaceFilm.C.
References SurfaceFilmModel< CloudType >::cacheFilmFields().
Referenced by ThermoSurfaceFilm< CloudType >::cacheFilmFields().
|
protectedvirtual |
Cache the film fields in preparation for injection.
Reimplemented from SurfaceFilmModel< CloudType >.
Reimplemented in ThermoSurfaceFilm< CloudType >.
Definition at line 762 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 794 of file KinematicSurfaceFilm.C.
References p, and SurfaceFilmModel< CloudType >::setParcelProperties().
Referenced by ThermoSurfaceFilm< 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 251 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 193 of file KinematicSurfaceFilm.C.
References Foam::endl(), PrimitivePatch< FaceList, PointField >::faceNormals(), patchIdentifier::index(), Foam::Info, Foam::mag(), p, and Urel.
void bounceInteraction | ( | parcelType & | p, |
const polyPatch & | pp, | ||
const label | facei, | ||
bool & | keepParticle | ||
) | const |
Bounce parcel (flip parcel normal velocity)
Definition at line 242 of file KinematicSurfaceFilm.C.
References Foam::endl(), PrimitivePatch< FaceList, PointField >::faceNormals(), patchIdentifier::index(), Foam::Info, p, 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 273 of file KinematicSurfaceFilm.C.
References Foam::endl(), PrimitivePatch< FaceList, PointField >::faceNormals(), patchIdentifier::index(), Foam::Info, Foam::magSqr(), mu, p, Foam::pow(), rho, 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 329 of file KinematicSurfaceFilm.C.
References Foam::acos(), Foam::endl(), epsilon, PrimitivePatch< FaceList, PointField >::faceNormals(), patchIdentifier::index(), Foam::Info, Foam::mag(), Foam::magSqr(), mu, p, Foam::constant::mathematical::piByTwo(), Foam::pow(), rho, 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 404 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, patchIdentifier::index(), Foam::log(), Foam::mag(), Foam::magSqr(), Foam::max(), mesh, p, Foam::constant::mathematical::pi(), Foam::pow3(), 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 617 of file KinematicSurfaceFilm.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, patchIdentifier::index(), mu, liquidMixtureProperties::mu(), p, Foam::refCast(), liquidMixtureProperties::sigma(), liquidMixtureProperties::size(), liquidFilmModel::thermo(), TRef(), liquidFilmModel::Tref(), and polyPatch::whichFace().
|
virtual |
Write surface film info to stream.
Reimplemented from SurfaceFilmModel< CloudType >.
Reimplemented in ThermoSurfaceFilm< CloudType >.
Definition at line 805 of file KinematicSurfaceFilm.C.
References Foam::endl(), ensightCells::info(), os(), and Foam::returnReduce().
|
static |
Names for interactionType.
Definition at line 95 of file KinematicSurfaceFilm.H.
|
protected |
Reference to the cloud random number generator.
Definition at line 121 of file KinematicSurfaceFilm.H.
|
protected |
Region Film liquid thermo.
Definition at line 127 of file KinematicSurfaceFilm.H.
|
protected |
Region Film reference pressure.
Definition at line 130 of file KinematicSurfaceFilm.H.
|
protected |
Region Film reference temperature.
Definition at line 133 of file KinematicSurfaceFilm.H.
|
protected |
Pointer to filmModel.
Definition at line 136 of file KinematicSurfaceFilm.H.
UPointers to area films.
Definition at line 142 of file KinematicSurfaceFilm.H.
|
protected |
Interaction type enumeration.
Definition at line 148 of file KinematicSurfaceFilm.H.
Referenced by KinematicSurfaceFilm< CloudType >::KinematicSurfaceFilm().
|
protected |
Film thickness beyond which patch is assumed to be wet.
Definition at line 151 of file KinematicSurfaceFilm.H.
Referenced by KinematicSurfaceFilm< CloudType >::KinematicSurfaceFilm().
|
protected |
Splash parcel type label - id assigned to identify parcel for.
post-processing. If not specified, defaults to originating cloud type
Definition at line 156 of file KinematicSurfaceFilm.H.
Referenced by KinematicSurfaceFilm< CloudType >::KinematicSurfaceFilm().
|
protected |
Number of new parcels resulting from splash event.
Definition at line 159 of file KinematicSurfaceFilm.H.
Referenced by KinematicSurfaceFilm< CloudType >::KinematicSurfaceFilm().
|
protected |
Dry surface roughness coefficient.
= 2630 for dry interaction (ref. Bai)
Definition at line 167 of file KinematicSurfaceFilm.H.
Referenced by KinematicSurfaceFilm< CloudType >::KinematicSurfaceFilm().
|
protected |
Wet surface roughness coefficient.
= 1320 for wet interaction (ref. Bai)
Definition at line 171 of file KinematicSurfaceFilm.H.
Referenced by KinematicSurfaceFilm< CloudType >::KinematicSurfaceFilm().
|
protected |
Skin friction typically in the range 0.6 < Cf < 0.8.
Definition at line 175 of file KinematicSurfaceFilm.H.
Referenced by KinematicSurfaceFilm< CloudType >::KinematicSurfaceFilm().
|
protected |
Counter for number of new splash parcels.
Definition at line 178 of file KinematicSurfaceFilm.H.