30 template <
class CloudType>
33 const label globalPatchI
38 if (patchIds_[patchI] == globalPatchI)
50 template <
class CloudType>
58 patchData_(this->coeffDict().lookup(
"patches")),
59 patchIds_(patchData_.size())
67 const word& patchName = patchData_[patchI].patchName();
69 if (patchIds_[patchI] < 0)
71 FatalErrorIn(
"LocalInteraction(const dictionary&, CloudType&)")
72 <<
"Patch " << patchName <<
" not found. Available patches "
83 isA<wallPolyPatch>(bMesh[patchI])
84 && applyToPatch(bMesh[patchI].index()) < 0
91 if (badWalls.
size() > 0)
93 FatalErrorIn(
"LocalInteraction(const dictionary&, CloudType&)")
94 <<
"All wall patches must be specified when employing local patch "
95 <<
"interaction. Please specify data for patches:" <<
nl
100 forAll(patchData_, patchI)
102 const word& interactionTypeName =
103 patchData_[patchI].interactionTypeName();
105 this->wordToInteractionType(interactionTypeName);
109 const word& patchName = patchData_[patchI].patchName();
110 FatalErrorIn(
"LocalInteraction(const dictionary&, CloudType&)")
111 <<
"Unknown patch interaction type "
112 << interactionTypeName <<
" for patch " << patchName
113 <<
". Valid selections are:"
123 template <
class CloudType>
130 template<
class CloudType>
137 template <
class CloudType>
147 label patchI = applyToPatch(pp.
index());
152 this->wordToInteractionType
154 patchData_[patchI].interactionTypeName()
161 keepParticle =
false;
186 U -= (1.0 + patchData_[patchI].e())*Un*nw;
189 U -= patchData_[patchI].mu()*Ut;
197 "bool LocalInteraction<CloudType>::correct"
204 ) <<
"Unknown interaction type "
205 << patchData_[patchI].interactionTypeName()
206 <<
"(" << it <<
") for patch "
207 << patchData_[patchI].patchName()
208 <<
". Valid selections are:" << this->interactionTypeNames_