HP MLIB User's Guide Vol. 2 7th Ed.
Chapter 14 METIS Routines 999
Converts a mesh into a dual graph mlib_METIS_MeshToDual
Name mlib_METIS_MeshToDual
Converts a mesh into a dual graph
Purpose This function is used to convert a mesh into a dual graph. It provides the
function of the mesh2nodal program.
Usage VECLIB:
void mlib_METIS_MeshToDual (int *ne, int *nn, int *elmnts, int *etype,
int *numflag, int *dxadj, int *dadjncy)
VECLIB8:
void mlib_METIS_MeshToDual (long long *ne, long long *nn, long long
*elmnts, long long *etype, long long *numflag, long long *dxadj, long
long *dadjncy)
Arguments ne The number of elements in the mesh.
nn The number of nodes in the mesh.
elmnts The element node array storing the mesh.
etype Indicates the type of the elements in the mesh. etype
can take the following values:
1—The elements are triangles.
2—The elements are tetrahedra.
3—The elements are hexahedra (bricks).
4—The elements are quadrilaterals.
numflag Used to indicate which numbering scheme is used for
the adjacency structure of the graph. numflag can take
the following two values:
0—C-Style numbering is assumed that starts from 0
1—Fortran-style numbering is assumed that starts
from 1
dxadj,
dadjncy
These arrays store the adjacency structure of the dual
graph. The user must provide arrays that are
sufficiently large to store the graph. The size of array
dxadj is ne+1 where the size of dadjncy depends on the
type of the mesh. For triangular-element meshes,
dadjncy should be at least 3*ne, for tetrahedra-element
and quadrilateral-element meshes, dadjncy should be
at least 4*ne, and for hexahedra-element meshes,
dadjncy should be at least 6*ne.