Loading...
Searching...
No Matches
expressionEntryDimensioned.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) 2014-2018 Bernhard Gschaider
9 Copyright (C) 2019-2021 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
30#include "primitiveEntry.H"
31#include "dimensionedScalar.H"
32#include "dimensionedVector.H"
33#include "dimensionedTensor.H"
37
38// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
39
40namespace Foam
41{
42namespace exprTools
43{
44
49 empty,
51);
52
57 empty,
59);
60
65 empty,
67);
68
73 empty,
75);
76
78(
81 empty,
83);
84
85} // End namespace exprTools
86} // End namespace Foam
87
88
89// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
90
91#undef defineExpressionEntryType
92#define defineExpressionEntryType(DimType) \
93 Foam::string Foam::exprTools::DimType##Entry::evaluate(const entry& e) \
94 { \
95 DimType dt(dynamicCast<const primitiveEntry>(e)); \
96 return toExprStr<DimType::value_type>(dt.value()); \
97 }
98
99
103 return std::to_string(dt.value());
104}
105
106
111
112#undef defineExpressionEntryType
113
114// ************************************************************************* //
Macros for easy insertion into run-time selection tables.
#define addNamedToRunTimeSelectionTable(baseType, thisType, argNames, lookupName)
Add to construction table with 'lookupName' as the key.
const Type & value() const noexcept
Return const reference to value.
A keyword and a list of tokens is an 'entry'.
Definition entry.H:66
Convert dictionary entry to a stringified expression.
A class for handling character strings derived from std::string.
Definition string.H:76
#define defineExpressionEntryType(DimType)
Creates an expression string from various standard dimensioned types.
Helper methods for creating expressions.
Namespace for OpenFOAM.
dimensioned< symmTensor > dimensionedSymmTensor
Dimensioned tensor obtained from generic dimensioned type.
dimensioned< sphericalTensor > dimensionedSphericalTensor
Dimensioned sphericalTensor obtained from generic dimensioned type.
Type & dynamicCast(U &obj)
A dynamic_cast (for references) that generates FatalError on failed casts.
Definition typeInfo.H:124
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
dimensioned< tensor > dimensionedTensor
Dimensioned tensor obtained from generic dimensioned type.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
volScalarField & e
Create an expression string from a dimensionedScalar as its value.
static string evaluate(const entry &e)
Entry to string.
Create an expression string from a dimensionedSphericalTensor as its value.
Create an expression string from a dimensionedSymmTensor as its value.
Create an expression string from a dimensionedTensor as its value.
Create an expression string from a dimensionedVector as its value.