symmTransformField.H
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  Copyright (C) 2023 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
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 Typedef
28  Foam::symmTransformField
29 
30 Description
31  Spatial transformation functions for primitive fields.
32 
33 SourceFiles
34  symmTransformField.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef Foam_symmTransformField_H
39 #define Foam_symmTransformField_H
40 
41 #include "symmTransform.H"
42 #include "symmTensorField.H"
43 #include "sphericalTensor.H"
44 
45 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 
47 namespace Foam
48 {
49 
50 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
51 
52 // transform()
53 
54 template<class Type>
55 void transform
56 (
57  Field<Type>& result,
58  const symmTensor& rot,
59  const Field<Type>& fld
60 );
61 
62 template<class Type>
63 void transform
64 (
65  Field<Type>& result,
66  const symmTensorField& rot,
67  const Field<Type>& fld
68 );
69 
70 
71 template<class Type>
72 tmp<Field<Type>> transform
73 (
74  const symmTensorField& rot,
75  const Field<Type>& fld
76 );
77 
78 template<class Type>
79 tmp<Field<Type>> transform
80 (
81  const symmTensorField& rot,
82  const tmp<Field<Type>>& tfld
83 );
84 
85 template<class Type>
86 tmp<Field<Type>> transform
87 (
88  const tmp<symmTensorField>& trot,
89  const Field<Type>& tfld
90 );
91 
92 template<class Type>
93 tmp<Field<Type>> transform
94 (
95  const tmp<symmTensorField>& trot,
96  const tmp<Field<Type>>& tfld
97 );
98 
99 
100 template<class Type>
101 tmp<Field<Type>> transform
102 (
103  const symmTensor& rot,
104  const Field<Type>& fld
105 );
106 
107 template<class Type>
108 tmp<Field<Type>> transform
109 (
110  const symmTensor& rot,
111  const tmp<Field<Type>>& tfld
112 );
113 
114 
115 // Specializations
116 
117 template<>
118 tmp<Field<sphericalTensor>>
120 
121 template<>
122 tmp<Field<sphericalTensor>>
123 transformFieldMask<sphericalTensor>(const tmp<symmTensorField>&);
124 
125 
126 template<>
127 tmp<Field<symmTensor>>
129 
130 template<>
131 tmp<Field<symmTensor>>
132 transformFieldMask<symmTensor>(const tmp<symmTensorField>&);
133 
134 
135 template<>
136 tmp<Field<tensor>>
138 
139 template<>
140 tmp<Field<tensor>>
141 transformFieldMask<tensor>(const tmp<symmTensorField>&);
142 
143 
144 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
145 
146 } // End namespace Foam
147 
148 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
149 
150 #ifdef NoRepository
151  #include "symmTransformField.C"
152 #endif
153 
154 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
155 
156 #endif
157 
158 // ************************************************************************* //
3D symmetric tensor transformation operations.
Field< symmTensor > symmTensorField
Specialisation of Field<T> for symmTensor.
tmp< Field< sphericalTensor > > transformFieldMask< sphericalTensor >(const tensorField &tf)
SymmTensor< scalar > symmTensor
SymmTensor of scalars, i.e. SymmTensor<scalar>.
Definition: symmTensor.H:55
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< ' ';}gmvFile<< nl;for(const word &name :lagrangianScalarNames){ IOField< scalar > fld(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
tmp< Field< tensor > > transformFieldMask< tensor >(const symmTensorField &)
Definition: tensorField.C:78
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
Definition: dimensionSet.C:521
tmp< Field< symmTensor > > transformFieldMask< symmTensor >(const tensorField &tf)
Namespace for OpenFOAM.