36 #ifndef StochasticCollisionModel_H 37 #define StochasticCollisionModel_H 53 template<
class CloudType>
54 class StochasticCollisionModel
56 public CloudSubModelBase<CloudType>
63 typename CloudType::parcelType::trackingData& td,
80 const dictionary&
dict,
95 const dictionary& dict,
104 virtual autoPtr<StochasticCollisionModel<CloudType>>
clone()
const = 0;
112 static autoPtr<StochasticCollisionModel<CloudType>>
New 114 const dictionary& dict,
124 typename CloudType::parcelType::trackingData& td,
136 #define makeStochasticCollisionModel(CloudType) \ 138 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ 139 defineNamedTemplateTypeNameAndDebug \ 141 Foam::StochasticCollisionModel<kinematicCloudType>, \ 146 defineTemplateRunTimeSelectionTable \ 148 StochasticCollisionModel<kinematicCloudType>, \ 154 #define makeStochasticCollisionModelType(SS, CloudType) \ 156 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ 157 defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ 159 Foam::StochasticCollisionModel<kinematicCloudType>:: \ 160 adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ 161 add##SS##CloudType##kinematicCloudType##ConstructorToTable_; StochasticCollisionModel(CloudType &owner)
Construct null from owner.
DSMCCloud< dsmcParcel > CloudType
virtual autoPtr< StochasticCollisionModel< CloudType > > clone() const =0
Construct and return a clone.
virtual void collide(typename CloudType::parcelType::trackingData &td, const scalar dt)=0
Main collision routine.
const dictionary & dict() const
Return const access to the cloud dictionary.
declareRunTimeSelectionTable(autoPtr, StochasticCollisionModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
const CloudType & owner() const
Return const access to the owner cloud.
virtual ~StochasticCollisionModel()
Destructor.
TypeName("collisionModel")
Runtime type information.
static autoPtr< StochasticCollisionModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
void update(typename CloudType::parcelType::trackingData &td, const scalar dt)
Update the model.
Macros to ease declaration of run-time selection tables.