Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Next: 1.8 DS MAIL Up: 1 Description of DS by type Prev: 1.6 DS FORC Index Contents


1.7 DS GEOM

 

1.7.1 Contents

This DS stores mesh information in a form which is more adapted to the graphics requirements than DS NOPO. This structure contains a description of the element in terms of volumes, the volumes in terms of faces, the faces in terms of edges, and the edges in terms of points. It therefore corresponds to accessing the information by means of pointers. The space required to contain this type of DS is bigger than in the case of a DS NOPO, mentioned above.

DS GEOM consists of eight arrays of predefined order.

Array GEO0:
General information.

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

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 'GEOM'

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 GEO1).

Array GEO1:
Description of any supplementary arrays.

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

Array GEO2:
General mesh description.

This integer array contains 15 values.

1 NDIM

the space dimension (2 or 3),

2 NBSOM

the number of mesh vertices,

3 NBARET

the number of edges,

4 NBFAC

the number of faces,

5 NBVOL

the number of volumes,

6 NTRI

the number of triangles or triangular faces,

7 NQUA

the number of quadrilaterals or quadrilateral faces,

8 NTET

the number of tetrahedra,

9 NPEN

the number of pentahedra,

10 NHEX

the number of hexahedra,

11 NBSF

the number of boundary vertices,

12 NBAF

the number of boundary edges,

13 NBFF

the number of boundary faces,

14 NCCF

the number of connected components in the domain,

15 NCFF

the number of connected components in the boundary.

Array GEO3:
Description of elements in terms of faces.

This integer array contains, for each element (considered as a volume):

Loop i from 1 to NBVOL

End of loop i

Array GEO4:
Description of faces in terms of edges.

This integer array contains, for each face:

Loop i from 1 to NBFAC

End of loop i

Array GEO5:
Description of edges in terms of vertices.

This integer array contains, for each edge:

Loop i from 1 to NBARET

End of loop i

Array GEO6:
Vertex coordinates.

This real single precision array contains the vertex coordinates:

X1, Y1, X2, Y2, ..., or
X1, Y1, Z1, X2, ...

Array GEO7:
Vertex reference numbers.

This integer array contains the reference numbers of the NBSOM vertices.

Remark:
In this DS, the definition of the points, edges and faces is slightly different to that used for DS NOPO in the case of meshes which are "richer" than those for which the nodes and vertices are identical. For example, a "curved" edge (2 points, 3 nodes) is, in this case, represented as the set of 2 geometric edges (3 points, 2 straight segments).

1.7.2 Corresponding tools

Reading and writing a DS GEOM

A DS residing in main memory is written, as a whole (it is a category 1 DS), to a sequential file via module SDECRI. Similarly, it is read as a whole into main memory via module SDLECT.

Printing a DS GEOM and plotting a mesh

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

IMGEOM:
the entire DS (according to the print parameter IMPRE)

      SUBROUTINE  IMGEOM(M,NFGEOM,NIGEOM,IMPRE)
C AIM : PRINT THE ARRAYS IN DS GEOM, INCREASING WITH IMPRE
C ---   FILE NFGEOM (OR MC IF 0), LEVEL NIGEOM

INFOGE:
a particular value contained in the DS

      SUBROUTINE INFOGE(M,IOPT,TYPESD,NIVEAU,TAB2,TAB3,TAB4,TAB5,TAB6,
     +                  TAB7,NUMREC,XREC,YREC,ZREC)
C AIM : OUTPUT SOME INFORMATION IF A MESH DS

Preprocessors IMAGXX and INFOXX are used when a conversational call of IMGEOM and INFOGE, respectively, is desired.

The mesh contained in a file can be plotted via preprocessor TRNOXX [96].

Creation and modification modules for DS GEOM

DS GEOM, serving as a graphics DS, is created from a DS NOPO by module NOPGEO:

NOPGEO:
converts a DS NOPO into a DS GEOM

      SUBROUTINE NOPGEO(M,NFNOPO,NINOPO,NFGEOM,NIGEOM,NCCF)
C AIM : TRANSFORM A DS NOPO INTO AN DS GEOM

The inverse operation is performed by module GEONOP:

GEONOP:
converts a DS GEOM into a DS NOPO

      SUBROUTINE GEONOP(M,NFGEOM,NIGEOM,NFNOPO,NINOPO)
C AIM : TRANSFORMS A DS GEOM INTO A NOPO

Preprocessor NOPGXX is used to call module NOPGEO, whereas GEONXX calls module GEONOP.


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Next: 1.8 DS MAIL Up: 1 Description of DS by type Prev: 1.6 DS FORC Index Contents