diff --git a/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C b/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C index e56730bd9eec8a55d1a3bc796e849fed0d461fd9..796e1cc9101d1703c9598dde880273340ac7b14b 100644 --- a/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C +++ b/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C @@ -134,16 +134,24 @@ void Foam::faceZone::calcCellLayers() const forAll (mf, faceI) { + label ownCellI = own[mf[faceI]]; + label neiCellI = + ( + zoneMesh().mesh().isInternalFace(mf[faceI]) + ? nei[mf[faceI]] + : -1 + ); + if (!faceFlip[faceI]) { // Face is oriented correctly, no flip needed - mc[faceI] = nei[mf[faceI]]; - sc[faceI] = own[mf[faceI]]; + mc[faceI] = neiCellI; + sc[faceI] = ownCellI; } else { - mc[faceI] = own[mf[faceI]]; - sc[faceI] = nei[mf[faceI]]; + mc[faceI] = ownCellI; + sc[faceI] = neiCellI; } } //Info << "masterCells: " << mc << endl;