Go to the documentation of this file.
41 #ifndef StochasticCollisionModel_H
42 #define StochasticCollisionModel_H
58 template<
class CloudType>
59 class StochasticCollisionModel
61 public CloudSubModelBase<CloudType>
68 typename CloudType::parcelType::trackingData& td,
85 const dictionary&
dict,
100 const dictionary&
dict,
109 virtual autoPtr<StochasticCollisionModel<CloudType>>
clone()
const = 0;
117 static autoPtr<StochasticCollisionModel<CloudType>>
New
119 const dictionary&
dict,
129 typename CloudType::parcelType::trackingData& td,
141 #define makeStochasticCollisionModel(CloudType) \
143 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \
144 defineNamedTemplateTypeNameAndDebug \
146 Foam::StochasticCollisionModel<kinematicCloudType>, \
151 defineTemplateRunTimeSelectionTable \
153 StochasticCollisionModel<kinematicCloudType>, \
159 #define makeStochasticCollisionModelType(SS, CloudType) \
161 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \
162 defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \
164 Foam::StochasticCollisionModel<kinematicCloudType>:: \
165 adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \
166 add##SS##CloudType##kinematicCloudType##ConstructorToTable_;
declareRunTimeSelectionTable(autoPtr, StochasticCollisionModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
virtual autoPtr< StochasticCollisionModel< CloudType > > clone() const =0
virtual ~StochasticCollisionModel()
StochasticCollisionModel(CloudType &owner)
virtual void collide(typename CloudType::parcelType::trackingData &td, const scalar dt)=0
DSMCCloud< dsmcParcel > CloudType
Macros to ease declaration of run-time selection tables.
static autoPtr< StochasticCollisionModel< CloudType > > New(const dictionary &dict, CloudType &owner)
fileName::Type type(const fileName &name, const bool followLink=true)
void update(typename CloudType::parcelType::trackingData &td, const scalar dt)
TypeName("collisionModel")