111 Info<<
"Reusing existing pointZone "
113 <<
" at index " << zoneID <<
endl;
118 zoneID = pointZones.
size();
119 Info<<
"Adding pointZone " << name <<
" at index " << zoneID <<
endl;
138 label addFaceZone(
const polyMesh& mesh,
const word& name)
145 <<
" at index " << zoneID <<
endl;
150 zoneID = faceZones.
size();
151 Info<<
"Adding faceZone " << name <<
" at index " << zoneID <<
endl;
171 label addCellZone(
const polyMesh& mesh,
const word& name)
178 <<
" at index " << zoneID <<
endl;
183 zoneID = cellZones.
size();
184 Info<<
"Adding cellZone " << name <<
" at index " << zoneID <<
endl;
210 FatalErrorIn(
"checkPatch(const polyBoundaryMesh&, const word&)")
211 <<
"Cannot find patch " << name << endl
212 <<
"It should be present and of non-zero size" << endl
213 <<
"Valid patches are " << bMesh.
names()
217 if (bMesh[patchI].empty())
219 FatalErrorIn(
"checkPatch(const polyBoundaryMesh&, const word&)")
220 <<
"Patch " << name <<
" is present but zero size"
228 int main(
int argc,
char *argv[])
244 runTime.functionObjects().off();
256 if (partialCover && perfectCover)
259 <<
"Cannot both supply partial and perfect." << endl
260 <<
"Use perfect match option if the patches perfectly align"
261 <<
" (both vertex positions and face centres)" << endl
266 const word mergePatchName(masterPatchName + slavePatchName);
267 const word cutZoneName(mergePatchName +
"CutFaceZone");
273 Info<<
"Coupling partially overlapping patches "
274 << masterPatchName <<
" and " << slavePatchName <<
nl
275 <<
"Resulting internal faces will be in faceZone " << cutZoneName
277 <<
"Any uncovered faces will remain in their patch"
280 tom = slidingInterface::PARTIAL;
282 else if (perfectCover)
284 Info<<
"Coupling perfectly aligned patches "
285 << masterPatchName <<
" and " << slavePatchName <<
nl
286 <<
"Resulting (internal) faces will be in faceZone " << cutZoneName
288 <<
"Note: both patches need to align perfectly." <<
nl
290 <<
" positions and the face centres need to align to within" <<
nl
291 <<
"a tolerance given by the minimum edge length on the patch"
296 Info<<
"Coupling patches " << masterPatchName <<
" and "
297 << slavePatchName <<
nl
298 <<
"Resulting (internal) faces will be in faceZone " << cutZoneName
300 <<
"Note: the overall area covered by both patches should be"
301 <<
" identical (\"integral\" interface)." << endl
302 <<
"If this is not the case use the -partial option" <<
nl <<
endl;
318 slidingTolerances += toleranceFile;
339 isf[i] = masterPatch.start() + i;
352 label cutZoneID = addFaceZone(mesh, cutZoneName);
354 mesh.
faceZones()[cutZoneID].resetAddressing
377 label
pointZoneID = addPointZone(mesh, mergePatchName +
"CutPointZone");
380 label masterZoneID = addFaceZone(mesh, mergePatchName +
"MasterZone");
382 mesh.
faceZones()[masterZoneID].resetAddressing
399 osf[i] = slavePatch.
start() + i;
402 label slaveZoneID = addFaceZone(mesh, mergePatchName +
"SlaveZone");
403 mesh.
faceZones()[slaveZoneID].resetAddressing
410 label cutZoneID = addFaceZone(mesh, cutZoneName);
411 mesh.
faceZones()[cutZoneID].resetAddressing
427 mergePatchName +
"MasterZone",
428 mergePatchName +
"SlaveZone",
429 mergePatchName +
"CutPointZone",
449 Info<<
"Reading all current volfields" <<
endl;
457 ReadFields(mesh, objects, volSphericalTensorFields);
460 ReadFields(mesh, objects, volSymmTensorFields);
490 stitcher.instance() = oldInstance;
492 Info <<
nl <<
"Writing polyMesh to time " << runTime.timeName() <<
endl;
494 IOstream::defaultPrecision(10);
499 !runTime.objectRegistry::writeObject
501 runTime.writeFormat(),
502 IOstream::currentVersion,
503 runTime.writeCompression()
508 <<
"Failed writing polyMesh."