53 template<
class CloudType>
59 const dictionary& dict_;
65 const dictionary coeffDict_;
80 const dictionary&
dict,
92 const dictionary& dict,
103 static autoPtr<WallModel<CloudType>>
New 105 const dictionary& dict,
119 const dictionary&
dict()
const;
143 const List<point>& flatSitePoints,
144 const List<WallSiteData<vector>>& flatSiteData,
145 const List<point>& sharpSitePoints,
146 const List<WallSiteData<vector>>& sharpSiteData
157 #define makeWallModel(CloudType) \ 159 defineNamedTemplateTypeNameAndDebug(Foam::WallModel<Foam::CloudType>, 0); \ 163 defineTemplateRunTimeSelectionTable \ 165 WallModel<Foam::CloudType>, \ 171 #define makeWallModelType(SS, CloudType) \ 173 defineNamedTemplateTypeNameAndDebug(Foam::SS<Foam::CloudType>, 0); \ 175 Foam::WallModel<Foam::CloudType>:: \ 176 adddictionaryConstructorToTable<Foam::SS<Foam::CloudType>> \ 177 add##SS##CloudType##ConstructorToTable_; virtual label nSubCycles() const =0
For WallModels that control the timestep, calculate the.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
DSMCCloud< dsmcParcel > CloudType
const dictionary & coeffDict() const
Return the coefficients dictionary.
const CloudType & owner() const
Return the owner cloud object.
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.
WallModel(const dictionary &dict, CloudType &owner, const word &type)
Construct from components.
declareRunTimeSelectionTable(autoPtr, WallModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
const dictionary & dict() const
Return the dictionary.
TypeName("wallModel")
Runtime type information.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
virtual bool controlsTimestep() const =0
Whether the WallModel has a timestep limit that will.
static autoPtr< WallModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
virtual ~WallModel()
Destructor.
virtual scalar pREff(const typename CloudType::parcelType &p) const =0
Return the effective radius for a particle for the model.
Macros to ease declaration of run-time selection tables.