From 821635d186ffe6f4c16cc70991f4d29714f66a90 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Tue, 29 Sep 2009 20:31:24 +0100
Subject: [PATCH] fix mastercell calculation

---
 .../meshes/polyMesh/zones/faceZone/faceZone.C    | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C b/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C
index e56730bd9ee..796e1cc9101 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;
-- 
GitLab