mergePatchPairs vs stitchMesh
I am using the mergePatchPairs feature of blockMesh with OF16.
I have noticed a limitation in its capability of merging two cylindrical patches. This is for the case of merging a fine grid patch to a coarse grid patch. When the cylindrical patches are short (approx. 2*diameter) the merging works; when the patches are longer the merging fails, with the following error:
Zero length edge detected. Probable projection error: slave patch probably does not project onto master. Please switch on enriched patch debug for more info
From function void enrichedPatch::calcCutFaces() const
in file slidingInterface/enrichedPatch/enrichedPatchCutFaces.C at line 237.
I have found that it is possible to use stitchMesh to connect the two regions of the mesh (using the same long cylindrical patches). However, the zone information from blockMesh must be deleted first, so this is not ideal.
From a quick look at the code I can see that mergePatchPairs and stitchMesh use different methods for connecting the patches. However, I cannot quite see where the error comes from.
Is this a known limitation of mergePatchPairs? Could there be a fix?
Some more information on this case:
Following the message to 'switch on enriched patch debug' from above I ran blockMesh again (with the long cylindrical patches) and received the following error message:
Duplicate point found in cut face. Error in the face cutting algorithm for global face 4(221561 221576 221771 221756) local face 4(1606 1607 1620 1619)This message has been recently linked to a bug http://www.cfd-online.com/Forums/openfoam-bugs/67316-change-triangle-intersection-breaks-stitchmesh-1-5-1-6-a.html
However, this bug was reported for stitchMesh rather than mergePatchPairs, so it may not be directly related.
Can anyone explain the conditions that generate these errors?
|All times are GMT -4. The time now is 17:26.|