Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Next: 1.14 DS TAE Up: 1 Description of DS by type Prev: 1.12 DS NDL1 Index Contents


1.13 DS NOPO

 

1.13.1 Contents

This DS stores two- or three-dimensional meshes. it corresponds to a element by element mesh description. Each element is known by the following information:

The edges and faces are defined by the set of vertices. Only the coordinates of the vertices are stored. For more detail, the reader is referred to the end of this section and should consult [MODULEF User Guide - 3] and [George 1991].

DS NOPO is consists of 6 arrays of predefined order.

Array NOP0:
General information.

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

1:20 TITRE

the job title in 20 words of 4 characters,

21:22 DATE

the data of creation in 2 words of 4 characters,

23:28 NOMCRE

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

29 'NOPO'

the DS type,

30 NIVEAU

the DS level,

31 ETAT

a reserved parameter,

32 NTACM

the number of supplementary arrays associated with the DS (they are described in array NOP1).

Array NOP1:
Description of any supplementary arrays.

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

Array NOP2:
General mesh description.

This integer array contains 27 values.

1 NDIM

the space dimension (2 or 3),

2 NDSR

the maximum reference number,

3 NDSD

the maximum sub-domain number,

4 NCOPNP

the node-vertex coincidence code: 1 if they coincide throughout, 0 otherwise,

5 NE

the number of elements in the mesh,

6 NEPO

the number of elements reduced to a point,

7 NSEG

the number of segments,

8 NTRI

the number of triangles,

9 NQUA

the number of quadrilaterals,

10 NTET

the number of tetrahedra,

11 NPEN

the number of pentahedra,

12 NHEX

the number of hexahedra,

13 NSUP

the number of super-elements,

14 NEF

the number of boundary elements,

15 NOE

the number of nodes,

16 N1

the number of nodes situated on a segment or an edge (excluding extremities),

17 ISET

the number of internal nodes in a triangle or a triangular face,

18 ISEQ

the number of internal nodes in a quadrilateral or a quadrilateral face,

19 ISETE

the number of internal nodes in a tetrahedron,

20 ISEPE

the number of internal nodes in a pentahedron,

21 ISEHE

the number internal nodes in a hexahedron,

22 NP

the number points,

23 NTYCOO

the type of coordinate values (2 here, see NOP1),

24 LPGDN

The largest difference between the node numbers of an element +1,

25 NBEGM

the number of super-elements or descriptions in array NOP3,

26 LNOP5

the number of words in array NOP5,

27 NTACOO

the type of coordinate axis: 1 x,y,z ; 2 ; 3 .

Array NOP3:
An eventual pointer.

If NBEGM (array NOP2) is non-zero, this integer array contains in one variable an information item relative to each super-element or description (this array is not actually used).

Array NOP4:
Vertex coordinates.

This NTYCOO type array contains the NDIM.NP coordinates of the vertices:
X1, Y1, X2, Y2, ... or
X1, Y1, Z1, X2, ...

Array NOP5:
Sequential description of the elements.

This integer array describes each element in the mesh sequentially. It contains:

1.13.2 Element definitions

Having chosen the first vertex, each element is defined by:

     
    Figure 1.4: Segment, triangle and quadrilateral 

  1. The segment :
    (1) (2)

  2. The triangle : numbering anti-clockwise in the two-dimensional case (in the three-dimensional case, there is no orientation). edge [1]: (1) (2) (nodes 4, 5, ... if there are supplementary nodes)
    edge [2]: (2) (3) (...)
    edge [3]: (3) (1)

  3. The quadrilateral : numbering anti-clockwise (same remark as for the triangle)
    edge [1]: (1) (2) (nodes 5, 6, ...)
    edge [2]: (2) (3) (...)
    edge [3]: (3) (4)
    edge [4]: (4) (1)

     
    Figure 1.5: Tetrahedron, pentahedron and hexahedron 

  4. The tetrahedron : trihedral direct ( designates the vector from point i to point j).
    edge [1]: (1) (2) (nodes 5, ...)
    edge [2]: (2) (3) (...)
    edge [3]: (3) (1)
    edge [4]: (1) (4)
    edge [5]: (2) (4)
    edge [6]: (3) (4) (nodes ..., p)

    All faces, seen from the exterior, are described anti-clockwise:
    face [1]: (1) (3) (2) (nodes p+1, ...)
    face [2]: (1) (4) (3) (...)
    face [3]: (1) (2) (4)
    face [4]: (2) (3) (4)

  5. The pentahedron : trihedral direct
    edge [1]: (1) (2) (nodes 7, ...)
    edge [2]: (2) (3) (...)
    edge [3]: (3) (1)
    edge [4]: (1) (4)
    edge [5]: (2) (5)
    edge [6]: (3) (6)
    edge [7]: (4) (5)
    edge [8]: (5) (6)
    edge [9]: (6) (4) (nodes ..., p)

    All faces, seen from the exterior, are described anti-clockwise.
    face [1] : (1) (3) (2) (nodes p+1, ...)
    face [2] : (1) (4) (6) (3)
    face [3] : (1) (2) (5) (4)
    face [4] : (4) (5) (6)
    face [5] : (2) (3) (5) (6)

  6. The hexahedron : trihedral direct
    edge [1]: (1) (2) (nodes 9, ...)
    edge [2]: (2) (3) (...)
    edge [3]: (3) (4)
    edge [4]: (4) (1)
    edge [5]: (1) (5)
    edge [6]: (2) (6)
    edge [7]: (3) (7)
    edge [8]: (4) (8)
    edge [9]: (5) (6)
    edge [10]: (6) (7)
    edge [11]: (7) (8)
    edge [12]: (8) (5) (nodes ..., p)

    All faces, seen from the exterior, are described anti-clockwise.
    face [1] : (1) (4) (3) (2) (nodes p+1, ...)
    face [2] : (1) (5) (8) (4)
    face [3] : (1) (2) (6) (5)
    face [4] : (5) (6) (7) (8)
    face [5] : (2) (3) (7) (6)
    face [6] : (3) (4) (8) (7)

Remark: Other elements, developed to treat specific problems, are added to the above elements corresponding to the usual geometric forms; we can cite, for example, the connected elements  used to simulate a hinge  (junction between two beams , for instance two segments; between two planes, for instance two quadrilaterals in the space).

Remark: In proportion to the requirements, new elements may appear. It is thus necessary to define them in a consistent manner.

1.13.3 Corresponding tools

Reading and writing a DS NOPO

A DS residing in core is written, as a whole (it is a category 1 DS), on sequential file via module SDECRI.

Similarly, a DS residing on file is read and transferred, as a whole, to main memory via module SDLECT.

Printing a DS NOPO and plotting a mesh

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

IMNOPO:
The whole DS (according to the print parameter IMPRE):

      SUBROUTINE  IMNOPO(M,NFNOPO,NINOPO,IMPRE)
C AIM : PRINT THE ARRAYS OF DS NOPO, INCREASING WITH IMPRE
C ---   FILE NFNOPO (OR MC IF 0), LEVEL NINOPO

IMNOPS:
The array NOP2 and certain mesh elements:

      SUBROUTINE IMNOPS(M,NFNOPO,NINOPO,ISTRES,INDIC,LINDIC)
C AIM : PRINT ARRAYS 2 AND 5 OF DS NOPO
C ---   FILE NFNOPO (OR MC IF 0 ), LEVEL NINOPO
C       ISTRES = 0 NO NOP2, IF NOT PRINT NOP2
C       INDIC(*) THE NUMBERS OF THE LINDIC ELEMENTS OF NOP5 TO PRINT

INFONO:
An arbitrary value contained in the DS:

      SUBROUTINE INFONO(M,IOPT,TYPESD,NIVEAU,TAB2,TAB4,TAB5,NUMREC,
     +                  XREC,YREC,ZREC)
C AIM : OUTPUT INFORMATION REGARDING A MESH DS ( NOPO )

The preprocessors IMAGXX and INFOXX are used if a conversational call of IMNOPO and INFONO, respectively, is desired.

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

Creation and modification modules for DS NOPO

The reader is referred to [MODULEF User Guide - 3] for a description of the mesh construction and modification methods and modules.

Utilities for the manipulation of a DS NOPO

There are numerous utilities available to manipulate the contents of a DS NOPO, amongst which we find the utilities to facilitate scrutinizing array NOP5.

 
      SUBROUTINE CLNOPO (M,XM,IANOP2,IANOP4,IA,NCGE,NDSDE,NNO,NONO,
     +                   NPO,NOPOI,COORP,NREF)
C AIM : READ ARRAY NOP5 ET EXPLAIN IT (!)
C ---
C IN :
C --
C M,XM    : THE SUPER ARRAY
C IA      : START ADDRESS OF ARRAY NOP5  ( IANOP5 )
C
C OUT :
C ---
C THE SAME MNEMONICS AS IN BROCHURE < DESCRIPTION OF THE DS >
C IA      : UP-DATE ( START OF THE FOLLOWING ELEMENT )
C COORP   : CPOINT COORDINATES
C NREF    : ARRAY OF REFERENCE NUMBERS
C              3-D : POINTS, EDGES, FACES
C              2-D : POINTS, EDGES


      SUBROUTINE CLNOIA(NCOPNP,NOP5,IA,NCGE,IAS,IAR,IAF,NPO,NOPO)
C AIM : CLEAR ARRAY NOP5 (SEE CLNOPO)
C ---
C OUT : IA, IAS, IAR, IAF, NOPO AND NPO
C ---   ADDRESSES OF REFERENCES OR 0, ARRAY OF POINTS, 
C       THE NUMBER OF POINTS


      SUBROUTINE CLNOIN(NCOPNP,NOP5,IA,NCGE,IAS,IAR,IAF,NPO,NNO,NONO)
C AIM : CLEAR ARRAY NOP5 ( SEE CLNOPO )
C --- 
C OUT :  IA, IAS, IAR, IAF, NPO, NNO, NONO  


      SUBROUTINE CLNO5C(NDIM,NCOPNP,NOP5,IA,NCGE,NDSDE,NNO,NONO,
     +                  NPO,NOPOI,COOR4,COORP)
C AIM : READ NOP5 AND COOR4 ( ALIAS NOP4 ) IN ORDER TO 
C       COMPLETE NONO,NOPOI,...

Utilities NBSOME, NBARET and NBFACE output the number of vertices, edges and faces of each type of element.


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Next: 1.14 DS TAE Up: 1 Description of DS by type Prev: 1.12 DS NDL1 Index Contents