36 #ifndef StochasticCollisionModel_H 37 #define StochasticCollisionModel_H 53 template<
class CloudType>
54 class StochasticCollisionModel
56 public CloudSubModelBase<CloudType>
61 virtual void collide(
const scalar dt) = 0;
76 const dictionary&
dict,
91 const dictionary& dict,
100 virtual autoPtr<StochasticCollisionModel<CloudType>>
clone()
const = 0;
108 static autoPtr<StochasticCollisionModel<CloudType>>
New 110 const dictionary& dict,
118 void update(
const scalar dt);
128 #define makeStochasticCollisionModel(CloudType) \ 130 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ 131 defineNamedTemplateTypeNameAndDebug \ 133 Foam::StochasticCollisionModel<kinematicCloudType>, \ 138 defineTemplateRunTimeSelectionTable \ 140 StochasticCollisionModel<kinematicCloudType>, \ 146 #define makeStochasticCollisionModelType(SS, CloudType) \ 148 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ 149 defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ 151 Foam::StochasticCollisionModel<kinematicCloudType>:: \ 152 adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ 153 add##SS##CloudType##kinematicCloudType##ConstructorToTable_; StochasticCollisionModel(CloudType &owner)
Construct null from owner.
const dictionary & dict() const
Return const access to the cloud dictionary.
DSMCCloud< dsmcParcel > CloudType
virtual autoPtr< StochasticCollisionModel< CloudType > > clone() const =0
Construct and return a clone.
void update(const scalar dt)
Update the model.
declareRunTimeSelectionTable(autoPtr, StochasticCollisionModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
virtual ~StochasticCollisionModel()
Destructor.
TypeName("collisionModel")
Runtime type information.
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
static autoPtr< StochasticCollisionModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
const CloudType & owner() const
Return const access to the owner cloud.
Macros to ease declaration of run-time selection tables.
virtual void collide(const scalar dt)=0
Main collision routine.