Chombo + EB + MF  3.2
flipGrids.H
Go to the documentation of this file.
1 #ifdef CH_LANG_CC
2 /*
3  * _______ __
4  * / ___/ / ___ __ _ / / ___
5  * / /__/ _ \/ _ \/ V \/ _ \/ _ \
6  * \___/_//_/\___/_/_/_/_.__/\___/
7  * Please refer to Copyright.txt, in Chombo's root directory.
8  */
9 #endif
10 
11 // flipGrids.H
12 //
13 // Dan Martin, Thurs March 5, 2009
14 
15 #ifndef _FLIPGRIDS_H_
16 #define _FLIPGRIDS_H_
17 
18 #include "DisjointBoxLayout.H"
19 #include "Vector.H"
20 #include "Tuple.H"
21 
22 #include "NamespaceHeader.H"
23 
24 /// function to intersect DisjointBoxLayout with a Box, then reflect it.
25 /**
26 The getFlippedGrids function is designed to aid in the construction of
27 reflection boundary conditions. What it does:
28 
29 For each box in a_grids,
30 1. intersect the grid box with a_dataBox. If a nonzero intersection, then
31 2. reflect that intersection Box about the reflectCoordinate in the
32  reflectDirection.
33 3. create a DisjointBoxLayout of these boxes for which the processor
34  assignments are the same as the origin boxes.
35 4. Create a correlation list to correlate the DataIndex's of the
36  reflectedBoxes with those in the original DisjointBoxLayout.
37  */
38 void
39 getFlippedGrids(DisjointBoxLayout& a_reflectedBoxes,
40  Vector<Tuple<DataIndex,2> >& a_boxCorrelation,
41  const DisjointBoxLayout& a_grids,
42  const Box& a_dataBox,
43  int reflectDirection,
44  int reflectCoordinate);
45 
46 #include "NamespaceFooter.H"
47 
48 #endif
49 
50 
one dimensional dynamic array
Definition: Vector.H:53
void getFlippedGrids(DisjointBoxLayout &a_reflectedBoxes, Vector< Tuple< DataIndex, 2 > > &a_boxCorrelation, const DisjointBoxLayout &a_grids, const Box &a_dataBox, int reflectDirection, int reflectCoordinate)
function to intersect DisjointBoxLayout with a Box, then reflect it.
Ordered Tuples for Types T.
Definition: Tuple.H:30
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469