63template<
class CloudType>
144#define makeDampingModel(CloudType) \
146 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \
147 defineNamedTemplateTypeNameAndDebug \
149 Foam::DampingModel<kinematicCloudType>, \
155 defineTemplateRunTimeSelectionTable \
157 DampingModel<kinematicCloudType>, \
163#define makeDampingModelType(SS, CloudType) \
165 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \
166 defineNamedTemplateTypeNameAndDebug \
167 (Foam::DampingModels::SS<kinematicCloudType>, 0); \
169 Foam::DampingModel<kinematicCloudType>:: \
170 adddictionaryConstructorToTable \
171 <Foam::DampingModels::SS<kinematicCloudType>> \
172 add##SS##CloudType##kinematicCloudType##ConstructorToTable_;
177#define makeDampingModelMPPIC(CloudType) \
179 typedef Foam::CloudType::MPPICCloudType MPPICCloudType; \
180 defineNamedTemplateTypeNameAndDebug \
182 Foam::DampingModel<MPPICCloudType>, \
188 defineTemplateRunTimeSelectionTable \
190 DampingModel<MPPICCloudType>, \
196#define makeDampingModelTypeMPPIC(SS, CloudType) \
198 typedef Foam::CloudType::MPPICCloudType MPPICCloudType; \
199 defineNamedTemplateTypeNameAndDebug \
200 (Foam::DampingModels::SS<MPPICCloudType>, 0); \
202 Foam::DampingModel<MPPICCloudType>:: \
203 adddictionaryConstructorToTable \
204 <Foam::DampingModels::SS<MPPICCloudType>> \
205 add##SS##CloudType##MPPICCloudType##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.
Base class for collisional damping models.
autoPtr< TimeScaleModel > timeScaleModel_
Time scale model.
virtual ~DampingModel()
Destructor.
virtual vector velocityCorrection(typename CloudType::parcelType &p, const scalar deltaT) const =0
Calculate the velocity correction.
TypeName("dampingModel")
Runtime type information.
static autoPtr< DampingModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
virtual autoPtr< DampingModel< CloudType > > clone() const =0
Construct and return a clone.
declareRunTimeSelectionTable(autoPtr, DampingModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
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,...
const dictionary & dict() const
Return const access to the cloud dictionary.
A class for handling words, derived from Foam::string.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.