8 mesh handling routines – Scotch Brand 5.1.10 User Manual

Page 95

Advertising
background image

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

Advertising