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_; 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.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
virtual ~StochasticCollisionModel()
Destructor.
TypeName("collisionModel")
Runtime type information.
static autoPtr< StochasticCollisionModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
void update(typename CloudType::parcelType::trackingData &td, const scalar dt)
Update the model.
Macros to ease declaration of run-time selection tables.