OpenFOAM
v2406
The open source CFD toolbox
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
-------------------------------------------------------------------------------
10
License
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
26
Class
27
Foam::fv::gradientLimiters::minmod
28
29
Description
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
46
See also
47
Foam::fv::cellLimitedGrad
48
49
\*---------------------------------------------------------------------------*/
50
51
#ifndef minmodGradientLimiter_H
52
#define minmodGradientLimiter_H
53
54
#include "
Istream.H
"
55
56
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
57
58
namespace
Foam
59
{
60
61
namespace
fv
62
{
63
64
namespace
gradientLimiters
65
{
66
67
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
68
69
class
minmod
70
{
71
72
public
:
73
74
// Constructors
75
76
minmod
(
Istream
&)
77
{}
78
79
80
// Member Functions
81
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
// ************************************************************************* //
Foam::fv::gradientLimiters::minmod
Minmod gradient limiter.
Definition:
minmodGradientLimiter.H:62
Foam::Istream
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Definition:
Istream.H:57
Foam::fv::gradientLimiters::minmod::limiter
scalar limiter(const scalar r) const
Definition:
minmodGradientLimiter.H:75
Istream.H
fv
labelList fv(nPoints)
Foam::min
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
Definition:
hashSets.C:26
Foam::fv::gradientLimiters::minmod::minmod
minmod(Istream &)
Definition:
minmodGradientLimiter.H:69
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.C:26
src
finiteVolume
finiteVolume
gradSchemes
limitedGradSchemes
cellLimitedGrad
gradientLimiters
minmodGradientLimiter.H
Generated by
1.8.14