Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 1/14

Organization (S): EDF-R & D/AMA, SINETICS
Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
D4.06.07 document

Structures of Données NUME_DDL, NUME_EQUA,
STORAGE, PROF_CHNO

Summary:

This document describes the structures of data NUME_DDL, NUME_EQUA, STOCKAGE and PROF_CHNO used
to define the classification of the unknown factors of the linear systems and the storage of the assembled matrices and
vectors solution and second member.

Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 2/14

1 General information

A NUME_DDL is used to define the classification of the unknown factors (and the equations) of a linear system.
It is pointed out that the unknown factors of such a system are CMPS carried by nodes of
MAILLAGE (or of the late nodes of LIGREL).
The matrices which one wants to describe are square; it is thus enough to describe for example their lines.
The classification of the unknown factors of a system is similar to that of the CMPS of a CHAM_NO.
Moreover SD PROF_CHNO described in this document is that referred by SD CHAM_NO
[D4.06.05].
SD NUME_DDL also contains the description of the tables of storage of the values of
assembled matrices (SD MATR_ASSE [D4.06.10]). One calls STOCKAGE this part of the structure
data. Possible storages are storage “MORSE” and “LIGN_CIEL”.
The SD STOCKAGE describes how the terms of a symmetrical half-matrix in sound are arranged
object “.VALE”. When a MATR_ASSE is not symmetrical, it is supposed that his filling (or its
“topology”) remains symmetrical. The STOCKAGE is unchanged but object “.VALE” “is doubled”: the 1ère
part to store the higher half, the 2nd part to store the lower half.

Caution:

SD STOCKAGE “MORSE” is bulky (object .HCOL).
Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 3/14

The relations of dependence between these objects can be represented by:

LIGREL
MAILLAGE
CHARGE
LIGREL
LIGREL
CHARGE
MODELE
LIGREL
CHARGE
PROF_CHNO
STOCKAGE
NUME_EQUA
NUME_DDL
MATR_ASSE
CHAM_NO


Appear 1-a: Liens of the NUME_DDL, NUME_EQUA, STOCKAGE and PROF_CHNO
with the other structures of data
Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 4/14

2 Tree structures

NUME_DDL (K14)::=record
/% if solvor LDLT, MULT_FRONT or GCPC (i.e. NUME.REFN (3) = “LDLT”, “MULT_FRONT” or
“GCPC”):
“.NUME”: NUME_EQUA
“$VIDE”: STOCKAGE
/% if solvor MUMPS (i.e. NUME.REFN (3) = “MUMPS”):
“.NUME”: NUME_EQUA
“$VIDE”: STOCKAGE
“.NSLV”: OJB S V K24
/% if solvor FETI (i.e. NUME.REFN (3) = “FETI”):
“.NUME”: NUME_EQUA
“.FETN”: OJB S V indirect K24 (*) dim = nbsd (a number of under-fields)
(*): NUME_DDL not FETI
(i.e. FETN (K) .NUME.REFN (3) “FETI” and for the moment imposed on “MULT_FRONT”)

NUME_EQUA (K19)::=record
“$VIDE”: PROF_CHNO
“.DELG”: OJB S V I
“.NEQU”: OJB S V I
“.REFN”: OJB S V K24

PROF_CHNO (K19)::=record
“.DEEQ”: OJB S V I
“.LILI”: OJB S NR K24
“.LPRN”: OJB S V I
“.NUEQ”: OJB S V I
“.PRNO”: OJB TESTSTEMXÇ V I NAME ($.LILI) LONG ($.LPRN)

STOCKAGE (K14)::=record
/% if solvor “LDLT”
“.SLCS”: STOC_LCIEL
/% if solvor “MULT_FRONT”
“.SMOS”: STOC_MORSE
“.MLTF”: MULT_FRONT
/% if solvor “GCPC” or “MUMPS”
“.SMOS”: STOC_MORSE

STOC_LCIEL (K19)::=record
“.ABLO”: OJB S V I
“.ADIA”: OJB S V I
“.DESC”: OJB S V I
“.HCOL”: OJB S V I
“.IABL”: OJB S V I
“.REFE”: OJB S V K24
Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 5/14


STOC_MORSE (K19)::=record
“.ABLO”: OJB S V I
“.ADIA”: OJB S V I
“.DESC”: OJB S V I
“.HCOL”: OJB S V I
“.IABL”: OJB S V I
“.REFE”: OJB S V K24

MULT_FRONT (K19)::=record
“.ADNT”: OJB S V I
“.GLOB”: OJB S V I
“.LOCL”: OJB S V I
“.PNTI”: OJB S V I
Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 6/14

3
PROF_CHNO

.LILI
S NR K24
It is the pointer of names of “.PRNO”. It contains the name of the LIGREL of model and
those of the LIGREL with meshs and/or late nodes. If it is about a LIGREL with meshs
and with late nodes (DDL_IMPO, LIAISON_DDL…), that makes it possible to identify the nodes
late implied in the PROF_CHNO. On the other hand, if it is about a LIGREL only
with late meshs (FORCE_NODALE…), it does not point towards any object of collection of
.PRNO.
The nodes of a PROF_CHNO are:
· that is to say nodes of the grid my (concerned with the model), subjacent with
PROF_CHNO,
· maybe of the late nodes of one (or several) LIGREL which rest on my.
Collection “.PRNO” contains several objects:
.PRNO (1): nodes of the grid my
.PRNO (2): late nodes of the LIGREL whose name is in .LILI (J)
.PRNO (3): late nodes of the LIGREL whose name is in .LILI (K)

One stores in .LILI (1) the value “&MAILLA”
.LPRN
S V I
It is the pointer length of .PRNO
.PRNO
TESTSTEMXÇ V I NAME ($.LILI) LONG ($.LPRN)
This collection describes which are the CMPS carried by the nodes (of the grid or
late) implied in the PROF_CHNO.
If nec is the number of coded entireties of the size associated with the PROF_CHNO,
.PRNO (1) is length (nb_noeuds (my))* (2+nec)
.PRNO (ili) is length (nb_noeuds_tardifs ilième
LIGREL) * (2+nec).
Each node is described by 2 entireties and 1 vector of coded entireties length nec
that one calls the descriptor-size [D4.06.05].
Let us take the example of the nodes of the grid my.
v = PRNO (1)
v (ino-1) * (2+nec) +1) = ieq
v (ino-1) * (2+nec) +2) = nb_cmp

v (ino-1) * (2+nec) +2+1)

descriptor-size of the node ino
v (ino-1) * (2+nec) +2+nec)

.nb_cmp is the number of CMPS carried by the node ino of the grid.
.ieq is the address in object .NUEQ of 1ère CMP carried by ino.

Note:

All the CMPS carried by the same node are consecutive in .NUEQ.
This is why one does not store that the address of the 1ère. The CMPS are
ordered in the order of the catalog of the sizes.
Unfortunately, the size associated with the .PRNO is not stored in
PROF_CHNO.

Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 7/14

.NUEQ
S V I
It is a vector of indirection between object .PRNO and object .VALE of the CHAM_NO which
this PROF_CHNO refers. This vector of indirection makes it possible to be freed from the rule
according to which the CMPS of a node are followed in the order of the catalog of
sizes.

That is to say for example a grid containing 3 nodes: N1, N2, N3
That is to say a size Gd having 2 CMPS: With and B (nec = 1)
If N1 carries A and B, N2 carries B and N3 carries A.

Note:

For FETI, one will check that this vector of indirection is equal to the identity bus
if not that disturbs the algorithm of rebuilding of the total field solution
(CHAM_NO) starting from the fields solutions buildings (CHAM_NO) with each
under-field.
Normally this case of figure should arise only with the functionalities
under-structuring which is proscribed with FETI. But one never knows!


1
2
6
3
1
4
4
1
2
.PRNO
N1
N2
N3
4 7 2
10
.NUEQ
N1/A N1/B N2/B N3/A
.VALE
1 2 3 4
5
6
7
8
9 10


.DEEQ
S V I DIM = 2 * neq if neq is the number of equations of the PROF_CHNO
It is an “opposite” vector of .PRNO which describes (partially) the equations.
If nueq is a number of equation (i.e addresses in object .VALE).

V ((nueq-1) * 2+1): ino
V ((nueq-1) * 2+2): ICMP

· If ino > 0 and ICMP > 0
nueq is the equation associated with the icmpième CMP carried by the node ino with
grid.
· If ino > 0 and ICMP < 0
nueq is one of the 2 equations which dualisent the blocking of the icmpième CMP of
node ino of the grid.
· If ino = 0 and ICMP = 0
nueq is an equation of dualisation of a linear relation between several
CMP.
Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 8/14

4
NUME_EQUA

.REFN
S V K24 dim = 4
.REFN (1) = name of the grid subjacent with the NUME_DDL.
.REFN (2) = name of the size simple partner NOMGDS TEMP R, DEPL R,
PRES_C…
.REFN (3) = standard of resolution of the linear solvor: “LDLT”, “GCPC”, “MULT_FRONT”
“MUMPS” or “FETI” (information coming from SOLVEUR.SLVK (1)).
.REFN (4) = name of the structure of data of the type SD_FETI (information
coming from SOLVEUR.SLVK (6)).
.NEQU
NEQU (1) a total number of equations.
NEQU (2) unutilised
.DELG
S V I dim = neq
this object described (a little) the equations of the type “Lagrange”.
DELG (ieq) =/- 1
if the equation ieq corresponds to CMP “LAGR” carried by the 2nd node of one
net SEG3 carrying an element of Lagrange (Lagrange 1)
DELG (ieq) =/- 2
if the equation ieq corresponds to CMP “LAGR” carried by the 3rd node of one
net SEG3 carrying an element of Lagrange (Lagrange 2)
DELG (ieq) =/0 if not
.FETN
S V Indirect K24 (*) dim = nbsd (a number of under-fields)
(*): NUME_DDL not FETI
(i.e. FETN (K) .NUME.REFN (3) “FETI” and for the moment imposed on
“MULT_FRONT”)
Optional Objet JEVEUX (present only for total field if FETI, then
absent for each under-field) listing SD NUME_DDL suitable for each
under-field.


5 Complement
for
MUMPS

.NSLV
S V K24 dim = 1
.NSLV (1) = name of SD SOLVEUR.

Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 9/14

6
Complements for FETI

6.1
Structure of recursive data NUME_DDL

In the case of method FETI, the structure of data NUME_DDL is recursive on two levels.
A “main” SD NUME_DDL, concerning the total field (.NUME.REFN (3) = ' FETI'), comprises
objects JEVEUX usual supplemented by a specific object of the decomposition of fields:
.FETN.
It is in fact a pointer indicating SD NUME_DDL “slaves” associated with each under
local fields. These local SD NUME_DDL are consisted of same objects JEVEUX as one
NUME_DDL usual mono-field.
For the moment, the implementation of FETI in Code_Aster presupposes that these under-fields
use all the same linear solvor mono-field (.NUME.REFN (3) = `MULT_FRONT' imposed by
defect). This homogeneity facilitates handling of the matrices and second members local.
Of course, during factorization symbolic system, one created the structures of data STOCKAGE of
under-fields but not that of the total field. Only the NUME_EQUA of this last is born, for
to be able to handle a total field solution and… to point towards the local fields.

under-field 1

SD NUME_DDL

“main”

(total field)


.FETN

under-field I
SD NUME_DDL

“slaves”

(under-fields)



Appear 6.1-a: Structure of recursive data NUME_DDL if solvor FETI

6.2
Regulate naming

In the case of solvor FETI, one chose the following rule of naming for SD NUME_DDL
slave related to a under-field J:
nom_de_la_SD_NUME_DDL_maître (1:6)//“F”//chaîne_de_caractères_libre (2:8)
The character string is generated by a call to routine GCNCON.

In addition, them pre-necessary of the routines of constitution of the NUME_DDL (slaves) impose creation
of LIGRELs temporary named
“&F”//“chaîne_de_caractères_libre (3:8)/” .MODELE '

6.3 Checking

.NUEQ

In the case of solvor FETI, one checks that the vector of indirection .NUEQ of the main NUME_DDL is
equal to the identity because this assumption facilitates the operation of rebuilding of the field total result with
to leave the fields local results. Normally, this case of figure should occur only for
under-structuring which is in any event contra-indicated, for other reasons, with FETI.
Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 10/14

6.4
Particular case of parallelism MPI

During an execution in parallel mode MPI, a processor sees itself allotting a certain number of
under-fields (cf objects annex “&FETI.LISTE…” structure of data SD_FETI
[D4.06.21]). “Main” SD NUME_DDL is always built, but its pointer .FETN does not go
to indicate that under-fields concerned with the processor running: .FETN (jk) will be valid K24
that if the jk under-field is in the perimeter of the processor J.

For the processor J

vacuum

SD NUME DDL
j1 under-field

“main”

(total field)

.FETN

under-field J
SD NUME_DDL “slaves”
2

(under-fields concerned with


the processor J)

Appear 6.4-a: Structure of recursive data NUME_DDL if solvor FETI and parallelism MPI

Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 11/14

7
STOC_LIGN_CIEL

.REFE
(1)
name of classification supporting this storage.

.DESC
(1)
a number of equations: neq
(2)
cut blocks of the matrix: t_bloc
(3)
a number of blocks necessary to the storage of the values
matrix: n_bloc
(4)
maximum height of the columns of the matrix

.HCOL

S V I dim = neq
.HCOL
(I)
height of the ième column

.ADIA

S V I dim = neq
.ADIA
(I)
address diagonal term of the ième column in its block

.ABLO

S V I dim = n_bloc + 1
.ABLO
(1)
0
(K+1) number of the last column of the block K.
note: a column can belong only to one block

.IABL

S V I dim = neq
.IABL
(I)
number of the block which contains the ième column of the matrix

Example:

1st block
2nd block
X X
X X
X
X X
HCOL (1) = 1
X X O O
HCOL (2) = 2
X O O X X
HCOL (3) = 1
X X X X
HCOL (4) = 2
X X X X X
HCOL (5) = 5
X X X X
HCOL (6) = 6
X O O
HCOL (7) = 5
X X
HCOL (8) = 6
X
HCOL (9) = 5
HCOL (10) = 6


ADIA (1) =
1
ADIA (6) =
17
ADIA (2) =
3
ADIA (7) =
22
ADIA (3) =
4
ADIA (8) =
6
ADIA (4) =
6
ADIA (9) =
11
ADIA (5) =
11
ADIA (10)
=
17

ABLO (1) =
0
IABL (1 to 7)
=
1
ABLO (2) =
7
IABL (7 to 10) = 2
ABLO (3) =
10

Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 12/14

8
STOC_MORSE

.REFE
(1)
name of classification supporting this storage.

.DESC
(1)
a number of equations: neq
(2)
cut block of the matrix: t_bloc
(3)
block numbers: 1
(4)
a number of terms stored in the matrix: n_termes

.HCOL

S V I dim = n_termes
.HCOL
(I)
number of line of the ième stored term

.ADIA

S V I dim = neq
.ADIA
(I)
address diagonal term of the ième column in the block
It is necessary thus that all the diagonal terms are stored in the matrix

.ABLO
(1) 0
(2) neq

.IABL

S V I dim = neq
.IABL
(I) 1

Note:

Today (August 2004), the filling of the matrix (object .HCOL) is such as all DDLs
carried by a node are connected to all DDLs carried by the other nodes being next to it
node via a finite element. The matrix is thus formed small full rectangles corresponding to
the connectivity of these nodes.

Example:

1 2
7 10
1
3
8 11
2
HCOL (1) = 1
3
4 5
14 19
HCOL (2) = 1
4
6
15 20
HCOL (3) = 2…
5
9 12 16 21 25 28
HCOL (4) = 3 HCOL (28)
= 5
6
13 17 22 26 29
HCOL (5) = 3 HCOL (29)
= 6
7
18 23
HCOL (6) = 4 HCOL (30)
= 9
8
24
HCOL (7) = 1 HCOL (31)
= 10
9
27 30
HCOL (8) = 2
10
31
HCOL (9) = 5

ABLO (1) =
0
ABLO (2) =
10

IABL (1 to 10) = 1

ADIA (1)
=
1
ADIA (6) =
13

ADIA (2)
=
3
ADIA (7) =
18

ADIA (3)
=
4
ADIA (8) =
24
ADIA (4)
=
6
ADIA (9) =
27
ADIA (5)
=
9
ADIA (10)
=
31

Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 13/14

9
MULT_FRONT

That is to say lgind, the sum of the number of the neighbors of the super-nodes.

.GLOB:
S V I
dimension = lgind
This vector gives the whole of the neighbors of the super-nodes
.LOCL:
S V I
dimension = lgind
This vector establishes for the numbers of lines of the supernoeuds, the correspondence
between the local classification of the son and the local classification of the father.

.ADNT:
S V I
dimension = size of the initial matrix (Morse)
It is the vector of the addresses of the initial terms in the factorized matrix.

.PNTI:
S V I
dimension = 19 * neq+10
Office plurality in the same vector of a succession of work tables.

10 Examples

An example of NUME_DDL associated with the 4 linear solveurs is given in:

“LDLT”
[D4.06.10 §5.2]
“MULT_FRONT”
[D4.06.10 §5.3]
“GCPC”
[D4.06.10 §5.4]
“FETI”
[D4.06.10 §5.5]

Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Code_Aster ®
Version
8.1
Titrate:
Structure of Données NUME_DDL, NUME_EQUA, STOCKAGE, PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU Key
:
D4.06.07-C Page
: 14/14

Intentionally white left page.
Handbook of Descriptif Informatique
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

Outline document