42 #ifndef PackingModel_H 43 #define PackingModel_H 57 class ParticleStressModel;
59 class CorrectionLimitingMethod;
62 class AveragingMethod;
68 template<
class CloudType>
71 public CloudSubModelBase<CloudType>
149 #define makePackingModel(CloudType) \ 151 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ 152 defineNamedTemplateTypeNameAndDebug \ 154 Foam::PackingModel<kinematicCloudType>, \ 160 defineTemplateRunTimeSelectionTable \ 162 PackingModel<kinematicCloudType>, \ 168 #define makePackingModelType(SS, CloudType) \ 170 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ 171 defineNamedTemplateTypeNameAndDebug \ 172 (Foam::PackingModels::SS<kinematicCloudType>, 0); \ 174 Foam::PackingModel<kinematicCloudType>:: \ 175 adddictionaryConstructorToTable \ 176 <Foam::PackingModels::SS<kinematicCloudType>> \ 177 add##SS##CloudType##kinematicCloudType##ConstructorToTable_; 182 #define makePackingModelMPPIC(CloudType) \ 184 typedef Foam::CloudType::MPPICCloudType MPPICCloudType; \ 185 defineNamedTemplateTypeNameAndDebug \ 187 Foam::PackingModel<MPPICCloudType>, \ 193 defineTemplateRunTimeSelectionTable \ 195 PackingModel<MPPICCloudType>, \ 201 #define makePackingModelTypeMPPIC(SS, CloudType) \ 203 typedef Foam::CloudType::MPPICCloudType MPPICCloudType; \ 204 defineNamedTemplateTypeNameAndDebug \ 205 (Foam::PackingModels::SS<MPPICCloudType>, 0); \ 207 Foam::PackingModel<MPPICCloudType>:: \ 208 adddictionaryConstructorToTable \ 209 <Foam::PackingModels::SS<MPPICCloudType>> \ 210 add##SS##CloudType##MPPICCloudType##ConstructorToTable_; static autoPtr< PackingModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
TypeName("packingModel")
Runtime type information.
virtual ~PackingModel()
Destructor.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Base class for packing models.
const dictionary & dict() const
Return const access to the cloud dictionary.
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.
A class for handling words, derived from Foam::string.
declareRunTimeSelectionTable(autoPtr, PackingModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
virtual vector velocityCorrection(typename CloudType::parcelType &p, const scalar deltaT) const =0
Calculate the velocity correction.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
PackingModel(CloudType &owner)
Construct null from owner.
autoPtr< ParticleStressModel > particleStressModel_
Protected data.
virtual autoPtr< PackingModel< CloudType > > clone() const =0
Construct and return a clone.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Macros to ease declaration of run-time selection tables.
Templated base class for dsmc cloud.