68 label edgeI = pEdges[pEdgeI];
72 if (
e.otherVertex(v0) == v1)
79 <<
"Cannot find edge between mesh points " << v0 <<
" and " << v1
94 <<
"Cannot find patch " <<
name <<
nl
95 <<
"It should be present but of zero size" <<
endl
103 <<
"Patch " <<
name <<
" is present but non-zero size"
110 int main(
int argc,
char *argv[])
122 const word oldInstance = mesh.pointsInstance();
130 faceSet facesSet(mesh, setName);
132 Info<<
"Read " << facesSet.size() <<
" faces to split" <<
endl <<
endl;
144 <<
"Face " << faces[i] <<
" in faceSet " << setName
145 <<
" is not an internal face."
152 checkPatch(mesh.boundaryMesh(), masterPatch);
153 checkPatch(mesh.boundaryMesh(), slavePatch);
175 const labelList& meshPoints = fPatch.meshPoints();
183 forAll(allEdgeFaces, patchEdgeI)
185 if (allEdgeFaces[patchEdgeI].size() == 1)
187 const edge&
e = fPatch.edges()[patchEdgeI];
193 meshPoints[
e.start()],
197 fenceEdges.insert(edgeI);
202 label startFacei = faces[0];
218 zoneFlip[i] = !regionInfo.sideOwner().found(faces[i]);
237 Info<<
"Adding point and face zones" <<
endl;
238 mesh.addZones(pz, fz, cz);
260 Info<<
nl <<
"Constructed topologyModifier:" <<
endl;
261 splitter[0].writeDict(
Info);
272 mesh.setInstance(oldInstance);
276 mesh.setInstance(runTime.name());
279 Info<<
"Writing mesh to " << runTime.name() <<
endl;
283 <<
"Failed writing polyMesh."
#define forAll(list, i)
Loop across all elements in list.
A list of faces which address into the list of points.
A List with indirect addressing.
bool optionFound(const word &opt) const
Return true if the named option is found.
static void noParallel()
Remove the parallel options.
static SLList< string > validArgs
A list of valid (mandatory) arguments.
Attach/detach boundary mesh modifier. This modifier takes a set of internal faces and converts them i...
This class is derived from polyMesh and serves as a tool for statically connecting pieces of a mesh b...
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
A subset of mesh faces organised as a primitive patch.
label findPatchID(const word &patchName) const
Find patch index given a name.
wordList names() const
Return a list of patch names.
Cell-face mesh analysis engine.
const labelListList & pointEdges() const
const edgeList & edges() const
Return mesh edges. Uses calcEdges.
virtual const faceList & faces() const =0
Return faces.
virtual const labelList & faceOwner() const =0
Face face-owner addressing.
virtual const pointField & points() const =0
Return mesh points.
bool isInternalFace(const label faceIndex) const
Return true if given face label is internal to the mesh.
Determines the 'side' for every face and connected to a singly-connected (through edges) region of fa...
A class for handling words, derived from string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
int main(int argc, char *argv[])
const polyBoundaryMesh & bMesh
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & endl(Ostream &os)
Add newline and flush stream.
word name(const bool)
Return a word representation of a bool.
errorManip< error > abort(error &err)
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Foam::argList args(argc, argv)