|
NAME
vemavs - writes nodal values and the mesh data to an AVS UCD file
SYNOPSIS
- CALL VEMAVS(
-
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
vemavs crates an UCD file (unstructured cell data file) that can be
read by AVS, see [AVS], and other visualization tools (e.g Explorer).
The data file contains the geometrical mesh as well as the result data at
the geometrical nodes.
In the geometry only point, line, triangle, quadrilateral, tetrahedron, prism
and hexahedron elements of order one and two are considered,
see mesh, are considered. Order three elements are ignored.
The cell-id is given by the first and the
mat_id by the second integer vector parameters. If there is no second parameter
it is set to one. If there is no first parameter the element group is ignored.
The routine writes scalar and vector nodal results. In the last case components
missed to form a three dimensional vector are set to zero. The label of
the component is given by TEXT1. Moreover
data can be write without being interpreted as scalar or vector data. Then
the label of the i-th component is TEXT1_<i>.
the result data can be created by using the AVS modul ucd_extract.
Only values lower than 10.D0**IVEM(4)
are considered. To distribute a solution at the global nodes
onto the geometrical nodes vemu05 can be used.
The model-id is TEXT2 with one model component given by the load case id
CASE and two additional components STEP and T if
nonsteady data are written.
ARGUMENTS
- TEXT1 character*80, scalar, input, local
-
Component label
- TEXT2 character*80, scalar, input, local
-
model id
- T double precision, scalar, input, global
-
Time.
- LU integer, scalar, input, local
-
Length of the input solution vector, LU>=U1*N.
- U double precision, array: U(LU), input, local
-
The input solution vector at the geometrical nodes.
U(U1*(j-1)+i) is the value of the j-th component
at the i-th geometrical node on the process MYPROC. If
a geometrical node has different values on two processes, one
arbitrarily selected value of the two is written.
- 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 UCD file. |
99 | fatal error. | - (4), input, local
-
Only entries of U lower than 10.D0**IVEM(4) are written.
- (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. | - (127), input, local
-
Unit of the UCD file.
- (128)=U1, input, local
-
Leading dimension of the input solution array, U1>=NDEG.
- (129)=N, input, global
-
Number of components of the input solution.
- (130)=FTYPE, input, global
-
Data type
0 | unknown (N arbitrary) |
1 | -scalar (N=1) |
2 | -vector (N=3) | If N does not fit, the missing components are
set to zero and useless values are cut.
- (137)=CASE, input, global
-
Load set counter.
- (138)=STEP, input, global
-
Time step counter. If STEP<0, the steady analysis type is assumed.
- (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 vemavs 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. 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], [AVS].
SEE ALSO
VECFEM, vemcompile, vemrun, vemhint,
mesh, vemexamples, vemdis, vemu05.
COPYRIGHTS
Program by L. Grosz, 1997.
Copyrights by Lutz Grosz 1997.
All rights reserved. More details see VECFEM.
by L. Grosz, Auckland , 11. June, 2000. |