diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdges.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdges.C index 72a27c7bc3806b630e56c7c4b3f1a0aa2dbc6f0b..01c7ec471c682bebb2b24bd646f46e13773bcbc6 100644 --- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdges.C +++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshEdges.C @@ -56,7 +56,14 @@ Foam::label Foam::primitiveMesh::getEdge // Make new edge. label edgeI = es.size(); pe[pointi].append(edgeI); - pe[nextPointi].append(edgeI); + + if (nextPointi != pointi) + { + // Very occasionally (e.g. blockMesh) a face can have duplicate + // vertices. Make sure we register pointEdges only once. + pe[nextPointi].append(edgeI); + } + if (pointi < nextPointi) { es.append(edge(pointi, nextPointi));