(3M) Calculator User Manual
On return, permtab holds the direct permutation of the unknowns, that is,
node vertex i of the original mesh has index permtab[i] in the reordered
mesh, while peritab holds the inverse permutation, that is , node vertex i
in the reordered mesh had index peritab[i] in the original mesh. All of
these indices are numbered according to the base value of the source mesh:
permutation indices are numbered from min(velmbas, vnodbas) to vnodnbr+
min(velmbas, vnodbas) − 1, that is, from 0 to vnodnbr − 1 if the mes h base
is 0, and from 1 to vnodnbr if the mesh base is 1. The base value for mesh
orderings is taken as min(velmbas, vnodbas), and not just as vnodbas, such
that orderings that are computed on some mesh have ex actly the same index
range as orderings that would be computed on the graph obtained from the
original mesh by means of the SCOTCH meshGraph routine.
The three other result fields, *cblkptr, rangtab and treetab, contain data
related to the block structure. *cblkptr holds the number of column blocks
of the produced o rdering, and rangtab holds the starting indices of each of the
permuted column blocks, in increasing order, so that column block i starts at
index rangtab[i] and ends at index (rangtab[i+1]−1), inclusive, in the new
ordering. treetab holds the se parators tree structure, that is, treetab[i] is
the index of the father of co lumn block i in the sepa rators tree, or −1 if column
block i is the root of the separators tree. Please refer to Section 7.2.5 for more
information.
Return val ues
SCOTCH meshOrder re tur ns 0 if the ordering of the mesh has been successfully
computed, a nd 1 els e. In this last case, the rangtab, permtab, and peritab
arrays may however have been partially or completely filled, but their contents
are not significant.
7.9.2 SCOTCH
meshOrderInit
Synopsis
int SCOTCH meshOrderInit (const SCOTCH Mesh * meshptr,
SCOTCH Ordering * ordeptr,
SCOTCH
Num * permtab,
SCOTCH Num * peritab,
SCOTCH Num * cblkptr,
SCOTCH
Num * rangtab,
SCOTCH Num * treetab)
scotchfmeshorderinit (doubleprecision (*) meshdat,
doubleprecision (*) ordedat,
integer*num (*) permtab,
integer*num (*) peritab,
integer*num cblknbr,
integer*num (*) rangtab,
integer*num (*) treetab,
integer ierr)
Description
104