45 #ifndef Foam_KinematicSurfaceFilm_H 46 #define Foam_KinematicSurfaceFilm_H 59 namespace regionModels
61 namespace surfaceFilmModels
63 class surfaceFilmRegionModel;
65 namespace areaSurfaceFilmModels
75 template<
class CloudType>
198 void init(
bool binitThermo);
212 const label filmPatchi,
213 const label primaryPatchi,
221 const label filmFacei
239 bool initThermo =
true 246 bool initThermo =
true 268 template<
class filmType>
289 template<
class filmType>
302 template<
class filmType>
315 template<
class filmType>
interactionType interactionType_
Interaction type enumeration.
interactionType
Options for the interaction types.
KinematicSurfaceFilm(const dictionary &dict, CloudType &owner, const word &type=typeName, bool initThermo=true)
Construct from components.
void wetSplashInteraction(filmType &, const scalar sigma, const scalar mu, parcelType &p, const polyPatch &pp, const label facei, bool &keepParticle)
Parcel interaction with wetted surface.
regionModels::surfaceFilmModels::surfaceFilmRegionModel regionFilm
Base class for surface film models.
scalar Adry_
Dry surface roughness coefficient.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
scalar Cf_
Skin friction typically in the range 0.6 < Cf < 0.8.
label nParcelsSplashed_
Counter for number of new splash parcels.
void bounceInteraction(parcelType &p, const polyPatch &pp, const label facei, bool &keepParticle) const
Bounce parcel (flip parcel normal velocity)
regionModels::areaSurfaceFilmModels::liquidFilmBase areaFilm
static const Enum< interactionType > interactionTypeNames
Names for interactionType.
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.
virtual void setParcelProperties(parcelType &p, const label filmFacei) const
Set the individual parcel properties.
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
const dictionary & dict() const
Return const access to the cloud dictionary.
scalar deltaWet_
Film thickness beyond which patch is assumed to be wet.
const CloudType & owner() const
Return const access to the owner cloud.
void init(bool binitThermo)
Initialise thermo.
CloudType::parcelType parcelType
Convenience typedef to the cloud's parcel type.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
scalar TRef_
Region Film reference temperature.
virtual ~KinematicSurfaceFilm()=default
Destructor.
regionFilm * filmModel_
Pointer to filmModel.
A class for handling words, derived from Foam::string.
vector splashDirection(const vector &tanVec1, const vector &tanVec2, const vector &nf) const
Return splashed parcel direction.
virtual void cacheFilmFields(const areaFilm &film)
Cache the film fields in preparation for injection.
void absorbInteraction(filmType &, const parcelType &p, const polyPatch &pp, const label facei, const scalar mass, bool &keepParticle)
Absorb parcel into film.
liquidMixtureProperties * thermo_
Region Film liquid thermo.
virtual autoPtr< SurfaceFilmModel< CloudType > > clone() const
Construct and return a clone using supplied owner cloud.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
labelList parcelTypes_
Particle type IDs that can interact with the film.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
vector tangentVector(const vector &v) const
Return a vector tangential to input vector, v.
Kinematic parcel surface film model.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
TypeName("kinematicSurfaceFilm")
Runtime type information.
virtual bool transferParcel(parcelType &p, const polyPatch &pp, bool &keepParticle)
Transfer parcel from cloud to surface film.
void initFilmModels()
Initialise pointers of films.
scalar dMinSplash_
Minimum splash particle diameter for Chi-square distribution.
Templated wall surface film model class.
scalar Awet_
Wet surface roughness coefficient.
const dimensionedScalar mu
Atomic mass unit.
UPtrList< areaFilm > areaFilms_
UPointers to area films.
Random & rndGen_
Reference to the cloud random number generator.
scalar dMaxSplash_
Maximum splash particle diameter for Chi-square distribution.
scalar pRef_
Region Film reference pressure.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
label parcelsPerSplash_
Number of new parcels resulting from splash event.
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.
A patch is a list of labels that address the faces in the global face list.
Templated base class for dsmc cloud.
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
label splashParcelType_
Splash parcel type label - id assigned to identify parcel for.
virtual void info()
Write surface film info.