piecewiseLinearRamp.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) 2012-2015 OpenFOAM Foundation
9 Copyright (C) 2018 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27\*---------------------------------------------------------------------------*/
28
29#include "piecewiseLinearRamp.H"
31
32// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
33
34// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
35
36namespace Foam
37{
38 defineTypeNameAndDebug(piecewiseLinearRamp, 0);
40 (
41 faceAreaWeightModel,
42 piecewiseLinearRamp,
43 dictionary
44 );
45}
46
47
48// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
49
51(
52 const dictionary& faceAreaWeightDict
53)
54:
55 faceAreaWeightModel(typeName, faceAreaWeightDict),
56 lAF_(coeffDict().get<scalar>("lowerAreaFraction")),
57 uAF_(coeffDict().get<scalar>("upperAreaFraction"))
58{}
59
60
61// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
62
63Foam::scalar
64Foam::piecewiseLinearRamp::faceAreaWeight(scalar faceAreaFraction) const
65{
66 if (faceAreaFraction < lAF_)
67 {
68 return 0;
69 }
70 else if (faceAreaFraction < uAF_)
71 {
72 return faceAreaFraction/((uAF_ - lAF_)) - lAF_/(uAF_ - lAF_);
73 }
74
75 return 1;
76}
77
78
79// ************************************************************************* //
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
A linear ramp between 0 and 1 with definable start and end points.
virtual scalar faceAreaWeight(scalar faceAreaFraction) const
Return the faceAreaWeight.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Definition: className.H:121
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
Namespace for OpenFOAM.