45#ifndef KinematicSurfaceFilm_H
46#define KinematicSurfaceFilm_H
60 namespace surfaceFilmModels
68 namespace areaSurfaceFilmModels
78template<
class CloudType>
196 void init(
bool binitThermo);
207 const label primaryPatchi,
214 const label filmPatchi,
215 const label primaryPatchi,
223 const label filmFacei
241 bool initThermo =
true
248 bool initThermo =
true
270 template<
class filmType>
291 template<
class filmType>
304 template<
class filmType>
317 template<
class filmType>
const CloudType & owner() const
Return const access to the owner cloud.
Templated base class for dsmc cloud.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
Kinematic parcel surface film model.
void wetSplashInteraction(filmType &, const scalar sigma, const scalar mu, parcelType &p, const polyPatch &pp, const label facei, bool &keepParticle)
Parcel interaction with wetted surface.
virtual void setParcelProperties(parcelType &p, const label filmFacei) const
Set the individual parcel properties.
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.
label splashParcelType_
Splash parcel type label - id assigned to identify parcel for.
static wordList 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.
scalar Cf_
Skin friction typically in the range 0.6 < Cf < 0.8.
liquidMixtureProperties * thermo_
Region Film liquid thermo.
Random & rndGen_
Reference to the cloud random number generator.
scalar Awet_
Wet surface roughness coefficient.
void absorbInteraction(filmType &, const parcelType &p, const polyPatch &pp, const label facei, const scalar mass, bool &keepParticle)
Absorb parcel into film.
virtual void info(Ostream &os)
Write surface film info to stream.
regionModels::areaSurfaceFilmModels::liquidFilmBase areaFilm
vector splashDirection(const vector &tanVec1, const vector &tanVec2, const vector &nf) const
Return splashed parcel direction.
void bounceInteraction(parcelType &p, const polyPatch &pp, const label facei, bool &keepParticle) const
Bounce parcel (flip parcel normal velocity)
regionModels::surfaceFilmModels::surfaceFilmRegionModel regionFilm
interactionType
Options for the interaction types.
TypeName("kinematicSurfaceFilm")
Runtime type information.
scalar Adry_
Dry surface roughness coefficient.
vector tangentVector(const vector &v) const
Return a vector tangential to input vector, v.
scalar deltaWet_
Film thickness beyond which patch is assumed to be wet.
interactionType interactionType_
Interaction type enumeration.
void init(bool binitThermo)
Initialise thermo.
virtual void cacheFilmFields(const label primaryPatchi, const areaFilm &)
Cache the film fields in preparation for injection.
UPtrList< areaFilm > areaFilms_
UPointers to area films.
regionFilm * filmModel_
Pointer to filmModel.
interactionType interactionTypeEnum(const word &it) const
Return interaction type enum from word.
void initFilmModels()
Initialise pointers of films.
label parcelsPerSplash_
Number of new parcels resulting from splash event.
CloudType::parcelType parcelType
Convenience typedef to the cloud's parcel type.
scalar pRef_
Region Film reference pressure.
scalar TRef_
Region Film reference temperature.
virtual autoPtr< SurfaceFilmModel< CloudType > > clone() const
Construct and return a clone using supplied owner cloud.
virtual bool transferParcel(parcelType &p, const polyPatch &pp, bool &keepParticle)
Transfer parcel from cloud to surface film.
word interactionTypeStr(const interactionType &it) const
Return word from interaction type enum.
label nParcelsSplashed_
Counter for number of new splash parcels.
virtual ~KinematicSurfaceFilm()=default
Destructor.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Templated wall surface film model class.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A patch is a list of labels that address the faces in the global face list.
Base class for surface film models.
const dictionary & dict() const
Return const access to the cloud dictionary.
A class for handling words, derived from Foam::string.
const volScalarField & mu
OBJstream os(runTime.globalPath()/outputName)
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.