From 428dff7711b3d05c5ac1b55ba37d86b601764b52 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Wed, 14 Oct 2015 14:45:01 +0100
Subject: [PATCH] ENH: tetDecomposer: continue in case of neg-tet volume

---
 .../polyTopoChange/polyTopoChange/tetDecomposer.C         | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C
index 57023168bdc..eca047fb504 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/tetDecomposer.C
@@ -2,8 +2,8 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2012-2015 OpenFOAM Foundation
-     \\/     M anipulation  |
+    \\  /    A nd           | Copyright (C) 2012-2014 OpenFOAM Foundation
+     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -149,7 +149,7 @@ Foam::label Foam::tetDecomposer::triIndex(const label faceI, const label fp)
 const
 {
     const face& f = mesh_.faces()[faceI];
-    const label fp0 = mesh_.tetBasePtIs()[faceI];
+    const label fp0 = max(0, mesh_.tetBasePtIs()[faceI]);
 
     // Work out triangle index on this face
     label thisTriI;
@@ -436,7 +436,7 @@ void Foam::tetDecomposer::setRefinement
         }
         else
         {
-            label fp0 = mesh_.tetBasePtIs()[faceI];
+            label fp0 = max(mesh_.tetBasePtIs()[faceI], 0);
             label fp = f.fcIndex(fp0);
 
             for (label triI = 0; triI < f.size()-2; triI++)
-- 
GitLab