42#ifndef PatchInteractionModel_H
43#define PatchInteractionModel_H
63template<
class CloudType>
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_;
Base class for cloud sub-models.
const CloudType & owner() const
Return const access to the owner cloud.
Templated base class for dsmc cloud.
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,...
Templated patch interaction model class.
virtual void postEvolve()
Post-evolve hook.
const scalar & Urmax() const
Return Urmax.
static wordList interactionTypeNames_
virtual ~PatchInteractionModel()=default
Destructor.
TypeName("patchInteractionModel")
Runtime type information.
scalar escapedMass_
Mass of parcels escaped.
virtual void info(Ostream &os)
Write patch interaction info to stream.
label escapedParcels_
Number of parcels escaped.
declareRunTimeSelectionTable(autoPtr, PatchInteractionModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
virtual void addToEscapedParcels(const scalar mass)
Add to escaped parcels.
static autoPtr< PatchInteractionModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
const word & UName() const
Return name of velocity field.
static interactionType wordToInteractionType(const word &itWord)
Convert word to interaction result.
virtual void writeFileHeader(Ostream &os)
Output file header information.
const word UName_
Name of velocity field - default = "U".
virtual autoPtr< PatchInteractionModel< CloudType > > clone() const =0
Construct and return a clone.
static word interactionTypeToWord(const interactionType &itEnum)
Convert interaction result to word.
scalar Urmax_
Maximum relative U with patch for particle to be removed.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Base class for writing single files from the function objects.
A patch is a list of labels that address the faces in the global face list.
const dictionary & dict() const
Return const access to the cloud dictionary.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.