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...
OBJstream os(runTime.globalPath()/outputName)
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.