VECFEM3 Reference Manual: vemge2

Type: FORTRAN routine

Google


NAME

vemge2 - generates a mixed FEM mesh from an isoparametrical mesh

SYNOPSIS

CALL VEMGE2(
PROPOP, 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
PROPOP(*), 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

vemge2 is a simple tool to generate a mixed finite element mesh for isoparametrical proposal functions (PRFLIB=0) on a given geometrical mesh of order 1 or 2 (see also vemgen(later)). The order of the proposal functions is 1 or 2 and may depend on the component of the solution and the group number. The use of nodal elements (CLASS=0) whose nodes are not vertices of geometrical elements is forbidden. vemge2 can be called without a preceding vemdis call, but after the vemge2 call you have to call vemdis before you call any other VECFEM routine.

ARGUMENTS

PROPOP integer, array: PROPOP(NK,NGROUP), input, global
PROPOP(i,g) specifies the order of the component i in group g:
<1NELTYP(i,g)=0 (=> undefined component).
1NELTYP(i,g)=FORM(g) (=> order 1).
>1NELTYP(i,g)=MAX(GEOTYP(g),FORM(g)) (=> order 2).
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 is too small.
99fatal error.
(5)=NIVEM, output, local
Used length of IVEM.
(101)=LOUT, input, local
Unit number of the standard output file, normally 6.
(102)=OUTCNT, input, local
Output control flag, normally 1:
0only error messages are printed.
>0additionally a protocol is printed.
(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 value gives the number of communications during the vemge2 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/output, 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/output, 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.

METHOD

The given geometrical mesh is reduced to the prescribed required order of the proposal function. If possible, a component-by-component numbering is used.

REFERENCES

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

SEE ALSO

VECFEM, vemcompile, vemrun, vemhint, mesh, vemexamples, vemdis, vemgen(later), vemopt(later).

COPYRIGHTS

Program by L. Grosz, C. Roll, 1991-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.