Information about the subregions generated by RCB can be obtained by an
application through calls to
Zoltan_RCB_Box. This function is not
required to perform load balancing; it only provides auxiliary information
to an application.
Method String:  RCB 
Parameters:  
RCB_OVERALLOC  The amount by which to overallocate temporary storage arrays
for objects
within the RCB algorithm when additional storage is due to changes in
processor
assignments. 1.0 = no extra storage allocated; 1.5 = 50% extra storage; etc. 
RCB_REUSE  Flag to indicate whether to use previous cuts as initial
guesses for
the current RCB invocation. 0 = don't use previous cuts; 1 = use previous cuts. 
RCB_OUTPUT_LEVEL  Flag controlling the amount of timing and diagnostic output
the routine
produces. 0 = no output; 1 = print summary; 2 = print data for each processor. 
CHECK_GEOM  Flag controlling the invocation of input and output error
checking. 0 = don't do checking; 1 = do checking. 
KEEP_CUTS  Should information about the cuts determining the RCB
decomposition
be retained? It costs a bit of time to do so, but this information is
necessary
if application wants to add more objects to the decomposition via calls
to Zoltan_LB_Point_PP_Assign
or to Zoltan_LB_Box_PP_Assign.
0 = don't keep cuts; 1 = keep cuts. 
AVERAGE_CUTS  When set to one, coordinates of RCB cutting planes are computed to be the
average of the coordinates of the closest object on each side of the cut.
Otherwise, coordinates of cutting planes may equal those of one of the
closest objects.
0 = don't average cuts; 1 = average cuts. 
RCB_LOCK_DIRECTIONS  Flag that determines whether the order of the directions of
the cuts is kept
constant after they are determined the first time RCB is called. 0 = don't lock directions; 1 = lock directions. 
RCB_SET_DIRECTIONS  If this flag is set, the order of cuts is changed so that all
of the cuts
in any direction are done as a group. The number of cuts in each
direction is
determined and then the value of the parameter is used to determine the
order
that those cuts are made in. When 1D and 2D problems are partitioned,
the
directions corresponding to unused dimensions are ignored. 0 = don't order cuts; 1 = xyz; 2 = xzy; 3 = yzx; 4 = yxz; 5 = zxy; 6 = zyx; 
RCB_RECTILINEAR_BLOCKS  Flag controlling the shape of the resulting regions. If this
option is
specified, then when a cut is made, all of the dots located on the cut
are
moved to the same side of the cut. The resulting regions are then
rectilinear. When these dots are treated as a group, then the resulting
load balance may not be as good as when the group of dots is split by
the
cut. 0 = move dots individually; 1 = move dots in groups. 
REDUCE_DIMENSIONS  When a 3 dimensional geometry is almost flat, it may make more sense to treat it as a 2 dimensional geometry when applying the RCB algorithm. In this case, a 2 dimensional RCB calculation is applied to a plane that corresponds with the geometry. (This results in cuts that, while still orthogonal, may no longer be axis aligned.) If this parameter is set to 1, a 3 dimensional geometry will be treated as 2 dimensional if it is very flat, or 1 dimensional if it is very thin. A 2 dimensional geometry will be treated as 1 dimensional if it is very thin. 
DEGENERATE_RATIO  If the REDUCE_DIMENSIONS parameter is set, then this parameter determines when a geometry is considered to be degenerate. A bounding box which is oriented to the geometry is constructed, and the lengths of its sides are tested against a ratio of 1 : DEGENERATE_RATIO. 
RCB_RECOMPUTE_BOX  Flag indicating whether the bounding box of set of parts is
recomputed at each level of recursion. By default, the longest direction
of the bounding box is cut during bisection. Recomputing the bounding
box at each level of recursion can produce more effective cut directions
for unusually shaped geometries; the computation does, however, take
additional time and communication, and may cause cut directions to
vary from one invocation of RCB to the next.
0 = don't recompute the bounding box; 1 = recompute the box. 
OBJ_WEIGHTS_COMPARABLE 
In the multiconstraint case, are
the object weights comparable? Do they have the same units and is the
scaling meaningful? For example, if the jth weight corresponds to the
expected time in phase j (measured in seconds), set this parameter to
1. (0 = incomparable, 1 = comparable) 
RCB_MULTICRITERIA_NORM 
Norm used in multicriteria
algorithm; this determines how to balance the different weight
constraints. Valid values are 1,2, and 3. Roughly, if the weights
correspond to different phases, then the value 1 (1norm) tries to
minimize the total time (sum over all phases) while the value 3
(maxnorm) attempts to minimize the worst imbalance in any phase. The
2norm does something in between. Try a different value if you're
not happy with the balance. 
RCB_MAX_ASPECT_RATIO 
Maximum allowed ratio between
the largest and smallest side of a subdomain. Must be > 1. 
Default:  
RCB_OVERALLOC = 1.2  
RCB_REUSE = 0  
RCB_OUTPUT_LEVEL = 0  
CHECK_GEOM = 1  
KEEP_CUTS = 0  
AVERAGE_CUTS = 0  
RCB_LOCK_DIRECTIONS = 0  
REDUCE_DIMENSIONS = 0  
DEGENERATE_RATIO = 10  
RCB_SET_DIRECTIONS = 0  
RCB_RECTILINEAR_BLOCKS = 0  
RCB_RECOMPUTE_BOX = 0  
OBJ_WEIGHTS_COMPARABLE = 0 

RCB_MULTICRITERIA_NORM = 1 

RCB_MAX_ASPECT_RATIO = 10 

Required Query Functions:  
ZOLTAN_NUM_OBJ_FN  
ZOLTAN_OBJ_LIST_FN  
ZOLTAN_NUM_GEOM_FN  
ZOLTAN_GEOM_MULTI_FN or ZOLTAN_GEOM_FN 
C: 
int Zoltan_RCB_Box (
struct Zoltan_Struct * zz, int part, int *ndim, double *xmin, double *ymin, double *zmin, double *xmax, double *ymax, double *zmax); 
FORTRAN:  FUNCTION Zoltan_RCB_Box(zz, part,ndim, xmin, ymin, zmin,
xmax, ymax, zmax)
INTEGER(Zoltan_INT) :: Zoltan_RCB_Box TYPE(Zoltan_Struct), INTENT(IN) :: zz INTEGER(Zoltan_INT), INTENT(IN) :: part INTEGER(Zoltan_INT), INTENT(OUT) :: ndim REAL(Zoltan_DOUBLE), INTENT(OUT) :: xmin, ymin, zmin, xmax, ymax, zmax 
Arguments:  
zz  Pointer to the Zoltan structure created by Zoltan_Create. 
part  Part number of part for which the bounding box should be returned. 
ndim  Upon return, the number of dimensions in the partitioned geometry. 
xmin, ymin, zmin  Upon return, the coordinates of the lower extent of bounding box for the part. If the geometry is twodimensional, zmin is DBL_MAX. If the geometry is onedimensional, ymin is DBL_MAX. 
xmax, ymax, zmax  Upon return, the coordinates of the upper extent of bounding box for the part. If the geometry is twodimensional, zmax is DBL_MAX. If the geometry is onedimensional, ymax is DBL_MAX. 
Returned Value:  
int  Error code. 