Zoltan_LB_Point_PP_AssignFor backward compatibility with previous versions of Zoltan, the following functions are also maintained. These functions are applicable only when the number of parts to be generated is equal to the number of processors on which the parts are computed. That is, these functions assume "parts" and "processors" are synonymous.
Zoltan_LB_Box_PP_Assign
Zoltan_LB_Point_Assign
Zoltan_LB_Box_Assign
C: |
int Zoltan_LB_Point_PP_Assign (
struct Zoltan_Struct * zz, double * coords, int * proc, int * part ); |
FORTRAN: | FUNCTION Zoltan_LB_Point_PP_Assign(zz, coords, proc, part)
INTEGER(Zoltan_INT) :: Zoltan_LB_Point_PP_Assign TYPE(Zoltan_Struct), INTENT(IN) :: zz REAL(Zoltan_DOUBLE), DIMENSION(*), INTENT(IN) :: coords INTEGER(Zoltan_INT), INTENT(OUT) :: proc INTEGER(Zoltan_INT), INTENT(OUT) :: part |
C++: |
int Zoltan::LB_Point_PP_Assign (
double * const coords, int & proc, int & part ); |
Arguments: | |
zz | Pointer to the Zoltan structure created by Zoltan_Create. |
coords | The (x,y) or (x,y,z) coordinates of the point being assigned. |
proc | Upon return, the ID of the processor to which the point should belong. |
part | Upon return, the ID of the parts to which the point should belong. |
Returned Value: | |
int | Error code. |
C: |
int Zoltan_LB_Box_PP_Assign (
struct Zoltan_Struct * zz, double xmin, double ymin, double zmin, double xmax, double ymax, double zmax, int *procs, int *numprocs, int *parts, int *numparts); |
FORTRAN: | FUNCTION Zoltan_LB_Box_PP_Assign(zz,
xmin, ymin, zmin, xmax, ymax,
zmax, procs, numprocs, parts, numparts)
INTEGER(Zoltan_INT) :: Zoltan_LB_Box_PP_Assign TYPE(Zoltan_Struct), INTENT(IN) :: zz REAL(Zoltan_DOUBLE), INTENT(IN) :: xmin, ymin, zmin, xmax, ymax, zmax INTEGER(Zoltan_INT), DIMENSION(*), INTENT(OUT) ::procs INTEGER(Zoltan_INT), INTENT(OUT) :: numprocs INTEGER(Zoltan_INT), DIMENSION(*), INTENT(OUT) ::parts INTEGER(Zoltan_INT), INTENT(OUT) :: numparts |
C++: |
int Zoltan::LB_Box_PP_Assign (
const double & xmin, const double & ymin, const double & zmin, const double & xmax, const double & ymax, const double & zmax, int * const procs, int & numprocs, int * const parts, int & numparts); |
Note that if the parameter REDUCE_DIMENSIONS was set to TRUE and
the geometry was determined to be degenerate when decomposition was
calculated, then the calculation was performed on transformed
coordinates. This means that Zoltan_LB_Box_PP_Assign
must transform the supplied bounding box accordingly.
The transformed vertices are bounded again,
and the parts intersections are calculated in the transformed
space on this new bounding box.
The impact of this is that Zoltan_LB_Box_PP_Assign may return
parts not actually intersecting the original bounding box, but
it will not omit any parts intersecting the original bounding
box.
Arguments: | |
zz | Pointer to the Zoltan structure created by Zoltan_Create. |
xmin, ymin, zmin | The coordinates of the lower extent of the bounding box around the object. If the geometry is two-dimensional, the z value is ignored. |
xmax, ymax, zmax | The coordinates of the upper extent of the bounding box around the object. If the geometry is two-dimensional, the z value is ignored. |
procs | The list of processors intersecting the box are returned starting at this address. Note that it is the responsibility of the calling routine to ensure that there is sufficient space for the return list. |
numprocs | Upon return, this value contains the number of processors that intersect the box (i.e. the number of entries placed in the procs list). |
parts | The list of parts intersecting the box are returned starting at this address. Note that it is the responsibility of the calling routine to ensure that there is sufficient space for the return list. |
numparts | Upon return, this value contains the number of parts that intersect the box (i.e. the number of entries placed in the parts list). |
Returned Value: | |
int | Error code. |
C: |
int Zoltan_LB_Point_Assign (
struct Zoltan_Struct * zz, double * coords, int * proc); |
FORTRAN: | FUNCTION Zoltan_LB_Point_Assign(zz, coords, proc)
INTEGER(Zoltan_INT) :: Zoltan_LB_Point_Assign TYPE(Zoltan_Struct), INTENT(IN) :: zz REAL(Zoltan_DOUBLE), DIMENSION(*), INTENT(IN) :: coords INTEGER(Zoltan_INT), INTENT(OUT) :: proc |
Arguments: | |
All arguments are analogous to those in Zoltan_LB_Point_PP_Assign. Parts-assignment argument part is not included, as processor and parts numbers are considered to be the same in Zoltan_LB_Point_Assign. | |
Returned Value: | |
int | Error code. |
C: |
int Zoltan_LB_Box_Assign (
struct Zoltan_Struct * zz, double xmin, double ymin, double zmin, double xmax, double ymax, double zmax, int *procs, int *numprocs); |
FORTRAN: | FUNCTION Zoltan_LB_Box_Assign(zz, xmin, ymin, zmin, xmax, ymax,
zmax, procs, numprocs)
INTEGER(Zoltan_INT) :: Zoltan_LB_Box_Assign TYPE(Zoltan_Struct), INTENT(IN) :: zz REAL(Zoltan_DOUBLE), INTENT(IN) :: xmin, ymin, zmin, xmax, ymax, zmax INTEGER(Zoltan_INT), DIMENSION(*), INTENT(OUT) ::procs INTEGER(Zoltan_INT), INTENT(OUT) :: numprocs |
Arguments: | |
All arguments are analogous to those in Zoltan_LB_Box_PP_Assign. Parts-assignment arguments parts and numparts are not included, as processor and parts numbers are considered to be the same in Zoltan_LB_Box_Assign. | |
Returned Value: | |
int | Error code. |