OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
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 <iostream>
24 #include <string>
25 
26 // Enumeration of basic 1D (one-component) centering types:
27 // May add to this when unstructured comes in, and it means something to
28 // simply say FACE or EDGE centering (for cartesian meshes, face and edge
29 // centerings are a combination of CELL and VERTEX along directions):
30 enum CenteringEnum {CELL=0, VERTEX=1, VERT=1};
31 
32 // Primary class for canned and user-defined cartesian centerings:
33 template<const CenteringEnum* CE, unsigned Dim, unsigned NComponents=1U>
35 {
36 public:
37  static void print_Centerings(std::ostream&); // Print function
38  static std::string CenteringName;
39 };
40 template <const CenteringEnum* CE, unsigned Dim, unsigned NComponents>
42 print_Centerings(std::ostream& out)
43 {
44  int i,j;
45 #ifndef __MWERKS__
46  // Crude workaround for a serious CW4 bug; is this caused by the default
47  // template parameter value for NComponents?
48  out << CenteringName << std::endl;
49 #endif // __MWERKS__
50  out << "Dim = " << Dim << " ; NComponents = " << NComponents << std::endl;
51  for (i=0;i<Dim;i++) {
52  for (j=0;j<NComponents;j++) {
53  out << "centering[dim=" << i << "][component=" << j << "] = "
54  << Centering::CenteringEnum_Names[CE[j+i*NComponents]] << std::endl;
55  }
56  }
57 }
58 
59 // Define some common CenteringEnum arrays for (logically) cartesian meshes.
60 // (Use CartesianCenterings with your own CenteringEnum* for those not
61 // appearing here.)
62 // Typically, you'll want to use the CommonCartesianCenterings class's
63 // specializations in your actual code where you specify a centering parameter
64 // for a Field you're declaring (see CommonCartesianCenterings class below)
65 
66 // N.B.: the name "CCCEnums" is a shortened form of the original name for this
67 // class, "CommonCartesianCenteringEnums"
68 
69 template<unsigned Dim, unsigned NComponents=1U, unsigned Direction=0U>
70 struct CCCEnums
71 {
72  // CenteringEnum arrays Classes with simple, descriptive names
73  //---------------------------------------------------------------------
74  // All components of Field cell-centered in all directions:
75  // static CenteringEnum allCell[NComponents*Dim];
76  // All components of Field vertex-centered in all directions:
77  // static CenteringEnum allVertex[NComponents*Dim];
78  // All components of Field face-centered in specified direction (meaning
79  // vertex centered in that direction, cell-centered in others):
80  // static CenteringEnum allFace[NComponents*Dim];
81  // All components of Field edge-centered along specified direction (cell
82  // centered in that direction, vertex-centered in others):
83  // static CenteringEnum allEdge[NComponents*Dim];
84  // Each vector component of Field face-centered in the corresponding
85  // direction:
86  // static CenteringEnum vectorFace[NComponents*Dim];
87  // Each vector component of Field edge-centered along the corresponding
88  // direction:
89  // static CenteringEnum vectorEdge[NComponents*Dim];
90  //---------------------------------------------------------------------
91 };
92 
93 //***************CommonCartesianCenteringEnum Specializations******************
94 
95 //11111111111111111111111111111111111111111111111111111111111111111111111111111
96 // 1D fields
97 //11111111111111111111111111111111111111111111111111111111111111111111111111111
98 
99 // 1D field of scalars (or 1D vectors, or 1D tensors, or 1D sym. tensors)
100 template<>
101 struct CCCEnums<1U,1U,0U> {
102  static CenteringEnum allCell[1U*1U];
103  static CenteringEnum allVertex[1U*1U];
104  // Componentwise centering along/perpendicular to component direction:
105  static CenteringEnum vectorFace[1U*1U];
106  static CenteringEnum vectorEdge[1U*1U];
107  // Face/Edge centering perpendicular to/along direction 0:
108  static CenteringEnum allFace[1U*1U];
109  static CenteringEnum allEdge[1U*1U];
110 };
111 
112 
113 //22222222222222222222222222222222222222222222222222222222222222222222222222222
114 // 2D fields
115 //22222222222222222222222222222222222222222222222222222222222222222222222222222
116 
117 // 2D field of scalars (or 1D vectors, or 1D tensors, or 1D sym. tensors)
118 template<>
119 struct CCCEnums<2U,1U,0U> {
120  static CenteringEnum allCell[2U*1U];
121  static CenteringEnum allVertex[2U*1U];
122  // Face/Edge centering perpendicular to/along direction 0:
123  static CenteringEnum allFace[2U*1U];
124  static CenteringEnum allEdge[2U*1U];
125 };
126 template<>
127 struct CCCEnums<2U,1U,1U> {
128  // Face/Edge centering perpendicular to/along direction 1:
129  static CenteringEnum allFace[2U*1U];
130  static CenteringEnum allEdge[2U*1U];
131 };
132 
133 // 2D field of 2D vectors:
134 template<>
135 struct CCCEnums<2U,2U,0U> {
136  static CenteringEnum allCell[2U*2U];
137  static CenteringEnum allVertex[2U*2U];
138  // Componentwise centering along/perpendicular to component direction:
139  static CenteringEnum vectorFace[2U*2U];
140  static CenteringEnum vectorEdge[2U*2U];
141  // Face/Edge centering perpendicular to/along direction 0:
142  static CenteringEnum allFace[2U*2U];
143  static CenteringEnum allEdge[2U*2U];
144 };
145 template<>
146 struct CCCEnums<2U,2U,1U> {
147  // Face/Edge centering perpendicular to/along direction 1:
148  static CenteringEnum allFace[2U*2U];
149  static CenteringEnum allEdge[2U*2U];
150 };
151 
152 // 2D field of 2D tensors:
153 template<>
154 struct CCCEnums<2U,4U,0U> {
155  static CenteringEnum allCell[4U*2U];
156  static CenteringEnum allVertex[4U*2U];
157  // Face/Edge centering perpendicular to/along direction 0:
158  static CenteringEnum allFace[2U*4U];
159  static CenteringEnum allEdge[2U*4U];
160 };
161 template<>
162 struct CCCEnums<2U,4U,1U> {
163  // Face/Edge centering perpendicular to/along direction 1:
164  static CenteringEnum allFace[2U*4U];
165  static CenteringEnum allEdge[2U*4U];
166 };
167 
168 // 2D field of 2D symmetric tensors:
169 template<>
170 struct CCCEnums<2U,3U,0U> {
171  static CenteringEnum allCell[2U*3U];
172  static CenteringEnum allVertex[2U*3U];
173  // Face/Edge centering perpendicular to/along direction 0:
174  static CenteringEnum allFace[2U*3U];
175  static CenteringEnum allEdge[2U*3U];
176 };
177 template<>
178 struct CCCEnums<2U,3U,1U> {
179  // Face/Edge centering perpendicular to/along direction 1:
180  static CenteringEnum allFace[2U*3U];
181  static CenteringEnum allEdge[2U*3U];
182 };
183 
184 
185 //33333333333333333333333333333333333333333333333333333333333333333333333333333
186 // 3D fields
187 //33333333333333333333333333333333333333333333333333333333333333333333333333333
188 
189 // 3D field of scalars (or 1D vectors, or 1D tensors, or 1D sym. tensors)
190 template<>
191 struct CCCEnums<3U,1U,0U> {
192  static CenteringEnum allCell[3U*1U];
193  static CenteringEnum allVertex[3U*1U];
194  // Face/Edge centering perpendicular to/along direction 0:
195  static CenteringEnum allFace[3U*1U];
196  static CenteringEnum allEdge[3U*1U];
197 };
198 template<>
199 struct CCCEnums<3U,1U,1U> {
200  // Face/Edge centering perpendicular to/along direction 1:
201  static CenteringEnum allFace[3U*1U];
202  static CenteringEnum allEdge[3U*1U];
203 };
204 template<>
205 struct CCCEnums<3U,1U,2U> {
206  // Face/Edge centering perpendicular to/along direction 2:
207  static CenteringEnum allFace[3U*1U];
208  static CenteringEnum allEdge[3U*1U];
209 };
210 
211 // 3D field of 2D vectors:
212 template<>
213 struct CCCEnums<3U,2U,0U> {
214  static CenteringEnum allCell[3U*2U];
215  static CenteringEnum allVertex[3U*2U];
216  // Face/Edge centering perpendicular to/along direction 0:
217  static CenteringEnum allFace[3U*2U];
218  static CenteringEnum allEdge[3U*2U];
219 };
220 template<>
221 struct CCCEnums<3U,2U,1U> {
222  // Face/Edge centering perpendicular to/along direction 1:
223  static CenteringEnum allFace[3U*2U];
224  static CenteringEnum allEdge[3U*2U];
225 };
226 template<>
227 struct CCCEnums<3U,2U,2U> {
228  // Face/Edge centering perpendicular to/along direction 2:
229  static CenteringEnum allFace[3U*2U];
230  static CenteringEnum allEdge[3U*2U];
231 };
232 
233 // 3D field of 3D vectors:
234 template<>
235 struct CCCEnums<3U,3U,0U> {
236  static CenteringEnum allCell[3U*3U];
237  static CenteringEnum allVertex[3U*3U];
238  // Componentwise centering along/perpendicular to component direction:
239  static CenteringEnum vectorFace[3U*3U];
240  static CenteringEnum vectorEdge[3U*3U];
241  // Face/Edge centering perpendicular to/along direction 0:
242  static CenteringEnum allFace[3U*3U];
243  static CenteringEnum allEdge[3U*3U];
244 };
245 template<>
246 struct CCCEnums<3U,3U,1U> {
247  // Face/Edge centering perpendicular to/along direction 1:
248  static CenteringEnum allFace[3U*3U];
249  static CenteringEnum allEdge[3U*3U];
250 };
251 template<>
252 struct CCCEnums<3U,3U,2U> {
253  // Face/Edge centering perpendicular to/along direction 2:
254  static CenteringEnum allFace[3U*3U];
255  static CenteringEnum allEdge[3U*3U];
256 };
257 
258 // 3D field of 3D tensors:
259 template<>
260 struct CCCEnums<3U,9U,0U> {
261  static CenteringEnum allCell[3U*9U];
262  static CenteringEnum allVertex[3U*9U];
263  // Face/Edge centering perpendicular to/along direction 0:
264  static CenteringEnum allFace[3U*9U];
265  static CenteringEnum allEdge[3U*9U];
266 };
267 template<>
268 struct CCCEnums<3U,9U,1U> {
269  // Face/Edge centering perpendicular to/along direction 1:
270  static CenteringEnum allFace[3U*9U];
271  static CenteringEnum allEdge[3U*9U];
272 };
273 template<>
274 struct CCCEnums<3U,9U,2U> {
275  // Face/Edge centering perpendicular to/along direction 2:
276  static CenteringEnum allFace[3U*9U];
277  static CenteringEnum allEdge[3U*9U];
278 };
279 
280 // 3D field of 3D symmetric tensors:
281 template<>
282 struct CCCEnums<3U,6U,0U> {
283  static CenteringEnum allCell[3U*6U];
284  static CenteringEnum allVertex[3U*6U];
285  // Face/Edge centering perpendicular to/along direction 0:
286  static CenteringEnum allFace[3U*6U];
287  static CenteringEnum allEdge[3U*6U];
288 };
289 template<>
290 struct CCCEnums<3U,6U,1U> {
291  // Face/Edge centering perpendicular to/along direction 1:
292  static CenteringEnum allFace[3U*6U];
293  static CenteringEnum allEdge[3U*6U];
294 };
295 template<>
296 struct CCCEnums<3U,6U,2U> {
297  // Face/Edge centering perpendicular to/along direction 2:
298  static CenteringEnum allFace[3U*6U];
299  static CenteringEnum allEdge[3U*6U];
300 };
301 
302 
303 
304 //-----------------------------------------------------------------------------
305 
306 // Wrapper classes that wrap CCCEnums classes into CartesianCenterings classes;
307 // the canned typedefs in the canned specializations of these below are what
308 // the user will likely use.
309 
310 template<unsigned Dim, unsigned NComponents=1U, unsigned Direction=0U>
312 {
313  //public:
314  // typedef CartesianCentering<CCCEnums<Dim,NComponents,
315  //Direction>::allCell, Dim, NComponents> allCell;
316  //typedef CartesianCentering<CCCEnums<Dim,NComponents,
317  //Direction>::allVertex, Dim, NComponents> allVertex;
318  //typedef CartesianCentering<CCCEnums<Dim,NComponents,
319  //Direction>::allFace, Dim, NComponents> allFace;
320  //typedef CartesianCentering<CCCEnums<Dim,NComponents,
321  //Direction>::allEdge, Dim, NComponents> allEdge;
322  //typedef CartesianCentering<CCCEnums<Dim,NComponents,
323  //Direction>::vectorFace, Dim, NComponents> vectorFace;
324  //typedef CartesianCentering<CCCEnums<Dim,NComponents,
325  //Direction>::vectorEdge, Dim, NComponents> vectorEdge;
326 };
327 
328 //**********CommonCartesianCententerings specializations, typedefs*************
329 
330 
331 //11111111111111111111111111111111111111111111111111111111111111111111111111111
332 // 1D fields
333 //11111111111111111111111111111111111111111111111111111111111111111111111111111
334 
335 // 1D field of scalars (or 1D vectors, or 1D tensors, or 1D sym. tensors)
336 template<>
338 {
341  // Componentwise centering along/perpendicular to component direction:
344  // Face/Edge centering perpendicular to/along direction 0:
347 };
348 
349 
350 //22222222222222222222222222222222222222222222222222222222222222222222222222222
351 // 2D fields
352 //22222222222222222222222222222222222222222222222222222222222222222222222222222
353 
354 // 2D field of scalars (or 1D vectors, or 1D tensors, or 1D sym. tensors)
355 template<>
357 {
360  // Face/Edge centering perpendicular to/along direction 0:
363 };
364 template<>
365 struct CommonCartesianCenterings<2U,1U,1U> {
366  // Face/Edge centering perpendicular to/along direction 1:
369 };
370 
371 // 2D field of 2D vectors:
372 template<>
374 {
377  // Componentwise centering along/perpendicular to component direction:
380  // Face/Edge centering perpendicular to/along direction 0:
383 };
384 template<>
386 {
387  // Face/Edge centering perpendicular to/along direction 1:
390 };
391 
392 // 2D field of 2D tensors:
393 template<>
395 {
398  // Face/Edge centering perpendicular to/along direction 0:
401 };
402 template<>
404 {
405  // Face/Edge centering perpendicular to/along direction 1:
408 };
409 
410 // 2D field of 2D symmetric tensors:
411 template<>
413 {
416  // Face/Edge centering perpendicular to/along direction 0:
419 };
420 template<>
422 {
423  // Face/Edge centering perpendicular to/along direction 1:
426 };
427 
428 
429 //33333333333333333333333333333333333333333333333333333333333333333333333333333
430 // 3D fields
431 //33333333333333333333333333333333333333333333333333333333333333333333333333333
432 
433 // 3D field of scalars (or 1D vectors, or 1D tensors, or 1D sym. tensors)
434 template<>
436 {
439  // Face/Edge centering perpendicular to/along direction 0:
442 };
443 template<>
445 {
446  // Face/Edge centering perpendicular to/along direction 1:
449 };
450 template<>
452 {
453  // Face/Edge centering perpendicular to/along direction 2:
456 };
457 
458 // 3D field of 2D vectors:
459 template<>
461 {
464  // Face/Edge centering perpendicular to/along direction 0:
467 };
468 template<>
470 {
471  // Face/Edge centering perpendicular to/along direction 1:
474 };
475 template<>
477 {
478  // Face/Edge centering perpendicular to/along direction 2:
481 };
482 
483 // 3D field of 3D vectors:
484 template<>
486 {
489  // Componentwise centering along/perpendicular to component direction:
492  // Face/Edge centering perpendicular to/along direction 0:
495 };
496 template<>
498 {
499  // Face/Edge centering perpendicular to/along direction 1:
502 };
503 template<>
505 {
506  // Face/Edge centering perpendicular to/along direction 2:
509 };
510 
511 
512 // 3D field of 3D tensors:
513 template<>
515 {
518  // Face/Edge centering perpendicular to/along direction 0:
521 };
522 template<>
524 {
525  // Face/Edge centering perpendicular to/along direction 1:
528 };
529 template<>
531 {
532  // Face/Edge centering perpendicular to/along direction 2:
535 };
536 
537 // 3D field of 3D symmetric tensors:
538 template<>
540 {
543  // Face/Edge centering perpendicular to/along direction 0:
546 };
547 template<>
549 {
550  // Face/Edge centering perpendicular to/along direction 1:
553 };
554 template<>
556 {
557  // Face/Edge centering perpendicular to/along direction 2:
560 };
561 
563 
564 #endif // CARTESIAN_CENTERING_H
565 
566 /***************************************************************************
567  * $RCSfile: CartesianCentering.h,v $ $Author: adelmann $
568  * $Revision: 1.1.1.1 $ $Date: 2003/01/23 07:40:28 $
569  * IPPL_VERSION_ID: $Id: CartesianCentering.h,v 1.1.1.1 2003/01/23 07:40:28 adelmann Exp $
570  ***************************************************************************/
CartesianCentering< CCCEnums< 3U, 1U, 0U >::allVertex, 3U, 1U > allVertex
CartesianCentering< CCCEnums< 3U, 1U, 2U >::allFace, 3U, 1U > allFace
CartesianCentering< CCCEnums< 3U, 9U, 0U >::allEdge, 3U, 9U > allEdge
CartesianCentering< CCCEnums< 2U, 2U, 0U >::vectorEdge, 2U, 2U > vectorEdge
CartesianCentering< CCCEnums< 2U, 4U, 0U >::allVertex, 2U, 4U > allVertex
CartesianCentering< CCCEnums< 1U, 1U, 0U >::allFace, 1U, 1U > allFace
CartesianCentering< CCCEnums< 3U, 2U, 1U >::allFace, 3U, 2U > allFace
CartesianCentering< CCCEnums< 3U, 1U, 0U >::allCell, 3U, 1U > allCell
CartesianCentering< CCCEnums< 2U, 2U, 1U >::allEdge, 2U, 2U > allEdge
CartesianCentering< CCCEnums< 2U, 3U, 1U >::allEdge, 2U, 3U > allEdge
CartesianCentering< CCCEnums< 2U, 3U, 0U >::allCell, 2U, 3U > allCell
CartesianCentering< CCCEnums< 2U, 4U, 1U >::allEdge, 2U, 4U > allEdge
CenteringEnum
CartesianCentering< CCCEnums< 3U, 9U, 1U >::allFace, 3U, 9U > allFace
CartesianCentering< CCCEnums< 2U, 2U, 0U >::allVertex, 2U, 2U > allVertex
CartesianCentering< CCCEnums< 3U, 3U, 1U >::allFace, 3U, 3U > allFace
CartesianCentering< CCCEnums< 2U, 1U, 1U >::allEdge, 2U, 1U > allEdge
static std::string CenteringName
CartesianCentering< CCCEnums< 1U, 1U, 0U >::allVertex, 1U, 1U > allVertex
static void print_Centerings(std::ostream &)
CartesianCentering< CCCEnums< 1U, 1U, 0U >::allCell, 1U, 1U > allCell
CartesianCentering< CCCEnums< 3U, 6U, 1U >::allEdge, 3U, 6U > allEdge
CartesianCentering< CCCEnums< 3U, 2U, 0U >::allFace, 3U, 2U > allFace
CartesianCentering< CCCEnums< 3U, 9U, 1U >::allEdge, 3U, 9U > allEdge
CartesianCentering< CCCEnums< 2U, 4U, 0U >::allCell, 2U, 4U > allCell
CartesianCentering< CCCEnums< 3U, 3U, 0U >::vectorEdge, 3U, 3U > vectorEdge
CartesianCentering< CCCEnums< 3U, 3U, 0U >::allEdge, 3U, 3U > allEdge
CartesianCentering< CCCEnums< 3U, 3U, 0U >::allCell, 3U, 3U > allCell
CartesianCentering< CCCEnums< 3U, 6U, 0U >::allEdge, 3U, 6U > allEdge
CartesianCentering< CCCEnums< 3U, 1U, 0U >::allEdge, 3U, 1U > allEdge
CartesianCentering< CCCEnums< 3U, 2U, 0U >::allEdge, 3U, 2U > allEdge
CartesianCentering< CCCEnums< 2U, 1U, 1U >::allFace, 2U, 1U > allFace
CartesianCentering< CCCEnums< 3U, 2U, 2U >::allEdge, 3U, 2U > allEdge
CartesianCentering< CCCEnums< 3U, 6U, 0U >::allCell, 3U, 6U > allCell
CartesianCentering< CCCEnums< 3U, 3U, 0U >::allFace, 3U, 3U > allFace
CartesianCentering< CCCEnums< 2U, 2U, 1U >::allFace, 2U, 2U > allFace
CartesianCentering< CCCEnums< 3U, 1U, 2U >::allEdge, 3U, 1U > allEdge
CartesianCentering< CCCEnums< 3U, 3U, 0U >::vectorFace, 3U, 3U > vectorFace
CartesianCentering< CCCEnums< 2U, 3U, 0U >::allEdge, 2U, 3U > allEdge
CartesianCentering< CCCEnums< 3U, 2U, 0U >::allCell, 3U, 2U > allCell
CartesianCentering< CCCEnums< 3U, 2U, 0U >::allVertex, 3U, 2U > allVertex
CartesianCentering< CCCEnums< 2U, 3U, 1U >::allFace, 2U, 3U > allFace
static const char * CenteringEnum_Names[3]
Definition: Centering.h:28
CartesianCentering< CCCEnums< 3U, 9U, 2U >::allEdge, 3U, 9U > allEdge
CartesianCentering< CCCEnums< 3U, 9U, 2U >::allFace, 3U, 9U > allFace
CartesianCentering< CCCEnums< 2U, 1U, 0U >::allFace, 2U, 1U > allFace
CartesianCentering< CCCEnums< 3U, 3U, 1U >::allEdge, 3U, 3U > allEdge
CartesianCentering< CCCEnums< 3U, 1U, 1U >::allFace, 3U, 1U > allFace
CartesianCentering< CCCEnums< 3U, 1U, 1U >::allEdge, 3U, 1U > allEdge
CartesianCentering< CCCEnums< 2U, 4U, 0U >::allEdge, 2U, 4U > allEdge
CartesianCentering< CCCEnums< 3U, 3U, 2U >::allFace, 3U, 3U > allFace
CartesianCentering< CCCEnums< 2U, 3U, 0U >::allVertex, 2U, 3U > allVertex
CartesianCentering< CCCEnums< 3U, 6U, 1U >::allFace, 3U, 6U > allFace
CartesianCentering< CCCEnums< 1U, 1U, 0U >::allEdge, 1U, 1U > allEdge
CartesianCentering< CCCEnums< 2U, 2U, 0U >::allFace, 2U, 2U > allFace
CartesianCentering< CCCEnums< 2U, 2U, 0U >::vectorFace, 2U, 2U > vectorFace
CartesianCentering< CCCEnums< 2U, 2U, 0U >::allEdge, 2U, 2U > allEdge
CartesianCentering< CCCEnums< 2U, 1U, 0U >::allVertex, 2U, 1U > allVertex
CartesianCentering< CCCEnums< 2U, 1U, 0U >::allEdge, 2U, 1U > allEdge
CartesianCentering< CCCEnums< 3U, 1U, 0U >::allFace, 3U, 1U > allFace
CartesianCentering< CCCEnums< 2U, 4U, 0U >::allFace, 2U, 4U > allFace
CartesianCentering< CCCEnums< 3U, 6U, 2U >::allEdge, 3U, 6U > allEdge
CartesianCentering< CCCEnums< 2U, 2U, 0U >::allCell, 2U, 2U > allCell
const unsigned Dim
CartesianCentering< CCCEnums< 3U, 6U, 2U >::allFace, 3U, 6U > allFace
CartesianCentering< CCCEnums< 3U, 9U, 0U >::allCell, 3U, 9U > allCell
CartesianCentering< CCCEnums< 3U, 2U, 2U >::allFace, 3U, 2U > allFace
CartesianCentering< CCCEnums< 3U, 9U, 0U >::allVertex, 3U, 9U > allVertex
CartesianCentering< CCCEnums< 1U, 1U, 0U >::vectorEdge, 1U, 1U > vectorEdge
CartesianCentering< CCCEnums< 3U, 2U, 1U >::allEdge, 3U, 2U > allEdge
CartesianCentering< CCCEnums< 2U, 3U, 0U >::allFace, 2U, 3U > allFace
CartesianCentering< CCCEnums< 3U, 3U, 0U >::allVertex, 3U, 3U > allVertex
CartesianCentering< CCCEnums< 3U, 6U, 0U >::allFace, 3U, 6U > allFace
CartesianCentering< CCCEnums< 1U, 1U, 0U >::vectorFace, 1U, 1U > vectorFace
CartesianCentering< CCCEnums< 3U, 3U, 2U >::allEdge, 3U, 3U > allEdge
CartesianCentering< CCCEnums< 2U, 1U, 0U >::allCell, 2U, 1U > allCell
Inform & endl(Inform &inf)
Definition: Inform.cpp:42
CartesianCentering< CCCEnums< 3U, 9U, 0U >::allFace, 3U, 9U > allFace
CartesianCentering< CCCEnums< 3U, 6U, 0U >::allVertex, 3U, 6U > allVertex
CartesianCentering< CCCEnums< 2U, 4U, 1U >::allFace, 2U, 4U > allFace