Description
The
SCOTCH graphOrderComputeList
routine computes a block ordering of a
subgraph of the graph structure pointed to by
grafptr
, using the ordering
strategy pointed to by
stratptr
, and stores its result in the ordering structure
pointed to by
ordeptr
. The induced subgraph is described by means of a
vertex list:
listnbr
holds the number of vertices to keep in the induced
subgraph, the indices of which are given, in any order, in the
listtab
array.
On return, the ordering structure holds a block ordering of the induced sub-
graph (see section 7.2.5 for a description of the ordering fields). To com-
pute this ordering, graph ordering methods such as the minimum degree and
minimum fill methods will base on the original degree of the induced graph
vertices, their non-induced neighbors being considered as halo vertices (see
Section 3.2.3 for more information on halo vertices).
Because an ordering always refers to the full graph, the ordering com-
puted by
SCOTCH graphOrderComputeList
is divided into two distinct parts:
the induced graph vertices are ordered by applying to the induced graph
the strategy provided by the
stratptr
parameter, while non-induced ver-
tex are ordered consecutively with the highest available indices.
Conse-
quently, the permuted indices of induced vertices range from
baseval
to
(
listnbr
+
baseval
−
1), while the permuted indices of the remaining ver-
tices range from (
listnbr
+
baseval
) to (
vertnbr
+
baseval
−
1), inclusive.
The separation tree yielded by
SCOTCH graphOrderComputeList
reflects this
property: it is made of two branches, the first one corresponding to the in-
duced subgraph, and the second one to the remaining vertices. Since these
two subgraphs are not considered to be connected, both will have their own
root, represented by a
−
1 value in the
treetab
array of the ordering.
Return values
SCOTCH graphOrderComputeList
returns 0 if the ordering has been success-
fully computed, and 1 else. In this latter case, the ordering arrays may however
have been partially or completely filled, but their contents are not significant.
7.8
Mesh handling routines
7.8.1
SCOTCH meshInit
Synopsis
int SCOTCH meshInit (SCOTCH Mesh *
meshptr)
scotchfmeshinit (doubleprecision (*)
meshdat,
integer
ierr)
Description
The
SCOTCH meshInit
function initializes a
SCOTCH Mesh
structure so as to
make it suitable for future operations. It should be the first function to be
called upon a
SCOTCH Mesh
structure. When the mesh data is no longer of
use, call function
SCOTCH meshExit
to free its internal structures.
95