3 List<Pair<word>> mergePatchPairs;
8 meshDict.readIfPresent(
"mergePatchPairs", mergePatchPairs)
9 && mergePatchPairs.size()
12 Info<<
"Creating merge patch pairs" <<
nl <<
endl;
15 List<pointZone*> pz(mergePatchPairs.size());
16 List<faceZone*> fz(3*mergePatchPairs.size());
17 List<cellZone*> cz(0);
19 forAll(mergePatchPairs, pairI)
23 mergePatchPairs[pairI].first()
24 + mergePatchPairs[pairI].second()
29 pz[pairI] =
new pointZone
31 mergeName +
"CutPointZone",
37 const word masterPatchName(mergePatchPairs[pairI].first());
38 const polyPatch& masterPatch =
39 mesh.boundaryMesh()[masterPatchName];
41 fz[3*pairI] =
new faceZone
43 mergeName +
"MasterZone",
44 identity(masterPatch.size(), masterPatch.start()),
51 const word slavePatchName(mergePatchPairs[pairI].second());
52 const polyPatch& slavePatch =
53 mesh.boundaryMesh()[slavePatchName];
55 fz[3*pairI + 1] =
new faceZone
57 mergeName +
"SlaveZone",
58 identity(slavePatch.size(), slavePatch.start()),
65 fz[3*pairI + 2] =
new faceZone
67 mergeName +
"CutFaceZone",
73 Info<<
"Adding point and face zones" <<
endl;
74 mesh.addZones(pz, fz, cz);
77 Info<<
"Creating attachPolyTopoChanger" <<
endl;
78 attachPolyTopoChanger polyMeshAttacher(
mesh);
79 polyMeshAttacher.setSize(mergePatchPairs.size());
81 forAll(mergePatchPairs, pairI)
85 mergePatchPairs[pairI].first()
86 + mergePatchPairs[pairI].second()
96 "couple" +
name(pairI),
99 mergeName +
"MasterZone",
100 mergeName +
"SlaveZone",
101 mergeName +
"CutPointZone",
102 mergeName +
"CutFaceZone",
103 mergePatchPairs[pairI].first(),
104 mergePatchPairs[pairI].second(),
105 slidingInterface::INTEGRAL,
107 intersection::VISIBLE
112 polyMeshAttacher.attach(
true);
116 Info<<
nl <<
"There are no merge patch pairs" <<
endl;