From 7d04ef70316400a6a19116e96c47515b8f5bee58 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Wed, 16 Sep 2020 09:19:45 +0200
Subject: [PATCH] BUG: gradingDescriptor stream input ignores negative
 expansion (Fix #1841)

- mostly only tripped when using fractional edge grading, since this
  is where the list reading is used. Overseen in commit 7da0b5bee169.
---
 src/mesh/blockMesh/gradingDescriptor/gradingDescriptor.C | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/mesh/blockMesh/gradingDescriptor/gradingDescriptor.C b/src/mesh/blockMesh/gradingDescriptor/gradingDescriptor.C
index ab04583dd88..86785fa06b9 100644
--- a/src/mesh/blockMesh/gradingDescriptor/gradingDescriptor.C
+++ b/src/mesh/blockMesh/gradingDescriptor/gradingDescriptor.C
@@ -6,7 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2015 OpenFOAM Foundation
-    Copyright (C) 2019 OpenCFD Ltd.
+    Copyright (C) 2019-2020 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -129,6 +129,11 @@ Foam::Istream& Foam::operator>>(Istream& is, gradingDescriptor& gd)
         is.readEnd("gradingDescriptor");
     }
 
+    if (gd.expansionRatio_ < 0)
+    {
+        gd.expansionRatio_ = 1.0/(-gd.expansionRatio_);
+    }
+
     is.check(FUNCTION_NAME);
     return is;
 }
-- 
GitLab