# VECFEM3 Reference Manual: vemu01

Type: FORTRAN routine

## NAME

vemu01 - prints the FEM mesh

## SYNOPSIS

CALL VEMU01(
  LIVEM, IVEM, LNEK, NEK, LRPARM, RPARM, LIPARM, IPARM, LDNOD, DNOD, LRDPRM, RDPARM, LIDPRM, IDPARM, LNODN, NODNUM, LNOD, NOD, LNOPRM, NOPARM, LBIG, RBIG, IBIG)
INTEGER
  LIVEM, LNEK, LRPARM, LIPARM, LDNOD, LRDPRM, LIDPRM, LNODN, LNOPRM, LBIG
INTEGER
  IVEM(LIVEM), NEK(LNEK), IPARM(LIPARM), DNOD(LDNOD), IDPARM(LIDPRM), NODNUM(LNODN), IBIG(*)
DOUBLE PRECISION
  RPARM(LRPARM), RDPARM(LRDPRM), NOD(LDNOD), NOPARM(LNOPRM), RBIG(LBIG)

## PURPOSE

vemu01 is a routine to print the FEM mesh to unit LOUT. The user can specify which informations to print: general mesh informations, coordinates of the geometrical nodes, elements or Dirichlet conditions. Additionally the user can specify where the informations are to be printed. Each process prints its part of the mesh, or the first process (logical number 1) prints the meshes on all processes. In the second case there is the option to compose the meshes on the processes into a global mesh so that the distribution of the mesh onto the processes is not shown. vemu01 can be called without a preceding vemdis call.

## ARGUMENTS

LIVEM integer, scalar, input, local
  Length of the integer information vector, LIVEM>= MESH+ NINFO.
IVEM integer, array: IVEM(LIVEM), input/output, local/global
  Integer information vector.
  (1)=MESH, input, local
    Start address of the mesh informations in IVEM, MESH>203+ NPROC.
  (2)=ERR, output, global
    Error number.

    0 | program terminated without error.
    90 | LBIG is too small.
    95 | IVEM is too small.
    99 | fatal error.

  (5)=NIVEM, output, local
    Used length of IVEM.
  (20)=LOUT, input, local
    Unit number of the standard output file, normally 6.
  (21)=OUTCNT, input, local
    Output control flag. A number of four digits indicates which parts of the mesh are to be printed.

        1 1 1 1
        | | | -- print Dirichlet conditions
        | | ---- print elements
        | ------ print coordinates of the geometrical nodes
        -------- print mesh informations

    So OUTCNT = 1000 prints only the mesh informations, OUTCNT=0101 prints the coordinates of the geometrical nodes and the Dirichlet conditions,... OUTCNT=0 gives no output.
  (22), input, global

    0 | The mesh on each process is printed by the respective process.
    1 | The mesh is printed on process 1, the distribution is shown.
    2 | The mesh is printed on process 1, the distribution is not shown.

  (200)=NPROC, input, global
    Number of processes, see combgn.
  (201)=MYPROC, input, local
    Logical process id number, see combgn.
  (202)=NMSG, input/output, global
    Message counter. The difference of the input and the output values gives the number of communications during the vemu01 call.
  (204)=TIDS(1), input, global
    Begin of the list TIDS which defines the mapping of the logical process ids to the physical process ids. See combgn.
  (MESH), input, local
    Start of mesh informations, see mesh.
LNEK integer, scalar, input, local
  Length of the element array.
NEK integer, array: NEK(LNEK), input, local
  Array of the elements, see mesh.
LRPARM integer, scalar, input, local
  Length of the real parameter array.
RPARM double precision, array: RPARM(LRPARM), input, local
  Real parameter array, see mesh.
LIPARM integer, scalar, input, local
  Length of the integer parameter array.
IPARM integer, array: IPARM(LIPARM), input, local
  Integer parameter array, see mesh.
LDNOD integer, scalar, input, local
  Length of the array of the Dirichlet nodes.
DNOD integer, array: DNOD(LDNOD), input, local
  Array of the Dirichlet nodes, see mesh.
LRDPRM integer, scalar, input, local
  Length of the real Dirichlet parameter array.
RDPARM double precision, array: RDPARM(LRDPRM), input, local
  Array of the real Dirichlet parameters, see mesh.
LIDPRM integer, scalar, input, local
  Length of the integer Dirichlet parameter array.
IDPARM integer, array: IDPARM(LIDPRM), input, local
  Array of the integer Dirichlet parameters, see mesh.
LNODN integer, scalar, input, local
  Length of the array of the id numbers of the geometrical nodes.
NODNUM integer, array: NODNUM(LNODN), input, local
  Array of the id numbers of the geometrical nodes, see mesh.
LNOD integer, scalar, input, local
  Length of the array of the coordinates of the geometrical nodes.
NOD double precision, array: NOD(LNOD), input, local
  Array of the coordinates of the geometrical nodes, see mesh.
LNOPRM integer, scalar, input, local
  Length of the array of the node parameters.
NOPARM double precision, array: NOPARM(LNOPRM), input, local
  Array of the node parameters, see mesh.
LBIG integer, scalar, input, local
  Length of the real work array. The needed length of LBIG depends on the given mesh. A minimal length of LBIG cannot be given. It should be as large as possible.
RBIG double precision, array: RBIG(LBIG), work array, local
  Real work array.
IBIG integer, array: IBIG(*), work array, local
  Integer work array, RBIG and IBIG have to be defined by the EQUIVALENCE statement.

## EXAMPLE

See vemexamples.

## REFERENCES

[FAQ], [DATAMAN], [DATAMAN2], [P_MPI].

## SEE ALSO

VECFEM, vemcompile, vemrun, vemhint, mesh, vemexamples, vemdis.

## COPYRIGHTS

Program by L. Grosz, C. Roll, P. Sternecker, 1989-1996. opyrights by Universitaet Karlsruhe 1989-1996. Copyrights by Lutz Grosz 1996. All rights reserved. More details see VECFEM.

by L. Grosz, Auckland , 6. June, 2000.