|
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:
<1 | NELTYP(i,g)=0 (=> undefined component). |
1 | NELTYP(i,g)=FORM(g) (=> order 1). |
>1 | NELTYP(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.
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.
- (101)=LOUT, input, local
-
Unit number of the standard output file, normally 6.
- (102)=OUTCNT, input, local
-
Output control flag, normally 1:
0 | only error messages are printed. |
>0 | additionally 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. |