HYPRE_Int HYPRE_SStructGridSetFEMOrdering

(HYPRE_SStructGrid grid,
  HYPRE_Int part,
  HYPRE_Int* ordering)

Set the ordering of variables in a finite element problem.

Documentation

Set the ordering of variables in a finite element problem. This overrides the default ordering described below.

Array ordering is composed of blocks of size (1 + ndim). Each block indicates a specific variable in the element and the ordering of the blocks defines the ordering of the variables. A block contains a variable number followed by an offset direction relative to the element's center. For example, a block containing (2, 1, -1, 0) means variable 2 on the edge located in the (1, -1, 0) direction from the center of the element. Note that here variable 2 must be of type ZEDGE for this to make sense. The ordering array must account for all variables in the element. This routine can only be called after HYPRE_SStructGridSetVariables.

The default ordering for element variables (var, i, j, k) varies fastest in index i, followed by j, then k, then var. For example, if var 0, var 1, and var 2 are declared to be XFACE, YFACE, and NODE variables, respectively, then the default ordering (in 2D) would first list the two XFACE variables, then the two YFACE variables, then the four NODE variables as follows:

(0,-1,0), (0,1,0), (1,0,-1), (1,0,1), (2,-1,-1), (2,1,-1), (2,-1,1), (2,1,1)

Alphabetic index