36 #ifndef SurfaceFilmModel_H
37 #define SurfaceFilmModel_H
53 template<
class CloudType>
107 const label filmFacei
198 template<
class TrackCloudType>
215 #define makeSurfaceFilmModel(CloudType) \
217 typedef Foam::CloudType::momentumCloudType momentumCloudType; \
218 defineNamedTemplateTypeNameAndDebug \
220 Foam::SurfaceFilmModel<momentumCloudType>, \
225 defineTemplateRunTimeSelectionTable \
227 SurfaceFilmModel<momentumCloudType>, \
233 #define makeSurfaceFilmModelType(SS, CloudType) \
235 typedef Foam::CloudType::momentumCloudType momentumCloudType; \
236 defineNamedTemplateTypeNameAndDebug(Foam::SS<momentumCloudType>, 0); \
238 Foam::SurfaceFilmModel<momentumCloudType>:: \
239 adddictionaryConstructorToTable<Foam::SS<momentumCloudType>> \
240 add##SS##CloudType##momentumCloudType##ConstructorToTable_;
Base class for cloud sub-models.
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.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Templated wall surface film model class.
virtual void cacheFilmFields(const label filmi)=0
Cache the film fields in preparation for injection.
virtual bool transferParcel(parcelType &p, const polyPatch &pp, bool &keepParticle)=0
Transfer parcel from cloud to surface film.
scalarField massParcelPatch_
Parcel mass / patch face.
void inject(TrackCloudType &cloud)
Inject parcels into the cloud.
declareRunTimeSelectionTable(autoPtr, SurfaceFilmModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
virtual void info(Ostream &os)
Write surface film info to stream.
label nParcelsInjected_
Number of parcels injected from the film model.
virtual void setParcelProperties(parcelType &p, const label filmFacei) const =0
Set the individual parcel properties.
static autoPtr< SurfaceFilmModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
const dimensionedVector & g_
Gravitational acceleration constant.
virtual const labelList & filmPatches() const =0
Return list of film patches.
virtual ~SurfaceFilmModel()
Destructor.
label ejectedParcelType_
Ejected parcel type label - id assigned to identify parcel for.
scalarField diameterParcelPatch_
Parcel diameter / patch face.
label nParcelsTransferred() const
Return const access to the number of parcels transferred to the.
virtual autoPtr< SurfaceFilmModel< CloudType > > clone() const =0
Construct and return a clone.
scalarField deltaFilmPatch_
Film height of all film patches / patch face.
TypeName("surfaceFilm")
Runtime type information.
const dimensionedVector & g() const
Return gravitational acceleration constant.
label nParcelsTransferred_
Number of parcels transferred to the film model.
SurfaceFilmModel(CloudType &owner)
Construct null from owner.
CloudType::parcelType parcelType
Convenience typedef to the cloud's parcel type.
label nParcelsInjected() const
Return const access to the number of parcels injected from the.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A cloud is a collection of lagrangian particles.
A list of keyword definitions, which are a keyword followed by any number of values (e....
A patch is a list of labels that address the faces in the global face list.
const dictionary & dict() const
Return const access to the cloud dictionary.
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
Macros to ease declaration of run-time selection tables.