# VECFEM3 Reference Manual: vepa99

Type: FORTRAN routine

## NAME

vepa99 - writes element values to a PATRAN neutral file

## SYNOPSIS

CALL VEPA99(
  TEXT1, TEXT2, T, LU, U, LIVEM, IVEM, LNEK, NEK, LRPARM, RPARM, LIPARM, IPARM, LDNOD, DNOD, LRDPRM, RDPARM, LIDPRM, IDPARM, LNODN, NODNUM, LNOD, NOD, LNOPRM, NOPARM, LBIG, RBIG, IBIG)
INTEGER
  LU, LIVEM, LNEK, LRPARM, LIPARM, LDNOD, LRDPRM, LIDPRM, LNODN, LNOPRM, LBIG
CHARACTER*80
  TEXT1, TEXT2
INTEGER
  IVEM(LIVEM), NEK(LNEK), IPARM(LIPARM), DNOD(LDNOD), IDPARM(LIDPRM), NODNUM(LNODN), IBIG(*)
DOUBLE PRECISION
  T, U(LU), RPARM(LRPARM), RDPARM(LRDPRM), NOD(LDNOD), NOPARM(LNOPRM), RBIG(LBIG)

## PURPOSE

vepa99 writes a PATRAN element result file from real values assigned to elements (e.g. computed by vemu03, vemu04). The number of data values (WIDTH) is determined by the maximal number of assigned values per element and the selected data format type. Missing values are filled by zeroes and useless values are cut. The first vector integer parameter of the elements is the element id number. If there is no integer parameter or assigned real value in a group, it is skipped.

## ARGUMENTS

TEXT1 character*80, scalar, input, local
  Title of the neutral file.
TEXT2 character*80, scalar, input, local
  Subtitle.
T double precision, scalar, input, local
  Not used.
LU integer, scalar, input, local
  Length of vector U.
U double precision, array: U(LU), input, local
  The values for the elements. U(ADDU(G)-1+U1(G)*(j-1)+i) is the j-th value of the i-th element on the process MYPROC in group G. The numbers ADDU and U1 are handed over in IVEM.
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 or U is too small.
    98 | write error on unit of neutral file.
    99 | fatal error.

  (5)=NIVEM, output, local
    Used length of IVEM.
  (120)=LOUT, input, local
    Unit number of the standard output file, normally 6.
  (121)=OUTCNT, input, local
    Output control flag, normally 1.

    0 | only error messages are printed.
    >0 | a protocol is printed.

  (133), input, local
    Unit of the neutral file.
  (134)=FTYPE, input, global
    Data format type.

    0 | unknown
    1 | scalar (WIDTH=1)
    2 | 3D-vector (WIDTH=3)
    3 | general 3x3-matrix (WIDTH=9):
    |  | |U1 U2 U3|
    |  | |U4 U5 U6|
    |  | |U7 U8 U9|

  (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 vepa99 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.
  (MESH+GINFO+GINFO1*(G-1)+17)=ADDU, input, local
    Start address of the element values for group G in U.
  (MESH+GINFO+GINFO1*(G-1)+18)=U1, input, local
    Leading dimension of the element values for group G, U1>=NE.
  (MESH+GINFO+GINFO1*(G-1)+19)=NU, input, local
    Number of values for the elements in group G.
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. 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], [PATRAN].

## SEE ALSO

VECFEM, vemcompile, vemrun, vemhint, mesh, vemexamples, vemdis, patvem, vemu03, vemu04, vepa97.

## COPYRIGHTS

Program by C. Stocker, L. Grosz, K. Schreiber, 1989-1996. Copyrights by Universitaet Karlsruhe 1989-1996. Copyrights by Lutz Grosz 1996. All rights reserved. More details see VECFEM.

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