Go to the documentation of this file.
43 <<
"Invalid coupleGroup patch group"
44 <<
" on patch " << thisPatch.
name()
45 <<
" in region " << pbm.
mesh().
name()
58 <<
"Patch " << thisPatch.
name()
59 <<
" should be in patchGroup " <<
name()
60 <<
" in region " << pbm.
mesh().
name()
72 if (patchIDs.
size() > 2 || patchIDs.
size() == 0)
75 <<
"Couple patchGroup " <<
name()
76 <<
" with contents " << patchIDs
78 <<
" on patch " << thisPatch.
name()
90 <<
"Couple patchGroup " <<
name()
91 <<
" with contents " << patchIDs
92 <<
" does not contain patch " << thisPatch.
name()
93 <<
" in region " << pbm.
mesh().
name()
100 if (patchIDs.
size() == 2)
103 return patchIDs[1-index];
112 if (patchIDs.
size() != 1)
115 <<
"Couple patchGroup " <<
name()
116 <<
" with contents " << patchIDs
117 <<
" in region " <<
mesh.name()
118 <<
" should only contain a single patch"
119 <<
" when matching patch " << thisPatch.
name()
120 <<
" in region " << pbm.
mesh().
name()
145 name_(
dict.lookupOrDefault<
word>(
"coupleGroup",
""))
158 return findOtherPatchID(pbm.
mesh(), thisPatch);
170 const Time& runTime = thisMesh.
time();
176 label otherPatchID = -1;
182 label patchID = findOtherPatchID(
mesh, thisPatch);
186 if (otherPatchID != -1)
189 <<
"Couple patchGroup " <<
name()
190 <<
" should be present on only two patches"
191 <<
" in any of the meshes in " << meshSet.
sortedToc()
193 <<
" It seems to be present on patch "
195 <<
" in region " << thisMesh.
name()
196 <<
", on patch " << otherPatchID
197 <<
" in region " << otherRegion
198 <<
" and on patch " << patchID
202 otherPatchID = patchID;
207 if (otherPatchID == -1)
210 <<
"Couple patchGroup " <<
name()
211 <<
" not found in any of the other meshes " << meshSet.
sortedToc()
212 <<
" on patch " << thisPatch.
name()
213 <<
" region " << thisMesh.
name()
235 os.
check(
"Ostream& operator<<(Ostream& os, const coupleGroupIdentifier& p");
Encapsulates using patchGroups to specify coupled patch.
const HashTable< labelList, word > & groupPatchIDs() const
Per patch group the patch indices.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A class for handling words, derived from string.
label findIndex(const ListType &, typename ListType::const_reference, const label start=0)
Find first occurence of given element and return index,.
const Time & time() const
Return time.
An STL-conforming const_iterator.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Mesh consisting of general polyhedral cells.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
HashTable< const Type * > lookupClass(const bool strict=false) const
Lookup and return all objects of the given Type.
void write(Ostream &) const
Write the data as a dictionary.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const polyBoundaryMesh & boundaryMesh() const
Return boundaryMesh reference.
A patch is a list of labels that address the faces in the global face list.
const word & name() const
Return name.
const polyMesh & mesh() const
Return the mesh reference.
Ostream & operator<<(Ostream &, const edgeMesh &)
label findOtherPatchID(const polyMesh &, const polyPatch &) const
Find other patch in specified mesh. Returns index of patch or -1.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
A list of keyword definitions, which are a keyword followed by any number of values (e....
List< Key > sortedToc() const
Return the table of contents as a sorted list.
errorManipArg< error, int > exit(error &err, const int errNo=1)
An STL-conforming hash table.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
coupleGroupIdentifier()
Construct null.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Ostream & writeKeyword(const keyType &)
Write the keyword followed by an appropriate indentation.
void size(const label)
Override size to be inconsistent with allocated storage.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const word & name() const
Return name.
label index() const
Return the index of this patch in the boundaryMesh.
word name(const complex &)
Return a string representation of a complex.
const word & name() const
Return reference to name.