From 6d6c204745ac2960bed56f3d9723c0559e0476a6 Mon Sep 17 00:00:00 2001
From: Mattijs Janssens <>
Date: Fri, 18 Dec 2020 17:34:39 +0000
Subject: [PATCH] BUG: extrudeMesh - partial fix for incorrect behaviour - see
 #1964

Changed IO flag so that new mesh is created
- was using old 'faces', 'owner' etc but then used the new patch starts

Corrected logic for contMap in polyTopoChange
---
 .../mesh/generation/extrude/extrudeMesh/extrudeMesh.C       | 2 +-
 src/meshTools/polyTopoChange/polyTopoChange.C               | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C
index 8f9c0b9d7bb..f46706141be 100644
--- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C
+++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C
@@ -704,7 +704,7 @@ int main(int argc, char *argv[])
                 regionName,
                 runTimeExtruded.constant(),
                 runTimeExtruded,
-                IOobject::READ_IF_PRESENT,  // Read fv* if present
+                IOobject::NO_READ,  // Do not read primitives, do read fv*
                 IOobject::AUTO_WRITE,
                 false
             ),
diff --git a/src/meshTools/polyTopoChange/polyTopoChange.C b/src/meshTools/polyTopoChange/polyTopoChange.C
index aceb9a9fbf1..30268d36e39 100644
--- a/src/meshTools/polyTopoChange/polyTopoChange.C
+++ b/src/meshTools/polyTopoChange/polyTopoChange.C
@@ -142,7 +142,11 @@ void Foam::polyTopoChange::countMap
 
         if (oldCelli >= 0)
         {
-            if (reverseMap[oldCelli] == newCelli)
+            if
+            (
+                oldCelli < reverseMap.size()
+             && reverseMap[oldCelli] == newCelli
+            )
             {
                 // unchanged
             }
-- 
GitLab