6.1 UNK, FACE(XYZ) Dimensions

Variables in a simulation are stored and manipulated by the Grid unit. The basic data structures in the Grid unit are 5-dimensional arrays: unk, facex, facey, and facez. The array unk stores the cell-centered values of various quantities (density, pressure, etc.). The facex, facey and facez variables store face-centered values of some or all of the same quantities. Face centered variables are commonly used in Magnetohydrodynamics (MHD) simulations to hold vector-quantity fields. The first dimension of each of these arrays indicates the variable, the 2nd, 3rd, and 4th dimensions indicate the cell location in a block, and the 5th dimension is the block identifier for the local processor. The size of the block, dimensions of the domain, and other parameters which influence the Grid data structures are defined in Flash.h.

NXB,NYB,NZB
  The number of interior cells in the x,y,z-dimension per block
MAXCELLS
  The maximum of (NXB,NYB,NZB)
MAXBLOCKS
  The maximum number of blocks which can be allocated in a single processor
GRID_(IJK)LO
  The index of the lowest numbered cell in the x,y,z-direction in a block (not including guard cells)
GRID_(IJK)HI
  The index of the highest numbered cell in the x,y,z-direction in a block (not including guard cells)
GRID_(IJK)LO_GC
  The index of the lowest numbered cell in the x,y,z-direction in a block (including guard cells)
GRID_(IJK)HI_GC
  The index of the highest numbered cell in the x,y,z-direction in a block (including guard cells)
NGUARD
  The number of guard cells in each dimension.

All of these constants have meaning when operating in FIXEDBLOCKSIZE mode only. FIXEDBLOCKSIZE mode is when the sizes and the block bounds are determined at compile time. In NONFIXEDBLOCKSIZE mode, the block sizes and the block bounds are determined at runtime. PARAMESH always runs in FIXEDBLOCKSIZE mode, while the Uniform Grid can be run in either FIXEDBLOCKSIZE or NONFIXEDBLOCKSIZE mode. See Sec:ListSetupArgs and Sec:NONFIXEDBLOCKSIZE for more information.