42 #ifndef PatchInteractionModel_H 43 #define PatchInteractionModel_H 63 template<
class CloudType>
64 class PatchInteractionModel
66 public CloudSubModelBase<CloudType>,
67 public functionObjects::writeFile
169 const scalar&
Urmax()
const;
205 #define makePatchInteractionModel(CloudType) \ 207 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ 208 defineNamedTemplateTypeNameAndDebug \ 210 Foam::PatchInteractionModel<kinematicCloudType>, \ 216 defineTemplateRunTimeSelectionTable \ 218 PatchInteractionModel<kinematicCloudType>, \ 224 #define makePatchInteractionModelType(SS, CloudType) \ 226 typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ 227 defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ 229 Foam::PatchInteractionModel<kinematicCloudType>:: \ 230 adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ 231 add##SS##CloudType##kinematicCloudType##ConstructorToTable_; PatchInteractionModel(CloudType &owner)
Construct null from owner.
static word interactionTypeToWord(const interactionType &itEnum)
Convert interaction result to word.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
label escapedParcels_
Number of parcels escaped.
const word UName_
Name of velocity field - default = "U".
static wordList interactionTypeNames_
virtual void addToEscapedParcels(const scalar mass)
Add to escaped parcels.
virtual void info()
Write patch interaction info.
const dictionary & dict() const
Return const access to the cloud dictionary.
Templated patch interaction model class.
virtual autoPtr< PatchInteractionModel< CloudType > > clone() const =0
Construct and return a clone.
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.
declareRunTimeSelectionTable(autoPtr, PatchInteractionModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
A class for handling words, derived from Foam::string.
scalar Urmax_
Maximum relative U with patch for particle to be removed.
static autoPtr< PatchInteractionModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
const scalar & Urmax() const
Return Urmax.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
TypeName("patchInteractionModel")
Runtime type information.
const word & UName() const
Return name of velocity field.
virtual ~PatchInteractionModel()=default
Destructor.
virtual bool correct(typename CloudType::parcelType &p, const polyPatch &pp, bool &keepParticle)=0
Apply velocity correction.
scalar escapedMass_
Mass of parcels escaped.
virtual void writeFileHeader(Ostream &os)
Output file header information.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Macros to ease declaration of run-time selection tables.
A patch is a list of labels that address the faces in the global face list.
virtual void postEvolve()
Post-evolve hook.
Templated base class for dsmc cloud.
static interactionType wordToInteractionType(const word &itWord)
Convert word to interaction result.
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())