54 template<
class CloudType>
158 #define makeWallModel(CloudType) \
160 typedef Foam::CloudType::collidingCloudType collidingCloudType; \
162 defineNamedTemplateTypeNameAndDebug \
164 Foam::WallModel<collidingCloudType>, \
170 defineTemplateRunTimeSelectionTable \
172 WallModel<collidingCloudType>, \
178 #define makeWallModelType(SS, CloudType) \
180 typedef Foam::CloudType::collidingCloudType collidingCloudType; \
182 defineNamedTemplateTypeNameAndDebug(Foam::SS<collidingCloudType>, 0); \
184 Foam::WallModel<collidingCloudType>:: \
185 adddictionaryConstructorToTable<Foam::SS<collidingCloudType>> \
186 add##SS##CloudType##ConstructorToTable_;
Templated base class for dsmc cloud.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Templated wall interaction class.
virtual scalar pREff(const typename CloudType::parcelType &p) const =0
Return the effective radius for a particle for the model.
WallModel(const dictionary &dict, CloudType &owner, const word &type)
Construct from components.
virtual void evaluateWall(typename CloudType::parcelType &p, const List< point > &flatSitePoints, const List< WallSiteData< vector >> &flatSiteData, const List< point > &sharpSitePoints, const List< WallSiteData< vector >> &sharpSiteData) const =0
Calculate the wall interaction for a parcel.
virtual label nSubCycles() const =0
For WallModels that control the timestep, calculate the.
const dictionary & coeffDict() const
Return the coefficients dictionary.
virtual ~WallModel()
Destructor.
virtual bool controlsTimestep() const =0
Whether the WallModel has a timestep limit that will.
const dictionary & dict() const
Return the dictionary.
const CloudType & owner() const
Return the owner cloud object.
TypeName("wallModel")
Runtime type information.
declareRunTimeSelectionTable(autoPtr, WallModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
static autoPtr< WallModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
Stores the patch ID and templated data to represent a collision with a wall to be passed to the wall ...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A list of keyword definitions, which are a keyword followed by any number of values (e....
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.