Go to the documentation of this file.
30 template<
class CloudType>
35 Info<<
"Patch interaction model " << typeName <<
nl
36 <<
"Executing in turn " <<
endl;
49 models_.setSize(nModels);
67 oneInteractionOnly_ =
Switch(
dict.lookup(
"oneInteractionOnly"));
69 if (oneInteractionOnly_)
71 Info<<
"Stopping upon first model that interacts with particle."
76 Info<<
"Allowing multiple models to interact."
86 template<
class CloudType>
95 read(this->coeffDict());
99 template<
class CloudType>
113 template<
class CloudType>
120 template<
class CloudType>
125 if (models_[i].active())
134 template<
class CloudType>
140 const scalar trackFraction,
144 label origFacei =
p.face();
147 bool interacted =
false;
151 bool myInteracted = models_[i].correct
160 if (myInteracted && oneInteractionOnly_)
165 interacted = (interacted || myInteracted);
171 if (
p.face() != origFacei)
173 origFacei =
p.face();
virtual bool active() const
Flag to indicate whether model activates patch interaction model.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
virtual ~MultiInteraction()
Destructor.
#define forAll(list, i)
Loop across all elements in list.
MultiInteraction(const dictionary &dict, CloudType &cloud)
Construct from dictionary.
bool read(const char *, int32_t &)
Switch oneInteractionOnly_
Runs multiple patch interaction models in turn. Takes dictionary where all the subdictionaries are th...
Ostream & endl(Ostream &os)
Add newline and flush stream.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
Templated patch interaction model class.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A patch is a list of labels that address the faces in the global face list.
PtrList< PatchInteractionModel< CloudType > > models_
Submodels.
Templated base class for dsmc cloud.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
A cloud is a collection of lagrangian particles.
bool read(const dictionary &)
Read settings.
virtual bool correct(typename CloudType::parcelType &p, const polyPatch &pp, bool &keepParticle, const scalar trackFraction, const tetIndices &tetIs)
Apply velocity correction.
Addressing for all faces on surface of mesh. Can either be read from polyMesh or from triSurface....
ParcelType parcelType
Type of parcel the cloud was instantiated for.
label index() const
Return the index of this patch in the boundaryMesh.