next up previous contents
Next: Specifying the Grid Size, Up: CartGrid3D Previous: Abstract   Contents

Specifying the Grid Symmetry

You specify the grid symmetry (or lack thereof) with the grid::domain parameter:

grid::domain = "full"

There are no symmetries.
grid::domain = "bitant"

The grid includes only the $z \ge 0$ half-space (plus symmetry zones); there is a reflection symmetry across the $z=0$ plane.
grid::domain = "quadrant"

The grid includes only the $\{x \ge 0, y \ge 0\}$ quadrant (plus symmetry zones); there is a reflection symmetry across both the $x=0$ plane and the $y=0$ plane.
grid::domain = "octant"

The grid includes only the $\{x \ge 0, y \ge 0, z \ge 0\}$ octant (plus symmetry zones); there is a reflection symmetry across each of the $x=0$ plane, the $y=0$ plane, and the $z=0$ plane.

In each case except grid::domain = "full", symmetry zones are introduced just on the ``other side'' of each symmetry grid boundary. Each symmetry zone has a width (perpendicular to the boundary) of driver::ghost_size extra grid points. For centered 2nd order finite differencing, a width of driver::ghost_size = 1 should be sufficient, but for (centered) 4th order finite differencing, or for upwinded 2nd order, a width of driver::ghost_size = 2 is needed. Making driver::ghost_size too large is fairly harmless (it just slightly reduces performance), but making it too small will almost certainly result in horribly wrong finite differencing near the symmetry boundaries, and may also result in core dumps from out-of-range array accessing.

Note that the symmetry zones must be explicitly included in driver::global_nx, driver::global_ny, and driver::global_nz, but should not be included in any of the grid::type = "byrange" parameters grid::xmin, grid::xmax, grid::ymin, grid::ymax, grid::zmin, grid::zmax, grid::xyzmin, and/or grid::xyzmax described in the next section.

Note also that driver::global_nx, driver::global_ny, and driver::global_nz do not include any ghost zones introduced for multiprocessor synchronization. (For more information on ghost zones, see the section ``Ghost Size'' in the ``Cactus Variables'' chapter of the Cactus Users' Guide.)


next up previous contents
Next: Specifying the Grid Size, Up: CartGrid3D Previous: Abstract   Contents