cellLimitedGrads.C
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) 2011-2016 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
26\*---------------------------------------------------------------------------*/
27
28#include "cellLimitedGrad.H"
32
33// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
34
35#define makeNamedFvLimitedGradTypeScheme(SS, Type, Limiter, Name) \
36 typedef Foam::fv::SS<Foam::Type, Foam::fv::gradientLimiters::Limiter> \
37 SS##Type##Limiter##_; \
38 \
39 defineTemplateTypeNameAndDebugWithName \
40 ( \
41 SS##Type##Limiter##_, \
42 Name, \
43 0 \
44 ); \
45 \
46 namespace Foam \
47 { \
48 namespace fv \
49 { \
50 gradScheme<Type>::addIstreamConstructorToTable \
51 < \
52 SS<Type, gradientLimiters::Limiter> \
53 > add##SS##Type##Limiter##IstreamConstructorToTable_; \
54 } \
55 }
56
57#define makeFvLimitedGradTypeScheme(SS, Type, Limiter) \
58 makeNamedFvLimitedGradTypeScheme(SS##Grad, Type, Limiter, #SS"<"#Limiter">")
59
60#define makeFvLimitedGradScheme(SS, Limiter) \
61 \
62 makeFvLimitedGradTypeScheme(SS, scalar, Limiter) \
63 makeFvLimitedGradTypeScheme(SS, vector, Limiter)
64
65
66// Default limiter in minmod specified without the limiter name
67// for backward compatibility
70
71makeFvLimitedGradScheme(cellLimited, Venkatakrishnan)
73
74// ************************************************************************* //
#define makeFvLimitedGradScheme(SS, Limiter)
#define makeNamedFvLimitedGradTypeScheme(SS, Type, Limiter, Name)
Cubic interpolation scheme class derived from linear and returns linear weighting factors but also ap...
Definition: cubic.H:59
cellLimitedGrad gradient scheme applied to a runTime selected base gradient scheme.