49 Info<<
" Reading mesh boundaries" <<
endl;
51 const_cast<word&
>(IOPtrList<entry>::typeName) = polyBoundaryMesh::typeName;
52 IOPtrList<entry> boundaryPatchList
67 PtrList<entry> boundaryPatchListNew;
68 forAll(boundaryPatchList, patchI)
70 const dictionary&
dict = boundaryPatchList[patchI].dict();
71 const word pType =
dict.get<word>(
"type");
72 bool procPatch = pType == processorPolyPatch::typeName;
77 label nFaces =
dict.get<label>(
"nFaces");
78 reduce(nFaces, sumOp<label>());
87 boundaryPatchListNew.append(boundaryPatchList[patchI].clone());
91 boundaryPatchList.transfer(boundaryPatchListNew);
93 return boundaryPatchList;
108 names_.setSize(boundaryDict_.size());
109 types_.setSize(boundaryDict_.size());
110 constraint_.setSize(boundaryDict_.size(),
false);
111 groups_.setSize(boundaryDict_.size());
113 forAll(boundaryDict_, patchI)
115 const dictionary&
dict = boundaryDict_[patchI].dict();
117 names_[patchI] =
dict.dictName();
118 dict.readEntry(
"type", types_[patchI]);
119 if (polyPatch::constraintType(types_[patchI]))
121 constraint_[patchI] =
true;
124 if (
dict.readIfPresent(
"inGroups", groups_[patchI]))
126 allGroupNames_.insert(groups_[patchI]);
160 return allGroupNames_;
166 if (constraint_[patchI])
178 if (condition ==
"wall")
180 types_[patchI] = condition;
184 types_[patchI] =
"patch";
187 dictionary& patchDict = boundaryDict_[patchI].dict();
188 patchDict.add(
"type", types_[patchI],
true);
194 boundaryDict_.write();