transformGeometricField.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) 2018 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 InClass
28  Foam::transformGeometricField
29 
30 Description
31  Spatial transformation functions for GeometricField
32 
33 SourceFiles
34  transformGeometricField.C
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef transformGeometricField_H
39 #define transformGeometricField_H
40 
41 #include "transform.H"
42 #include "GeometricField.H"
43 
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 
46 namespace Foam
47 {
48 
49 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
50 
51 // transform()
52 
53 template<class Type, template<class> class PatchField, class GeoMesh>
54 void transform
55 (
56  GeometricField<Type, PatchField, GeoMesh>& result,
57  const dimensionedTensor& rot,
58  const GeometricField<Type, PatchField, GeoMesh>& fld
59 );
60 
61 template<class Type, template<class> class PatchField, class GeoMesh>
62 void transform
63 (
64  GeometricField<Type, PatchField, GeoMesh>& result,
65  const GeometricField<tensor, PatchField, GeoMesh>& rot,
66  const GeometricField<Type, PatchField, GeoMesh>& fld
67 );
68 
69 
70 template<class Type, template<class> class PatchField, class GeoMesh>
71 tmp<GeometricField<Type, PatchField, GeoMesh>> transform
72 (
73  const GeometricField<tensor, PatchField, GeoMesh>& rot,
74  const GeometricField<Type, PatchField, GeoMesh>& fld
75 );
76 
77 template<class Type, template<class> class PatchField, class GeoMesh>
78 tmp<GeometricField<Type, PatchField, GeoMesh>> transform
79 (
80  const GeometricField<tensor, PatchField, GeoMesh>& rot,
81  const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld
82 );
83 
84 template<class Type, template<class> class PatchField, class GeoMesh>
85 tmp<GeometricField<Type, PatchField, GeoMesh>> transform
86 (
87  const tmp<GeometricField<tensor, PatchField, GeoMesh>>& trot,
88  const GeometricField<Type, PatchField, GeoMesh>& fld
89 );
90 
91 template<class Type, template<class> class PatchField, class GeoMesh>
92 tmp<GeometricField<Type, PatchField, GeoMesh>> transform
93 (
94  const tmp<GeometricField<tensor, PatchField, GeoMesh>>& trot,
95  const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld
96 );
97 
98 template<class Type, template<class> class PatchField, class GeoMesh>
99 tmp<GeometricField<Type, PatchField, GeoMesh>> transform
100 (
101  const dimensionedTensor& rot,
102  const GeometricField<Type, PatchField, GeoMesh>& fld
103 );
104 
105 template<class Type, template<class> class PatchField, class GeoMesh>
106 tmp<GeometricField<Type, PatchField, GeoMesh>> transform
107 (
108  const dimensionedTensor& rot,
109  const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld
110 );
111 
112 
113 
114 // invTransform()
115 
116 template<class Type, template<class> class PatchField, class GeoMesh>
117 void invTransform
118 (
119  GeometricField<Type, PatchField, GeoMesh>& result,
120  const dimensionedTensor& rot,
121  const GeometricField<Type, PatchField, GeoMesh>& fld
122 );
123 
124 template<class Type, template<class> class PatchField, class GeoMesh>
125 void invTransform
126 (
127  GeometricField<Type, PatchField, GeoMesh>& result,
128  const GeometricField<tensor, PatchField, GeoMesh>& rot,
129  const GeometricField<Type, PatchField, GeoMesh>& fld
130 );
131 
132 template<class Type, template<class> class PatchField, class GeoMesh>
133 tmp<GeometricField<Type, PatchField, GeoMesh>> invTransform
134 (
135  const GeometricField<tensor, PatchField, GeoMesh>& rot,
136  const GeometricField<Type, PatchField, GeoMesh>& fld
137 );
138 
139 template<class Type, template<class> class PatchField, class GeoMesh>
140 tmp<GeometricField<Type, PatchField, GeoMesh>> invTransform
141 (
142  const GeometricField<tensor, PatchField, GeoMesh>& rot,
143  const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld
144 );
145 
146 template<class Type, template<class> class PatchField, class GeoMesh>
147 tmp<GeometricField<Type, PatchField, GeoMesh>> invTransform
148 (
149  const tmp<GeometricField<tensor, PatchField, GeoMesh>>& trot,
150  const GeometricField<Type, PatchField, GeoMesh>& fld
151 );
152 
153 template<class Type, template<class> class PatchField, class GeoMesh>
154 tmp<GeometricField<Type, PatchField, GeoMesh>> invTransform
155 (
156  const tmp<GeometricField<tensor, PatchField, GeoMesh>>& trot,
157  const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld
158 );
159 
160 
161 template<class Type, template<class> class PatchField, class GeoMesh>
162 tmp<GeometricField<Type, PatchField, GeoMesh>> invTransform
163 (
164  const dimensionedTensor& rot,
165  const GeometricField<Type, PatchField, GeoMesh>& fld
166 );
167 
168 template<class Type, template<class> class PatchField, class GeoMesh>
169 tmp<GeometricField<Type, PatchField, GeoMesh>> invTransform
170 (
171  const dimensionedTensor& rot,
172  const tmp<GeometricField<Type, PatchField, GeoMesh>>& tfld
173 );
174 
175 
176 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
177 
178 } // End namespace Foam
179 
180 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
181 
182 #ifdef NoRepository
183  #include "transformGeometricField.C"
184 #endif
185 
186 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
187 
188 #endif
189 
190 // ************************************************************************* //
transformGeometricField.C
Spatial transformation functions for FieldFields.
Foam::transform
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
Definition: dimensionSet.C:521
fld
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))
Definition: gmvOutputLagrangian.H:23
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
GeometricField.H
Foam::invTransform
dimensionSet invTransform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
Definition: dimensionSet.C:527
transform.H
3D tensor transformation operations.
Foam::dimensionedTensor
dimensioned< tensor > dimensionedTensor
Dimensioned tensor obtained from generic dimensioned type.
Definition: dimensionedTensor.H:52