Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Next: 1.9 DS MILI Up: 1 Description of DS by type Prev: 1.7 DS GEOM Index Contents


1.8 DS MAIL

 

1.8.1 Contents

This DS stores two- or three-dimensional meshes, as well as information regarding the finite element interpolation chosen. It corresponds to an element by element mesh description and an interpolation description for the unknown type.

DS MAIL is composed of 22 arrays or predefined order.

Array MAI0:
General information.

This integer array contains 32 variables, consisting of a general description of the job (title, date, name), of DS MAIL (type, level, ...), and indicates the presence or absence of array MAI1.

1:20 TITRE

the job title in 20 words of 4 characters,

21:22 DATE

the date of creation in 2 words of 4 characters,

23:28 NOMCRE

the creator's name in 6 words of 4 characters,

29 'MAIL'

the DS type,

30 NIVEAU

the DS level,

31 ETAT

a reserved parameter,

32 NTACM

the number of supplementary arrays
(they are described in array MAIL).

Array MAI1:
Description of any supplementary arrays.

This array is analogous to array B1 of DS B (see this DS).

Array MAI2:
General description.

This integer array contains 12 values.

1 NDIM

the space dimension (2 or 3),

2 NINCFV

the number of unknowns of the variational formulation,

3 NTYELM

the number of finite element types,

4 NDSR

the maximum of the reference numbers,

5 NTYNOE

the number of node types,

6 NTYPOI

the number of point types,

7 NCACAR

1 if the points have other characteristics than their coordinates,
0 if not,

8 NCOPNP

1 if the nodes coincide everywhere with the points, 0 if not,

9 MAXT

the maximum number of geometric element types (see below); used to dimension array MAI3

10 NMMAM

the maximum number of words necessary to store all the information pertaining to an element,

11 LMAIL

the size of array MAIL,

12 NOPFI

file write option.

Array MAI3:
The list of finite element types.

This integer and character array contains 4 + 4.MAXT.NDSD values.

1 NE

the number of elements,

2 NOE

the number of nodes,

3 NP

the number of points,

4 NDSD

the maximum of the sub-domain numbers.

There are 16 types possible for the usual geometries, corresponding to:

The other types (17 to ...) correspond to particular elements:

Array MAI4:
The physical significance of the variational unknowns.

This integer array contains NINCFV times 4 words (of 4 characters) representing this signification.

Array MAI5:
Number of unknowns per type of nodes.

This integer array contains NTYNOE words:

Array MAI6:
Unknown numbers.

This integer array contains MAI5(i) words:

Array MAI7:
Number of degrees of freedom per unknown.

This integer array contains MAI5(i) words:

Array MAI8:
The mnemonic code corresponding to the degree of freedom.

This integer array contains MAI7(i) words:

The codes are the following;

Array MAI9:
Number of mnemonics per point type.

This integer array contains NTYPOI words:

Array MAIA:
The mnemonic number per point type.

This integer array contains MAI9(i) words:

Array MAIB:
Libraries and finite elements.

This integer and character array contains 4 NTYELM words:

Array MAIC:
Geometry of the finite element types.

This integer array contains NTYELM words:

This code is described in DS NOPO (3: triangle, 4: quadrangle, etc.).

Array MAID:
Number of nodes per finite element type.

This integer array contains NTYELM words:

Array MAIE:
Number of points per finite element type.

This integer array contains NTYELM words:

Array MAIF:
The number of associated arrays per finite element type.

This integer array contains NTYELM words:

Array MAIG:
Pointer in MAIJ.

This integer array contains NTYELM words:

Array MAIH:
Pointer in MAIJ.

this integer array contains NTYELM words:

Array MAII:
Pointer in MAIJ.

this integer array contains NTYELM words:

remark:
These addresses are relative to the beginning of array MAIJ.

Array MAIJ:
Pointer in MAIK and description of the associated arrays.

This integer array contains:

LMAIJ, the length of array MAIJ, equals the number of words required to store all this information. In the file, this value can be recuperated as each record starts with the number of words which follow.

Array MAIK:
Point and node coordinates of the reference element.

This array, of type given in MAIJ, contains:

Nodes and points are arranged in the order defined by DS NOPO (see this DS). If the reference element is typically two-dimensional, but is considered as three-dimensional, it suffices to set the z components to 0.

Array MAIL:
Element description.

This double precision complex array contains:

1.8.2 Corresponding tools

Reading and writing a DS MAIL

If NOPTFI=0, the DS is category 1; consequently, in this case, a DS residing in main memory is written wholly on sequential file via module SDECRI. Similarly, it is read from file and transferred wholly into main memory via module SDLECT.

If NOPTFI=1, the DS is category 2; array MAIL is read and written outside of these modules. Each element constitutes a record:

WRITE(NFMAIL) LE,(M(IAMAIL-1+I),I=1,LE)

Printing a DS MAIL and plotting a mesh

The contents (total or partial) of a DS MAIL can be printed by the following modules:

IMMAIL:
the whole DS (according to the print parameter IMPRE)

      SUBROUTINE  IMMAIL(M,NFMAIL,NIMAIL,IMPRE)
C AIM : PRINT THE ARRAYS OF DS MAIL, INCREASING WITH IMPRE
C ---  FILE NFMAIL (OR MC IF 0), LEVEL NIMAIL

INFOMA:
print a particular value contained in the DS

      SUBROUTINE INFOMA(M,IOPT,TYPESD,NIVEAU,TAB2,TAB3,TABC,TABI,TABJ,
     +                  IAMAIL,NUMREC)
C AIM : GIVE INFORMATION ON A DS MAIL

Preprocessors IMAGXX and INFOXX are used if a conversational call of IMMAIL and INFOMA, respectively, is desired.

The mesh contained in a file can be plotted via preprocessor TRMCXX (see [96]) in two dimensions, or TRC3XX in three dimensions which also uses DS COOR.

Creation and modification modules of DS MAIL

DS MAIL is constructed via modules COMACO, COMAC2 or COMAC3.

Manipulation utilities of DS MAIL

Numerous utilities exist for manipulating the contents of a DS MAIL, amongst which the utilities facilitating the exploration of array MAIL.

 

      SUBROUTINE CLMAI5(MAI2,MAIC,MAIL,COO4,IA,NTYE,NDSDE,NNO,NONO,NPO
     +                  ,NOPOI,COORP,NREF,NCGE,IFLAG)
C AIM :  READ ARRAY MAILAND EXPLAIN IT (!)

 

      SUBROUTINE AELESU(M,LONREE,NCOPNP,NTYE,NTALIR,IAMAII,IAMAIJ,IA,
     +                  NMA)
C AIM : CALCULATE THE ADDRESS OF THE WORD PRECEDING THAT OF THE NEXT ELEMENT

 

       FUNCTION MNEMO(NUMERO,MNEMON,CODE)
C AIM : ENTER THE CORRESPONDENCE BETWEEN A NUMBER AND ITS MNEMONIC
C ---   MNEMO ALWAYS RETURNS THE MNEMONIC CODE IN AN INTEGER
      .
      .
      PARAMETER (NBRE = 24)
      INTEGER CODE
      CHARACTER*4 MNEM(NBRE),MNEMON
      DATA MNEM/'VN  ','DX  ','DY  ','DZ  ','DTG ','DN  ',
     +          'DDXX','DDYY','DDZZ','DDXY','DDYZ','DDZX','DDTG',
     +          'DDNN','DDTN','DLSP','IADN','TRAN','ITI1','ITI2',
     +          'ITI3','ITI4','ROTX','ROTY'/
C     
     .
     .

 

      SUBROUTINE TYPGEL(N,NM1,NM2,NM3)
C AIM :  WRITE CLEARLY IN 3 WORDS NM1, NM2, NM3 THE
C ---    GEOMETRIC TYPE OF THE ELEMENT OF CODE N


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Next: 1.9 DS MILI Up: 1 Description of DS by type Prev: 1.7 DS GEOM Index Contents