Kinematic parcel surface film model. More...
Public Types | |
enum | interactionType { itAbsorb, itBounce, itSplashBai } |
Options for the interaction types. 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 | ~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... | |
template<class TrackCloudType > | |
void | inject (TrackCloudType &cloud) |
Inject parcels into the cloud. More... | |
template<class CloudTrackType > | |
void | injectParticles (const label primaryPatchi, const labelList &injectorCellsPatch, CloudTrackType &cloud) |
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 > | |
template<class TrackCloudType > | |
void | injectParticles (const label primaryPatchi, const labelList &injectorCellsPatch, TrackCloudType &cloud) |
Inject particles in cloud. 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... | |
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.
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 544 of file KinematicSurfaceFilm.C.
References Foam::endl(), Foam::Info, and init().
KinematicSurfaceFilm | ( | const KinematicSurfaceFilm< CloudType > & | sfm, |
bool | initThermo = true |
||
) |
Construct copy.
Definition at line 588 of file KinematicSurfaceFilm.C.
References init().
|
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 71 of file KinematicSurfaceFilm.C.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
|
protected |
Return a vector tangential to input vector, v.
Definition at line 89 of file KinematicSurfaceFilm.C.
References Foam::mag(), and Foam::Zero.
|
protected |
Return splashed parcel direction.
Definition at line 109 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 180 of file KinematicSurfaceFilm.C.
|
protected |
Initialise pointers of films.
Definition at line 133 of file KinematicSurfaceFilm.C.
References forAll, mesh, Foam::PtrListOps::names(), and fvMesh::time().
|
protectedvirtual |
Cache the film fields in preparation for injection.
Reimplemented from SurfaceFilmModel< CloudType >.
Reimplemented in ThermoSurfaceFilm< CloudType >.
Definition at line 780 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 763 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 795 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 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 194 of file KinematicSurfaceFilm.C.
References Foam::expressions::patchExpr::debug, 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 243 of file KinematicSurfaceFilm.C.
References Foam::expressions::patchExpr::debug, 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 274 of file KinematicSurfaceFilm.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), PrimitivePatch< FaceList, PointField >::faceNormals(), patchIdentifier::index(), Foam::Info, Foam::magSqr(), Foam::constant::physicoChemical::mu, p, Foam::pow(), 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 330 of file KinematicSurfaceFilm.C.
References Foam::acos(), Foam::expressions::patchExpr::debug, Foam::endl(), epsilon, PrimitivePatch< FaceList, PointField >::faceNormals(), patchIdentifier::index(), Foam::Info, Foam::mag(), Foam::magSqr(), Foam::constant::physicoChemical::mu, p, Foam::constant::mathematical::piByTwo(), Foam::pow(), 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 405 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, UPstream::myProcNo(), p, Foam::constant::mathematical::pi(), Foam::pow3(), 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 618 of file KinematicSurfaceFilm.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, patchIdentifier::index(), Foam::constant::physicoChemical::mu, liquidMixtureProperties::mu(), p, Foam::refCast(), sigma(), 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(), SurfaceFilmModel< CloudType >::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.
|
protected |
Film thickness beyond which patch is assumed to be wet.
Definition at line 151 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 156 of file KinematicSurfaceFilm.H.
|
protected |
Number of new parcels resulting from splash event.
Definition at line 159 of file KinematicSurfaceFilm.H.
|
protected |
Dry surface roughness coefficient.
= 2630 for dry interaction (ref. Bai)
Definition at line 167 of file KinematicSurfaceFilm.H.
|
protected |
Wet surface roughness coefficient.
= 1320 for wet interaction (ref. Bai)
Definition at line 171 of file KinematicSurfaceFilm.H.
|
protected |
Skin friction typically in the range 0.6 < Cf < 0.8.
Definition at line 175 of file KinematicSurfaceFilm.H.
|
protected |
Counter for number of new splash parcels.
Definition at line 178 of file KinematicSurfaceFilm.H.