Go to the documentation of this file.
42 #ifndef SurfaceFilmModel_H
43 #define SurfaceFilmModel_H
57 namespace regionModels
59 namespace surfaceFilmModels
61 class surfaceFilmRegionModel;
65 namespace regionModels
67 namespace areaSurfaceFilmModels
78 template<
class CloudType>
79 class SurfaceFilmModel
81 public CloudSubModelBase<CloudType>
146 const label filmPatchi,
147 const label primaryPatchi,
154 const label primaryPatchi,
159 template<
class TrackCloudType>
162 const label primaryPatchi,
164 TrackCloudType&
cloud
171 const label filmFacei
268 template<
class TrackCloudType>
285 #define makeSurfaceFilmModel(CloudType) \
287 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \
288 defineNamedTemplateTypeNameAndDebug \
290 Foam::SurfaceFilmModel<kinematicCloudType>, \
295 defineTemplateRunTimeSelectionTable \
297 SurfaceFilmModel<kinematicCloudType>, \
303 #define makeSurfaceFilmModelType(SS, CloudType) \
305 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \
306 defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \
308 Foam::SurfaceFilmModel<kinematicCloudType>:: \
309 adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \
310 add##SS##CloudType##kinematicCloudType##ConstructorToTable_;
virtual void cacheFilmFields(const label filmPatchi, const label primaryPatchi, const regionModels::surfaceFilmModels::surfaceFilmRegionModel &)
Cache the film fields in preparation for injection.
A class for handling words, derived from Foam::string.
const dimensionedVector & g_
Gravitational acceleration constant.
scalar injectionOffset_
Injection offset position.
scalar totalMassTransferred_
Total mass transferred to the film.
Field< vector > UFilmPatch_
Film velocity / patch face.
label nParcelsTransferred_
Number of parcels transferred to the film model.
TypeName("surfaceFilmModel")
Runtime type information.
virtual ~SurfaceFilmModel()
Destructor.
label nParcelsInjected_
Number of parcels injected from the film model.
declareRunTimeSelectionTable(autoPtr, SurfaceFilmModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
virtual bool transferParcel(parcelType &p, const polyPatch &pp, bool &keepParticle)=0
Transfer parcel from cloud to surface film.
Field< scalarField > deltaFilmPatch_
Film height of all film patches / patch face.
label nParcelsInjected() const
Return const access to the number of parcels injected from the.
CloudType::parcelType parcelType
Convenience typedef to the cloud's parcel type.
Base class for surface film models.
Templated wall surface film model class.
A patch is a list of labels that address the faces in the global face list.
void inject(TrackCloudType &cloud)
Inject parcels into the cloud.
scalarField massParcelPatch_
Parcel mass / patch face.
Templated base class for dsmc cloud.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
OBJstream os(runTime.globalPath()/outputName)
regionModels::areaSurfaceFilmModels::liquidFilmBase areaFilm
scalarField rhoFilmPatch_
Film density / patch face.
scalar minDiameter_
Minimum diameter particle injection.
label nParcelsTransferred() const
Return const access to the number of parcels transferred to the.
const dimensionedVector & g() const
Return gravitational acceleration constant.
virtual void setParcelProperties(parcelType &p, const label filmFacei) const
Set the individual parcel properties.
scalar & totalMassTransferred()
Return non-const total mass transferred.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A cloud is a registry collection of lagrangian particles.
void injectParticles(const label primaryPatchi, const labelList &injectorCellsPatch, TrackCloudType &cloud)
Inject particles in cloud.
Macros to ease declaration of run-time selection tables.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
virtual void info(Ostream &os)
Write surface film info to stream.
label ejectedParcelType_
Ejected parcel type label - id assigned to identify parcel for.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
SurfaceFilmModel(CloudType &owner)
Construct null from owner.
scalarField diameterParcelPatch_
Parcel diameter / patch face.
static autoPtr< SurfaceFilmModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
virtual autoPtr< SurfaceFilmModel< CloudType > > clone() const =0
Construct and return a clone.
Base class for thermal 2D shells.