
|
VECFEM3 Reference Manual: vemdis
Type: FORTRAN routine
NAME
vemdis - prepares a FEM mesh for the VECFEM calculation.
SYNOPSIS
- CALL VEMDIS(
- 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
- 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
vemdis prepares the finite element mesh data (see mesh) for the VECFEM calculation and resorts the mesh array for an efficient run of VECFEM on parallel and vector computers. Especially the numbering of the proposal functions is made continuous. It has to be called before the call of any other routine except vemge2, idevem and patvem. If you change the structure of the mesh (e.g. by refinements), you have to call vemdis again. An isoparametrical mesh indicated by OWN=0 is changed to a mesh with component-by-component numbering of the proposal functions, therefore you have to specify LNEK and LDNOD with twice the values that you really used at the input. OWN=0 is kept. Please keep in mind that the mesh and the mesh management is totally rearranged by vemdis to optimize the program run.
ARGUMENTS
- LIVEM integer, scalar, input, local
- Length of the integer information vector.
- 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 array is too small. |
99 |
fatal error. |
- (5)=NIVEM, output, local
- Used length of IVEM.
- (51)=ORDER, input, global
- Order for the integration formulas for the computation of the element matrices, see veme00, veme02 or vemp02.
- (80)=LOUT, input, local
- Unit number of the standard output file, normally 6.
- (81)=OUTCNT, input, local
- Output control flag.
0 |
only error messages are printed |
1 |
in addition 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 values gives the number of communications during the vemdis 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/output, local
- Start of mesh informations, see mesh.
- (MESH+18)=DIS, input/output, local
- If at the input DIS=220964, the ids of the geometrical nodes in NEK and DNOD refer to the local numbering on the processor. In the other cases the numbering refers to the global numbering over all processors. At the output always DIS=220964.
- 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/output, local
- Real parameter array, see mesh.
- LIPARM integer, scalar, input, local
- Length of the integer parameter array.
- IPARM integer, array: IPARM(LIPARM), input/output, 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/output, 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/output, 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/output, 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/output, 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/output, local
- Array of the node parameters, see mesh.
- LBIG integer, scalar, input, local
- Length of the real work array. It is impossible to compute the needed length for LBIG before the first vemdis run. 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
Numbering
The numbering of the proposal functions is made continuous. The old numbering is lost.
Parallel Computer
The elements are distributed to the processors so that the loading during the calculation of the element matrices is balanced and the communication for the mounting of the global system is minimal. After the distribution, all informations necessary for the calculation are available at the processor. The geometrical nodes which are referred to by the elements and Dirichlet conditions on one processor get a local numbering. The list NODNUM gives the mapping of the local numbering of the geometrical nodes onto the global numbering.
Vector Computer
For an efficient mounting of the global system on a vector computer the elements on the processors are resorted. Proposal nodes contained in many elements should be avoided.
SEE
VECFEM, vemcompile, vemrun, vemhint, mesh, vemexamples, idevem, patvem, veme00, veme02, vemge2, vemgen(later), vemopt(later), vemu02.
REFERENCES
[FAQ], [DATAMAN], [DATAMAN2], [P_MPI].
COPYRIGHTS
Program by L. Grosz, 1994-1996. Copyrights by Universitaet Karlsruhe 1989-1996. Copyrights by Lutz Grosz 1996. All rights reserved. More details see VECFEM.
|