VECFEM3 Reference Manual: vemu03

Type: FORTRAN routine

Google


NAME

vemu03 - evaluation of a function C at center points

SYNOPSIS

CALL VEMU03(
T, LCU, CU, 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, USERC)
INTEGER
LCU, LU, 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
T, CU(LCU), U(LU), RPARM(LRPARM), RDPARM(LRDPRM), NOD(LDNOD), NOPARM(LNOPRM), RBIG(LBIG)
EXTERNAL
USERC

PURPOSE

vemu03 is a routine to compute a NC-valued function C at the center points of the inner elements of the finite element mesh. C depends on the location and the NK-valued input solution U and its derivative. U is given at the global nodes of the FEM mesh. vemu03 can be used to compute the heat flow in thermal analysis problems and the stresses in structural analysis problems. The results can be handed over to a standard postprocessor which processes element results (see veid99, vepa99).

ARGUMENTS

T double precision, scalar, input, global
Real number (e.g. current time).
LCU integer, scalar, input, local
Length of vector CU, LCU>=NC*NINE, where NINE is the total number of inner elements on the process MYPROC.
CU double precision, array: CU(LCU), output, local
The values of the function C at the center points of the inner elements. The NC components of the function C are stored separately for each individual group. CU(ADDCU(G)-1+CU1(G)*(j-1)+i) is the value of the j-th component of C at the center point of the i-th element on the process MYPROC in group G. The numbers ADDCU and CU1 are returned in IVEM.
LU integer, scalar, input, local
Length of solution vector U, LU >=LM.
U double precision, array: U(LU), input, local
The input solution vector at the global nodes. U(i) is the value of the input solution at the global node i+PTRMBK(MYPROC), see vemdis.
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.
0program terminated without error.
90LBIG is too small.
95IVEM, U or CU is too small.
99fatal error.
(5)=NIVEM, output, local
Used length of IVEM.
(30)=LOUT, input, local
Unit number of the standard output file, normally 6.
(31)=OUTCNT, input, local
Output control flag.
0only error messages are printed.
>0in addition a protocol is printed.
(33)=NC, input, global
Number of components of function C.
(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 vemu03 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)=ADDCU, output, local
Start address of the values of function C for group G in CU.
(MESH+GINFO+GINFO1*(G-1)+18)=CU1, output, local
Leading dimension of the values of function C for group G, normally CU1=NE.
(MESH+GINFO+GINFO1*(G-1)+19)=NCG, output, local
Number of values of function C for group G, normally NCG=NC for inner elements and NCG=0 for noninner elements.
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. 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.
USERC external
Name of the subroutine in which the function C is described, see userc.

EXAMPLE

See vemexamples.

METHOD

The center point coordinates are computed by the transformation of the center point of the reference element to the element by interpolation of the assigned geometrical nodes. To compute the values of U and its derivatives on the center point the values of U at the global nodes are interpolated by a polynomial.

REFERENCES

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

SEE ALSO

VECFEM, vemcompile, vemrun, vemhint, mesh, vemexamples, vemdis, userc, vemu04, vemu05, vemu06.

COPYRIGHTS

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