OpenFOAM
12
The OpenFOAM Foundation
fieldMapperM.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration | Website: https://openfoam.org
5
\\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
11
OpenFOAM is free software: you can redistribute it and/or modify it
12
under the terms of the GNU General Public License as published by
13
the Free Software Foundation, either version 3 of the License, or
14
(at your option) any later version.
15
16
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19
for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23
24
\*---------------------------------------------------------------------------*/
25
26
#define DEFINE_FIELD_MAPPER_MAP_OPERATOR(Type, Modifier) \
27
\
28
virtual void operator() \
29
( \
30
Field<Type>& f, \
31
const Field<Type>& mapF \
32
) const Modifier; \
33
\
34
virtual tmp<Field<Type>> operator() \
35
( \
36
const Field<Type>& mapF \
37
) const Modifier;
38
39
40
#define DEFINE_FIELD_MAPPER_MAP_OR_ASSIGN_OPERATOR(Type, Modifier) \
41
\
42
virtual void operator() \
43
( \
44
Field<Type>& f, \
45
const Field<Type>& mapF, \
46
const Type& unmappedVal \
47
) const Modifier; \
48
\
49
virtual tmp<Field<Type>> operator() \
50
( \
51
const Field<Type>& mapF, \
52
const Type& unmappedVal \
53
) const Modifier; \
54
\
55
virtual void operator() \
56
( \
57
Field<Type>& f, \
58
const Field<Type>& mapF, \
59
const FieldFunctor<Type>& unmappedFunc \
60
) const Modifier; \
61
\
62
virtual tmp<Field<Type>> operator() \
63
( \
64
const Field<Type>& mapF, \
65
const FieldFunctor<Type>& unmappedFunc \
66
) const Modifier;
67
68
69
#define IMPLEMENT_FIELD_MAPPER_MAP_OPERATOR(Type, mapperType) \
70
\
71
void Foam::mapperType::operator() \
72
( \
73
Field<Type>& f, \
74
const Field<Type>& mapF \
75
) const \
76
{ \
77
map(f, mapF); \
78
} \
79
\
80
Foam::tmp<Foam::Field<Foam::Type>> Foam::mapperType::operator() \
81
( \
82
const Field<Type>& mapF \
83
) const \
84
{ \
85
return map(mapF); \
86
}
87
88
89
#define IMPLEMENT_FIELD_MAPPER_MAP_OR_ASSIGN_OPERATOR(Type, mapperType) \
90
\
91
void Foam::mapperType::operator() \
92
( \
93
Field<Type>& f, \
94
const Field<Type>& mapF, \
95
const Type& unmappedVal \
96
) const \
97
{ \
98
mapOrAssign(f, mapF, unmappedVal); \
99
} \
100
\
101
Foam::tmp<Foam::Field<Foam::Type>> Foam::mapperType::operator() \
102
( \
103
const Field<Type>& mapF, \
104
const Type& unmappedVal \
105
) const \
106
{ \
107
return mapOrAssign(mapF, unmappedVal); \
108
} \
109
\
110
void Foam::mapperType::operator() \
111
( \
112
Field<Type>& f, \
113
const Field<Type>& mapF, \
114
const FieldFunctor<Type>& unmappedFunc \
115
) const \
116
{ \
117
mapOrAssign(f, mapF, unmappedFunc); \
118
} \
119
\
120
Foam::tmp<Foam::Field<Foam::Type>> Foam::mapperType::operator() \
121
( \
122
const Field<Type>& mapF, \
123
const FieldFunctor<Type>& unmappedFunc \
124
) const \
125
{ \
126
return mapOrAssign(mapF, unmappedFunc); \
127
}
128
129
130
// ************************************************************************* //
src
OpenFOAM
fields
Fields
fieldMappers
fieldMapper
fieldMapperM.H
Generated by
1.9.1