OPAL (Object Oriented Parallel Accelerator Library)  2024.1
OPAL
CartesianCentering.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /***************************************************************************
3  *
4  * The IPPL Framework
5  *
6  *
7  * Visit http://people.web.psi.ch/adelmann/ for more details
8  *
9  ***************************************************************************/
10 
11 // CartesianCentering.h
12 // CenteringEnum enumeration, CartesianCentering and related classes (all
13 // static). These represent all types of centering of Field's on Cartesian and
14 // UniformCartesian meshes. See also Centering.[h,cpp] for backwards-compatible
15 // centering classes Cell and Vert (which are still used as defaults for some
16 // other classes parameterized on centering, and which are different than
17 // things like CommonCartesianCenterings::allCell here because they are not
18 // parameterized at all).
19 
20 #ifndef CARTESIAN_CENTERING_H
21 #define CARTESIAN_CENTERING_H
22 
23 #include "Meshes/Centering.h"
24 
25 #include <iostream>
26 #include <string>
27 
28 // Enumeration of basic 1D (one-component) centering types:
29 // May add to this when unstructured comes in, and it means something to
30 // simply say FACE or EDGE centering (for cartesian meshes, face and edge
31 // centerings are a combination of CELL and VERTEX along directions):
32 enum CenteringEnum {CELL=0, VERTEX=1, VERT=1};
33 
34 // Primary class for canned and user-defined cartesian centerings:
35 template<CenteringEnum* CE, unsigned Dim, unsigned NComponents=1U>
37 {
38 public:
39  static void print_Centerings(std::ostream&); // Print function
40  static std::string CenteringName;
41 };
42 template <CenteringEnum* CE, unsigned Dim, unsigned NComponents>
44 print_Centerings(std::ostream& out)
45 {
46  unsigned int i,j;
47  out << CenteringName << std::endl;
48  out << "Dim = " << Dim << " ; NComponents = " << NComponents << std::endl;
49  for (i=0;i<Dim;i++) {
50  for (j=0;j<NComponents;j++) {
51  out << "centering[dim=" << i << "][component=" << j << "] = "
52  << Centering::CenteringEnum_Names[CE[j+i*NComponents]] << std::endl;
53  }
54  }
55 }
56 
57 // Define some common CenteringEnum arrays for (logically) cartesian meshes.
58 // (Use CartesianCenterings with your own CenteringEnum* for those not
59 // appearing here.)
60 // Typically, you'll want to use the CommonCartesianCenterings class's
61 // specializations in your actual code where you specify a centering parameter
62 // for a Field you're declaring (see CommonCartesianCenterings class below)
63 
64 // N.B.: the name "CCCEnums" is a shortened form of the original name for this
65 // class, "CommonCartesianCenteringEnums"
66 
67 template<unsigned Dim, unsigned NComponents=1U, unsigned Direction=0U>
68 struct CCCEnums
69 {
70  // CenteringEnum arrays Classes with simple, descriptive names
71  //---------------------------------------------------------------------
72  // All components of Field cell-centered in all directions:
73  // static CenteringEnum allCell[NComponents*Dim];
74  // All components of Field vertex-centered in all directions:
75  // static CenteringEnum allVertex[NComponents*Dim];
76  // All components of Field face-centered in specified direction (meaning
77  // vertex centered in that direction, cell-centered in others):
78  // static CenteringEnum allFace[NComponents*Dim];
79  // All components of Field edge-centered along specified direction (cell
80  // centered in that direction, vertex-centered in others):
81  // static CenteringEnum allEdge[NComponents*Dim];
82  // Each vector component of Field face-centered in the corresponding
83  // direction:
84  // static CenteringEnum vectorFace[NComponents*Dim];
85  // Each vector component of Field edge-centered along the corresponding
86  // direction:
87  // static CenteringEnum vectorEdge[NComponents*Dim];
88  //---------------------------------------------------------------------
89 };
90 
91 //***************CommonCartesianCenteringEnum Specializations******************
92 
93 //11111111111111111111111111111111111111111111111111111111111111111111111111111
94 // 1D fields
95 //11111111111111111111111111111111111111111111111111111111111111111111111111111
96 
97 // 1D field of scalars (or 1D vectors, or 1D tensors, or 1D sym. tensors)
98 template<>
99 struct CCCEnums<1U,1U,0U> {
100  static CenteringEnum allCell[1U*1U];
101  static CenteringEnum allVertex[1U*1U];
102  // Componentwise centering along/perpendicular to component direction:
103  static CenteringEnum vectorFace[1U*1U];
104  static CenteringEnum vectorEdge[1U*1U];
105  // Face/Edge centering perpendicular to/along direction 0:
106  static CenteringEnum allFace[1U*1U];
107  static CenteringEnum allEdge[1U*1U];
108 };
109 
110 
111 //22222222222222222222222222222222222222222222222222222222222222222222222222222
112 // 2D fields
113 //22222222222222222222222222222222222222222222222222222222222222222222222222222
114 
115 // 2D field of scalars (or 1D vectors, or 1D tensors, or 1D sym. tensors)
116 template<>
117 struct CCCEnums<2U,1U,0U> {
118  static CenteringEnum allCell[2U*1U];
119  static CenteringEnum allVertex[2U*1U];
120  // Face/Edge centering perpendicular to/along direction 0:
121  static CenteringEnum allFace[2U*1U];
122  static CenteringEnum allEdge[2U*1U];
123 };
124 template<>
125 struct CCCEnums<2U,1U,1U> {
126  // Face/Edge centering perpendicular to/along direction 1:
127  static CenteringEnum allFace[2U*1U];
128  static CenteringEnum allEdge[2U*1U];
129 };
130 
131 // 2D field of 2D vectors:
132 template<>
133 struct CCCEnums<2U,2U,0U> {
134  static CenteringEnum allCell[2U*2U];
135  static CenteringEnum allVertex[2U*2U];
136  // Componentwise centering along/perpendicular to component direction:
137  static CenteringEnum vectorFace[2U*2U];
138  static CenteringEnum vectorEdge[2U*2U];
139  // Face/Edge centering perpendicular to/along direction 0:
140  static CenteringEnum allFace[2U*2U];
141  static CenteringEnum allEdge[2U*2U];
142 };
143 template<>
144 struct CCCEnums<2U,2U,1U> {
145  // Face/Edge centering perpendicular to/along direction 1:
146  static CenteringEnum allFace[2U*2U];
147  static CenteringEnum allEdge[2U*2U];
148 };
149 
150 // 2D field of 2D tensors:
151 template<>
152 struct CCCEnums<2U,4U,0U> {
153  static CenteringEnum allCell[4U*2U];
154  static CenteringEnum allVertex[4U*2U];
155  // Face/Edge centering perpendicular to/along direction 0:
156  static CenteringEnum allFace[2U*4U];
157  static CenteringEnum allEdge[2U*4U];
158 };
159 template<>
160 struct CCCEnums<2U,4U,1U> {
161  // Face/Edge centering perpendicular to/along direction 1:
162  static CenteringEnum allFace[2U*4U];
163  static CenteringEnum allEdge[2U*4U];
164 };
165 
166 // 2D field of 2D symmetric tensors:
167 template<>
168 struct CCCEnums<2U,3U,0U> {
169  static CenteringEnum allCell[2U*3U];
170  static CenteringEnum allVertex[2U*3U];
171  // Face/Edge centering perpendicular to/along direction 0:
172  static CenteringEnum allFace[2U*3U];
173  static CenteringEnum allEdge[2U*3U];
174 };
175 template<>
176 struct CCCEnums<2U,3U,1U> {
177  // Face/Edge centering perpendicular to/along direction 1:
178  static CenteringEnum allFace[2U*3U];
179  static CenteringEnum allEdge[2U*3U];
180 };
181 
182 
183 //33333333333333333333333333333333333333333333333333333333333333333333333333333
184 // 3D fields
185 //33333333333333333333333333333333333333333333333333333333333333333333333333333
186 
187 // 3D field of scalars (or 1D vectors, or 1D tensors, or 1D sym. tensors)
188 template<>
189 struct CCCEnums<3U,1U,0U> {
190  static CenteringEnum allCell[3U*1U];
191  static CenteringEnum allVertex[3U*1U];
192  // Face/Edge centering perpendicular to/along direction 0:
193  static CenteringEnum allFace[3U*1U];
194  static CenteringEnum allEdge[3U*1U];
195 };
196 template<>
197 struct CCCEnums<3U,1U,1U> {
198  // Face/Edge centering perpendicular to/along direction 1:
199  static CenteringEnum allFace[3U*1U];
200  static CenteringEnum allEdge[3U*1U];
201 };
202 template<>
203 struct CCCEnums<3U,1U,2U> {
204  // Face/Edge centering perpendicular to/along direction 2:
205  static CenteringEnum allFace[3U*1U];
206  static CenteringEnum allEdge[3U*1U];
207 };
208 
209 // 3D field of 2D vectors:
210 template<>
211 struct CCCEnums<3U,2U,0U> {
212  static CenteringEnum allCell[3U*2U];
213  static CenteringEnum allVertex[3U*2U];
214  // Face/Edge centering perpendicular to/along direction 0:
215  static CenteringEnum allFace[3U*2U];
216  static CenteringEnum allEdge[3U*2U];
217 };
218 template<>
219 struct CCCEnums<3U,2U,1U> {
220  // Face/Edge centering perpendicular to/along direction 1:
221  static CenteringEnum allFace[3U*2U];
222  static CenteringEnum allEdge[3U*2U];
223 };
224 template<>
225 struct CCCEnums<3U,2U,2U> {
226  // Face/Edge centering perpendicular to/along direction 2:
227  static CenteringEnum allFace[3U*2U];
228  static CenteringEnum allEdge[3U*2U];
229 };
230 
231 // 3D field of 3D vectors:
232 template<>
233 struct CCCEnums<3U,3U,0U> {
234  static CenteringEnum allCell[3U*3U];
235  static CenteringEnum allVertex[3U*3U];
236  // Componentwise centering along/perpendicular to component direction:
237  static CenteringEnum vectorFace[3U*3U];
238  static CenteringEnum vectorEdge[3U*3U];
239  // Face/Edge centering perpendicular to/along direction 0:
240  static CenteringEnum allFace[3U*3U];
241  static CenteringEnum allEdge[3U*3U];
242 };
243 template<>
244 struct CCCEnums<3U,3U,1U> {
245  // Face/Edge centering perpendicular to/along direction 1:
246  static CenteringEnum allFace[3U*3U];
247  static CenteringEnum allEdge[3U*3U];
248 };
249 template<>
250 struct CCCEnums<3U,3U,2U> {
251  // Face/Edge centering perpendicular to/along direction 2:
252  static CenteringEnum allFace[3U*3U];
253  static CenteringEnum allEdge[3U*3U];
254 };
255 
256 // 3D field of 3D tensors:
257 template<>
258 struct CCCEnums<3U,9U,0U> {
259  static CenteringEnum allCell[3U*9U];
260  static CenteringEnum allVertex[3U*9U];
261  // Face/Edge centering perpendicular to/along direction 0:
262  static CenteringEnum allFace[3U*9U];
263  static CenteringEnum allEdge[3U*9U];
264 };
265 template<>
266 struct CCCEnums<3U,9U,1U> {
267  // Face/Edge centering perpendicular to/along direction 1:
268  static CenteringEnum allFace[3U*9U];
269  static CenteringEnum allEdge[3U*9U];
270 };
271 template<>
272 struct CCCEnums<3U,9U,2U> {
273  // Face/Edge centering perpendicular to/along direction 2:
274  static CenteringEnum allFace[3U*9U];
275  static CenteringEnum allEdge[3U*9U];
276 };
277 
278 // 3D field of 3D symmetric tensors:
279 template<>
280 struct CCCEnums<3U,6U,0U> {
281  static CenteringEnum allCell[3U*6U];
282  static CenteringEnum allVertex[3U*6U];
283  // Face/Edge centering perpendicular to/along direction 0:
284  static CenteringEnum allFace[3U*6U];
285  static CenteringEnum allEdge[3U*6U];
286 };
287 template<>
288 struct CCCEnums<3U,6U,1U> {
289  // Face/Edge centering perpendicular to/along direction 1:
290  static CenteringEnum allFace[3U*6U];
291  static CenteringEnum allEdge[3U*6U];
292 };
293 template<>
294 struct CCCEnums<3U,6U,2U> {
295  // Face/Edge centering perpendicular to/along direction 2:
296  static CenteringEnum allFace[3U*6U];
297  static CenteringEnum allEdge[3U*6U];
298 };
299 
300 
301 
302 //-----------------------------------------------------------------------------
303 
304 // Wrapper classes that wrap CCCEnums classes into CartesianCenterings classes;
305 // the canned typedefs in the canned specializations of these below are what
306 // the user will likely use.
307 
308 template<unsigned Dim, unsigned NComponents=1U, unsigned Direction=0U>
310 {
311  //public:
312  // typedef CartesianCentering<CCCEnums<Dim,NComponents,
313  //Direction>::allCell, Dim, NComponents> allCell;
314  //typedef CartesianCentering<CCCEnums<Dim,NComponents,
315  //Direction>::allVertex, Dim, NComponents> allVertex;
316  //typedef CartesianCentering<CCCEnums<Dim,NComponents,
317  //Direction>::allFace, Dim, NComponents> allFace;
318  //typedef CartesianCentering<CCCEnums<Dim,NComponents,
319  //Direction>::allEdge, Dim, NComponents> allEdge;
320  //typedef CartesianCentering<CCCEnums<Dim,NComponents,
321  //Direction>::vectorFace, Dim, NComponents> vectorFace;
322  //typedef CartesianCentering<CCCEnums<Dim,NComponents,
323  //Direction>::vectorEdge, Dim, NComponents> vectorEdge;
324 };
325 
326 //**********CommonCartesianCententerings specializations, typedefs*************
327 
328 
329 //11111111111111111111111111111111111111111111111111111111111111111111111111111
330 // 1D fields
331 //11111111111111111111111111111111111111111111111111111111111111111111111111111
332 
333 // 1D field of scalars (or 1D vectors, or 1D tensors, or 1D sym. tensors)
334 template<>
336 {
339  // Componentwise centering along/perpendicular to component direction:
342  // Face/Edge centering perpendicular to/along direction 0:
345 };
346 
347 
348 //22222222222222222222222222222222222222222222222222222222222222222222222222222
349 // 2D fields
350 //22222222222222222222222222222222222222222222222222222222222222222222222222222
351 
352 // 2D field of scalars (or 1D vectors, or 1D tensors, or 1D sym. tensors)
353 template<>
355 {
358  // Face/Edge centering perpendicular to/along direction 0:
361 };
362 template<>
363 struct CommonCartesianCenterings<2U,1U,1U> {
364  // Face/Edge centering perpendicular to/along direction 1:
367 };
368 
369 // 2D field of 2D vectors:
370 template<>
372 {
375  // Componentwise centering along/perpendicular to component direction:
378  // Face/Edge centering perpendicular to/along direction 0:
381 };
382 template<>
384 {
385  // Face/Edge centering perpendicular to/along direction 1:
388 };
389 
390 // 2D field of 2D tensors:
391 template<>
393 {
396  // Face/Edge centering perpendicular to/along direction 0:
399 };
400 template<>
402 {
403  // Face/Edge centering perpendicular to/along direction 1:
406 };
407 
408 // 2D field of 2D symmetric tensors:
409 template<>
411 {
414  // Face/Edge centering perpendicular to/along direction 0:
417 };
418 template<>
420 {
421  // Face/Edge centering perpendicular to/along direction 1:
424 };
425 
426 
427 //33333333333333333333333333333333333333333333333333333333333333333333333333333
428 // 3D fields
429 //33333333333333333333333333333333333333333333333333333333333333333333333333333
430 
431 // 3D field of scalars (or 1D vectors, or 1D tensors, or 1D sym. tensors)
432 template<>
434 {
437  // Face/Edge centering perpendicular to/along direction 0:
440 };
441 template<>
443 {
444  // Face/Edge centering perpendicular to/along direction 1:
447 };
448 template<>
450 {
451  // Face/Edge centering perpendicular to/along direction 2:
454 };
455 
456 // 3D field of 2D vectors:
457 template<>
459 {
462  // Face/Edge centering perpendicular to/along direction 0:
465 };
466 template<>
468 {
469  // Face/Edge centering perpendicular to/along direction 1:
472 };
473 template<>
475 {
476  // Face/Edge centering perpendicular to/along direction 2:
479 };
480 
481 // 3D field of 3D vectors:
482 template<>
484 {
487  // Componentwise centering along/perpendicular to component direction:
490  // Face/Edge centering perpendicular to/along direction 0:
493 };
494 template<>
496 {
497  // Face/Edge centering perpendicular to/along direction 1:
500 };
501 template<>
503 {
504  // Face/Edge centering perpendicular to/along direction 2:
507 };
508 
509 
510 // 3D field of 3D tensors:
511 template<>
513 {
516  // Face/Edge centering perpendicular to/along direction 0:
519 };
520 template<>
522 {
523  // Face/Edge centering perpendicular to/along direction 1:
526 };
527 template<>
529 {
530  // Face/Edge centering perpendicular to/along direction 2:
533 };
534 
535 // 3D field of 3D symmetric tensors:
536 template<>
538 {
541  // Face/Edge centering perpendicular to/along direction 0:
544 };
545 template<>
547 {
548  // Face/Edge centering perpendicular to/along direction 1:
551 };
552 template<>
554 {
555  // Face/Edge centering perpendicular to/along direction 2:
558 };
559 
561 
562 #endif // CARTESIAN_CENTERING_H
563 
564 /***************************************************************************
565  * $RCSfile: CartesianCentering.h,v $ $Author: adelmann $
566  * $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:28 $
567  * IPPL_VERSION_ID: $Id: CartesianCentering.h,v 1.1.1.1 2003/01/23 07:40:28 adelmann Exp $
568  ***************************************************************************/
CartesianCentering< CCCEnums< 2U, 3U, 0U >::allVertex, 2U, 3U > allVertex
CartesianCentering< CCCEnums< 3U, 2U, 0U >::allFace, 3U, 2U > allFace
CartesianCentering< CCCEnums< 2U, 2U, 0U >::vectorEdge, 2U, 2U > vectorEdge
CartesianCentering< CCCEnums< 3U, 6U, 1U >::allFace, 3U, 6U > allFace
CartesianCentering< CCCEnums< 3U, 6U, 2U >::allEdge, 3U, 6U > allEdge
CenteringEnum
CartesianCentering< CCCEnums< 3U, 1U, 2U >::allEdge, 3U, 1U > allEdge
CartesianCentering< CCCEnums< 3U, 1U, 1U >::allFace, 3U, 1U > allFace
CartesianCentering< CCCEnums< 2U, 2U, 0U >::allFace, 2U, 2U > allFace
CartesianCentering< CCCEnums< 2U, 2U, 0U >::allCell, 2U, 2U > allCell
CartesianCentering< CCCEnums< 3U, 3U, 0U >::vectorEdge, 3U, 3U > vectorEdge
static std::string CenteringName
CartesianCentering< CCCEnums< 3U, 3U, 2U >::allEdge, 3U, 3U > allEdge
CartesianCentering< CCCEnums< 3U, 1U, 1U >::allEdge, 3U, 1U > allEdge
CartesianCentering< CCCEnums< 2U, 1U, 0U >::allFace, 2U, 1U > allFace
CartesianCentering< CCCEnums< 2U, 2U, 1U >::allFace, 2U, 2U > allFace
CartesianCentering< CCCEnums< 3U, 9U, 1U >::allFace, 3U, 9U > allFace
CartesianCentering< CCCEnums< 2U, 4U, 0U >::allVertex, 2U, 4U > allVertex
CartesianCentering< CCCEnums< 2U, 3U, 1U >::allEdge, 2U, 3U > allEdge
CartesianCentering< CCCEnums< 3U, 3U, 0U >::allEdge, 3U, 3U > allEdge
CartesianCentering< CCCEnums< 3U, 3U, 0U >::allCell, 3U, 3U > allCell
CartesianCentering< CCCEnums< 2U, 1U, 0U >::allVertex, 2U, 1U > allVertex
CartesianCentering< CCCEnums< 3U, 3U, 1U >::allEdge, 3U, 3U > allEdge
CartesianCentering< CCCEnums< 3U, 1U, 0U >::allEdge, 3U, 1U > allEdge
CartesianCentering< CCCEnums< 3U, 9U, 0U >::allFace, 3U, 9U > allFace
CartesianCentering< CCCEnums< 3U, 9U, 0U >::allEdge, 3U, 9U > allEdge
CartesianCentering< CCCEnums< 3U, 6U, 1U >::allEdge, 3U, 6U > allEdge
CartesianCentering< CCCEnums< 1U, 1U, 0U >::vectorFace, 1U, 1U > vectorFace
CartesianCentering< CCCEnums< 2U, 2U, 0U >::allVertex, 2U, 2U > allVertex
CartesianCentering< CCCEnums< 2U, 4U, 1U >::allEdge, 2U, 4U > allEdge
Inform & endl(Inform &inf)
Definition: Inform.cpp:42
CartesianCentering< CCCEnums< 2U, 1U, 0U >::allEdge, 2U, 1U > allEdge
CartesianCentering< CCCEnums< 3U, 1U, 2U >::allFace, 3U, 1U > allFace
CartesianCentering< CCCEnums< 1U, 1U, 0U >::allEdge, 1U, 1U > allEdge
CartesianCentering< CCCEnums< 3U, 6U, 0U >::allVertex, 3U, 6U > allVertex
static void print_Centerings(std::ostream &)
CartesianCentering< CCCEnums< 2U, 1U, 0U >::allCell, 2U, 1U > allCell
CartesianCentering< CCCEnums< 3U, 2U, 0U >::allVertex, 3U, 2U > allVertex
CartesianCentering< CCCEnums< 1U, 1U, 0U >::vectorEdge, 1U, 1U > vectorEdge
CartesianCentering< CCCEnums< 2U, 4U, 0U >::allCell, 2U, 4U > allCell
CartesianCentering< CCCEnums< 3U, 1U, 0U >::allCell, 3U, 1U > allCell
CartesianCentering< CCCEnums< 2U, 4U, 0U >::allEdge, 2U, 4U > allEdge
CartesianCentering< CCCEnums< 3U, 2U, 2U >::allEdge, 3U, 2U > allEdge
CartesianCentering< CCCEnums< 3U, 3U, 2U >::allFace, 3U, 3U > allFace
CartesianCentering< CCCEnums< 2U, 4U, 1U >::allFace, 2U, 4U > allFace
const unsigned Dim
CartesianCentering< CCCEnums< 3U, 2U, 0U >::allCell, 3U, 2U > allCell
CartesianCentering< CCCEnums< 1U, 1U, 0U >::allCell, 1U, 1U > allCell
CartesianCentering< CCCEnums< 2U, 2U, 0U >::allEdge, 2U, 2U > allEdge
CartesianCentering< CCCEnums< 3U, 9U, 0U >::allCell, 3U, 9U > allCell
CartesianCentering< CCCEnums< 3U, 3U, 1U >::allFace, 3U, 3U > allFace
CartesianCentering< CCCEnums< 2U, 4U, 0U >::allFace, 2U, 4U > allFace
CartesianCentering< CCCEnums< 2U, 1U, 1U >::allEdge, 2U, 1U > allEdge
CartesianCentering< CCCEnums< 3U, 2U, 1U >::allEdge, 3U, 2U > allEdge
CartesianCentering< CCCEnums< 2U, 2U, 1U >::allEdge, 2U, 2U > allEdge
CartesianCentering< CCCEnums< 3U, 6U, 0U >::allFace, 3U, 6U > allFace
CartesianCentering< CCCEnums< 2U, 3U, 1U >::allFace, 2U, 3U > allFace
CartesianCentering< CCCEnums< 3U, 9U, 2U >::allEdge, 3U, 9U > allEdge
CartesianCentering< CCCEnums< 2U, 1U, 1U >::allFace, 2U, 1U > allFace
CartesianCentering< CCCEnums< 3U, 6U, 2U >::allFace, 3U, 6U > allFace
CartesianCentering< CCCEnums< 3U, 1U, 0U >::allFace, 3U, 1U > allFace
CartesianCentering< CCCEnums< 1U, 1U, 0U >::allFace, 1U, 1U > allFace
CartesianCentering< CCCEnums< 3U, 1U, 0U >::allVertex, 3U, 1U > allVertex
CartesianCentering< CCCEnums< 2U, 3U, 0U >::allFace, 2U, 3U > allFace
CartesianCentering< CCCEnums< 3U, 3U, 0U >::allVertex, 3U, 3U > allVertex
CartesianCentering< CCCEnums< 2U, 3U, 0U >::allCell, 2U, 3U > allCell
CartesianCentering< CCCEnums< 3U, 6U, 0U >::allEdge, 3U, 6U > allEdge
CartesianCentering< CCCEnums< 3U, 9U, 1U >::allEdge, 3U, 9U > allEdge
CartesianCentering< CCCEnums< 3U, 3U, 0U >::allFace, 3U, 3U > allFace
static const char * CenteringEnum_Names[3]
Definition: Centering.h:28
CartesianCentering< CCCEnums< 3U, 2U, 1U >::allFace, 3U, 2U > allFace
CartesianCentering< CCCEnums< 3U, 3U, 0U >::vectorFace, 3U, 3U > vectorFace
CartesianCentering< CCCEnums< 2U, 3U, 0U >::allEdge, 2U, 3U > allEdge
CartesianCentering< CCCEnums< 2U, 2U, 0U >::vectorFace, 2U, 2U > vectorFace
CartesianCentering< CCCEnums< 3U, 9U, 0U >::allVertex, 3U, 9U > allVertex
CartesianCentering< CCCEnums< 1U, 1U, 0U >::allVertex, 1U, 1U > allVertex
CartesianCentering< CCCEnums< 3U, 2U, 2U >::allFace, 3U, 2U > allFace
CartesianCentering< CCCEnums< 3U, 9U, 2U >::allFace, 3U, 9U > allFace
CartesianCentering< CCCEnums< 3U, 6U, 0U >::allCell, 3U, 6U > allCell
CartesianCentering< CCCEnums< 3U, 2U, 0U >::allEdge, 3U, 2U > allEdge