From 2e046d32d05c47f47a41cdd99624af11026926b6 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Wed, 5 Dec 2012 12:42:53 +0000
Subject: [PATCH] ENH: subsetMesh: improved error checking

---
 .../cellSelection/outsideCellSelection.C          | 15 +++++++++++++--
 .../mesh/manipulation/subsetMesh/subsetMeshDict   |  4 ++--
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/applications/utilities/mesh/manipulation/subsetMesh/cellSelection/outsideCellSelection.C b/applications/utilities/mesh/manipulation/subsetMesh/cellSelection/outsideCellSelection.C
index 556ae4e07e5..7cb4eec5181 100644
--- a/applications/utilities/mesh/manipulation/subsetMesh/cellSelection/outsideCellSelection.C
+++ b/applications/utilities/mesh/manipulation/subsetMesh/cellSelection/outsideCellSelection.C
@@ -156,10 +156,21 @@ Foam::boolList Foam::cellSelections::outsideCellSelection::findRegions
         reduce(keepRegionI, maxOp<label>());
         keepRegion[keepRegionI] = true;
 
-        if (verbose)
+        reduce(keepProcI, maxOp<label>());
+
+        if (keepProcI == -1)
         {
-            reduce(keepProcI, maxOp<label>());
+            FatalErrorIn
+            (
+                "outsideCellSelection::findRegions"
+                "(const bool, const regionSplit&)"
+            )   << "Did not find " << locationsInMesh_[i]
+                << " in mesh." << " Mesh bounds are " << mesh_.bounds()
+                << exit(FatalError);
+        }
 
+        if (verbose)
+        {
             Info<< "Found location " << locationsInMesh_[i]
                 << " in cell " << cellI << " on processor " << keepProcI
                 << " in global region " << keepRegionI
diff --git a/applications/utilities/mesh/manipulation/subsetMesh/subsetMeshDict b/applications/utilities/mesh/manipulation/subsetMesh/subsetMeshDict
index 0f725142a36..93280bb3057 100644
--- a/applications/utilities/mesh/manipulation/subsetMesh/subsetMeshDict
+++ b/applications/utilities/mesh/manipulation/subsetMesh/subsetMeshDict
@@ -27,7 +27,7 @@ selections
         // used by snappyHexMesh, cvMesh.
         type    badQuality;
         // Use the quality criteria from the snappyHexMeshDict
-        ${.meshQualityControls}
+        ${:meshQualityControls}
     }
 
     outside
@@ -42,7 +42,7 @@ selections
         //- Define mesh location for keeping.
         //  In this case use the one from snappyHexMeshDict. This can
         //  optionally be a list of locations.
-        locationsInMesh (${.castellatedMeshControls.locationInMesh});
+        locationsInMesh (${:castellatedMeshControls.locationInMesh});
     }
 }
 
-- 
GitLab