minmodGradientLimiter.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2018 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::fv::gradientLimiters::minmod
28
29Description
30 Minmod gradient limiter
31
32 This is the default gradient limiter which clips the gradient to remove cell
33 to face extrapolation unboundedness. It corresponds to the original
34 cellLimitedGrad implementation before the addition of run-time select-able
35 limiter functions.
36
37 Example:
38 \verbatim
39 gradSchemes
40 {
41 default Gauss linear;
42 limited cellLimited Gauss linear 1;
43 }
44 \endverbatim
45
46See also
47 Foam::fv::cellLimitedGrad
48
49\*---------------------------------------------------------------------------*/
50
51#ifndef minmodGradientLimiter_H
52#define minmodGradientLimiter_H
53
54#include "Istream.H"
55
56// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
57
58namespace Foam
59{
60
61namespace fv
62{
63
64namespace gradientLimiters
65{
66
67// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
69class minmod
70{
71
72public:
73
74 // Constructors
77 {}
78
79
80 // Member Functions
82 inline scalar limiter(const scalar r) const
83 {
84 return min(r, 1);
85 }
86};
87
88
89// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
90
91} // End namespace gradientLimiters
92
93} // End namespace fv
94
95} // End namespace Foam
96
97// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
98
99#endif
100
101// ************************************************************************* //
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Definition: Istream.H:64
scalar limiter(const scalar r) const
Namespace for OpenFOAM.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
Definition: hashSets.C:33
labelList fv(nPoints)