Loading...
Searching...
No Matches
genericPatchFieldBaseTemplates.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) 2021-2023 OpenCFD Ltd.
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
29
30// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
31
32template<class MapperType>
34(
36 const MapperType& mapper
37)
38{
39 #undef doLocalCode
40 #define doLocalCode(ValueType, Member) \
41 forAllIters(rhs.Member, iter) \
42 { \
43 this->Member.insert \
44 ( \
45 iter.key(), \
46 autoPtr<Field<ValueType>>::New(*iter.val(), mapper) \
47 ); \
48 }
49
50 //doLocalCode(label, labelFields_);
51 doLocalCode(scalar, scalarFields_);
52 doLocalCode(vector, vectorFields_);
53 doLocalCode(sphericalTensor, sphTensorFields_);
54 doLocalCode(symmTensor, symmTensorFields_);
55 doLocalCode(tensor, tensorFields_);
56 #undef doLocalCode
57}
58
59
60template<class MapperType>
62(
63 const MapperType& mapper
64)
65{
66 #undef doLocalCode
67 #define doLocalCode(ValueType, Member) \
68 forAllIters(this->Member, iter) \
69 { \
70 iter.val()->autoMap(mapper); \
71 }
72
73 //doLocalCode(label, labelFields_);
74 doLocalCode(scalar, scalarFields_);
75 doLocalCode(vector, vectorFields_);
76 doLocalCode(sphericalTensor, sphTensorFields_);
77 doLocalCode(symmTensor, symmTensorFields_);
78 doLocalCode(tensor, tensorFields_);
79 #undef doLocalCode
80}
81
82
83// ************************************************************************* //
void autoMapGeneric(const MapperType &mapper)
Implementation for autoMap of self given a mapping object.
genericPatchFieldBase(const Foam::zero, const genericPatchFieldBase &)
Partial copy construct. Only copy type and dictionary.
void mapGeneric(const genericPatchFieldBase &rhs, const MapperType &mapper)
Implementation for construct with mapper.
#define doLocalCode(FieldType, Variable)
Tensor< scalar > tensor
Definition symmTensor.H:57
void rhs(fvMatrix< typename Expr::value_type > &m, const Expr &expression)
Vector< scalar > vector
Definition vector.H:57
SphericalTensor< scalar > sphericalTensor
SphericalTensor of scalars, i.e. SphericalTensor<scalar>.
SymmTensor< scalar > symmTensor
SymmTensor of scalars, i.e. SymmTensor<scalar>.
Definition symmTensor.H:55