(3M) Calculator User Manual
the reference to the adjacency end index array, and is equal to verttab + 1
if the adjacency a rray is compact. velotab and vnlotab ar e pointers to
locations that will hold the reference to the element and node vertex load
arrays, of sizes *velmptr and *vnodptr, resp ectively. vlbltab is the pointer
to a location that will hold the reference to the vertex label array, of size
(*velmptr + *vnodptr). edgeptr is the pointer to a location that will hold
the number of arcs (that is, twice the number of edges). edgetab is the pointer
to a location that will hold the reference to the adjacency array, of size at least
edgenbr. degrptr is the pointer to a location that will hold the maximum
vertex degree computed across all element and node vertices.
Any of these pointers can be set to NULL on input if the corresponding infor-
mation is not nee ded. Else, the reference to a dummy area can be provided,
where all unwanted data will be written.
Since there are no pointers in Fortran, a specific mechanism is used to allow
users to access mesh arrays. The scotchfmeshdata routine is passed an inte-
ger array, the fir st element of which is used as a base addre ss from which all
other array indices are computed. There fo re, instead of returning references,
the routine r e tur ns integers, which represent the starting index of each of the
relevant arrays with r e spec t to the base input array, or vertidx, the index
of verttab, if they do not exist. For instance, if some base arr ay myarray
(1) is passed as parameter indxtab, then the first cell of array verttab will
be access ible as myarray(vertidx). In order for this feature to behave prop-
erly, the indxtab array must be word-aligned with the mesh arrays. T his is
automatically enforced on most systems, but some care should be taken on
systems that allow one to access data that is not word-aligned. On such sys-
tems, declaring the array after a dummy doubleprecision array can coerce
the compiler into e nforcing the proper alignment. Also, on 32
64 architec-
tures, such indices can be lar ger than the size of a regular INTEGER. This is
why the indices to be returned are defined by means of a specific integer type.
See Section 7.1.4 for more information on this issue.
7.8.9 SCOTCH meshStat
Synopsis
void SCOTCH meshStat (const SCOTCH Mesh * meshptr,
SCOTCH
Num * vnlominptr,
SCOTCH Num * vnlomaxptr,
SCOTCH
Num * vnlosumptr,
double * vnloavgptr,
double * vnlodltptr,
SCOTCH
Num * edegminptr,
SCOTCH Num * edegmaxptr,
double * edegavgptr,
double * edegdltptr,
SCOTCH
Num * ndegminptr,
SCOTCH
Num * ndegmaxptr,
double * ndegavgptr,
double * ndegdltptr)
101