From ab49eaf9831dc151c3c24f124b88c294fef04be1 Mon Sep 17 00:00:00 2001 From: Shannon Leakey <> Date: Mon, 7 Jun 2021 17:26:09 +0100 Subject: [PATCH] BUG: cellLimited: ensure the limiter is differentiable (fixes #2113) --- CONTRIBUTORS.md | 1 + .../gradientLimiters/cubicGradientLimiter.H | 21 ++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index c3ca4001ef..03a09ffecb 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -24,6 +24,7 @@ It is likely incomplete... - Hrvoje Jasak - Alexander Kabat vel Job - Thilo Knacke +- Shannon Leakey - Tommaso Lucchini - Graham Macpherson - Alexey Matveichev diff --git a/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/cellLimitedGrad/gradientLimiters/cubicGradientLimiter.H b/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/cellLimitedGrad/gradientLimiters/cubicGradientLimiter.H index 0aea906ca6..68089e82cc 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/cellLimitedGrad/gradientLimiters/cubicGradientLimiter.H +++ b/src/finiteVolume/finiteVolume/gradSchemes/limitedGradSchemes/cellLimitedGrad/gradientLimiters/cubicGradientLimiter.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2018 OpenFOAM Foundation + Copyright (C) 2021 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -24,7 +25,7 @@ License along with OpenFOAM. If not, see . Class - Foam::fv::gradientLimiters::minmod + Foam::fv::gradientLimiters::cubic Description Cubic gradient limiter @@ -44,9 +45,11 @@ Description Michalak, K., & Ollivier-Gooch, C. (2008). Limiters for unstructured higher-order accurate solutions of the Euler equations. - In 46th AIAA Aerospace Sciences Meeting and Exhibit (p. 776). + In 46th AIAA Aerospace Sciences Meeting and Exhibition. + DOI:10.2514/6.2008-776 \endverbatim +Usage Example: \verbatim gradSchemes @@ -57,8 +60,8 @@ Description \endverbatim See also - Foam::fv::cellLimitedGrad - Foam::fv::gradientLimiters::Venkatakrishnan + - Foam::fv::cellLimitedGrad + - Foam::fv::gradientLimiters::Venkatakrishnan \*---------------------------------------------------------------------------*/ @@ -102,8 +105,8 @@ public: cubic(Istream& schemeData) : rt_(readScalar(schemeData)), - a_(2.0/sqr(rt_) - 2.0/pow3(rt_)), - b_(-(3.0/2.0)*a_*rt_) + a_((rt_ - 2)/pow3(rt_)), + b_(-(3*a_*sqr(rt_) + 1)/(2*rt_)) { if (rt_ < 1) { @@ -123,10 +126,8 @@ public: { return ((a_*r + b_)*r + 1)*r; } - else - { - return 1; - } + + return 1; } };