background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
1/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
Organization (S):
EDF-R & D/AMA, SINETICS















Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
D4.06.07 document



Structures of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO



Summary:

This document describes the structures of data
NUME_DDL
,
NUME_EQUA
,
STORAGE
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.
background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
2/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
1 General information
One
NUME_DDL
is used to define the classification of the unknown factors (and equations) of a linear system.
It is reminded the meeting that the unknown factors of such a system are CMPS carried by nodes of
MESH
(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 one
CHAM_NO
.
Moreover the SD
PROF_CHNO
described in this document is that referred by the SD
CHAM_NO
[D4.06.05].
The SD
NUME_DDL
also the description of the tables of storage of the values contains of
assembled matrices (SD
MATR_ASSE
[D4.06.10]). One calls
STORAGE
this part of the structure
data. Possible storages are storage
“MORSE”
and
“LIGN_CIEL”
.
The SD
STORAGE
described how the terms of a symmetrical half-matrix in sound are arranged
object '.
VALE'
. When one
MATR_ASSE
is not symmetrical, it is supposed that his filling (or its
“topology”) remains symmetrical.
STORAGE
but the object is unchanged
“.VALE”
“is doubled”: the 1ère
part to store the higher half, the 2nd part to store the lower half.
Caution:
The SD
STORAGE
“MORSE”
is bulky (object.
HCOL
).
background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
3/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
The relations of dependence between these objects can be represented by:


STORAGE
NUME_DDL
NUME_EQUA
PROF_CHNO
CHAM_NO
MATR_ASSE
MESH
MODEL
LIGREL
CHARGE
LIGREL
CHARGE
LIGREL
CHARGE
LIGREL
Appear 1-a: Links of
NUME_DDL
,
NUME_EQUA
,
STORAGE
and
PROF_CHNO
with the other structures of data
background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
4/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
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”: STORAGE
/%
if solvor
MUMPS
(
i.e.
NUME.REFN (3) = “MUMPS”):
“.NUME”: NUME_EQUA
“$VIDE”: STORAGE
“.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)


STORAGE (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
background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
5/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
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
background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
6/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
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
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
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.
Nodes of one
PROF_CHNO
are:
· that is to say nodes of the mesh
my
(concerned with the model), subjacent with
PROF_CHNO
,
· maybe of the late nodes of one (or several)
LIGREL
who rest on
my
.
The collection
“.PRNO”
contains several objects:
.PRNO (1)
: nodes of the mesh
my
.PRNO (2)
: late nodes of
LIGREL
whose name is in
.LILI (J)
.PRNO (3)
: late nodes of
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 mesh or
late) implied in
PROF_CHNO
.
If
nec
is the number of coded entireties of the size associated with
PROF_CHNO
,
.PRNO (1)
is length
(nb_noeuds (my))* (2+nec)
.PRNO (ili)
is length (
nb_noeuds_tardifs of the 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 mesh
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)
v (ino-1) * (2+nec) +2+nec)
descriptor-size of the node ino
.nb_cmp
is the number of CMPS carried by the node
ino
mesh.
.ieq
is the address in the object
.NUEQ
from the 1
era
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
era
. 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.
background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
7/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
.NUEQ
S V I
It is a vector of indirection between the object
.PRNO
and the object
.VALE
CHAM_NO
who
it refers
PROF_CHNO
. 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 mesh containing 3 nodes:
N1
,
N2
,
N3
That is to say a size
Gd
having 2
CMPS
:
With
and
B
(
nec = 1
)
If
N1
carry
With
and
B
,
N2
carry
B
and
N3
carry
With
.
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
.NUEQ
N1/A N1/B N2/B N3/A
1 2 3 4
5
6
7
8
9 10
.VALE
4 7 2
10


.DEEQ
S V I DIM = 2 * neq
if
neq
is the number of equations of
PROF_CHNO
It is a vector “reverses”
.PRNO
who describes (partially) the equations.
If
nueq
is a number of equation (i.e addresses in the 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
ICMP
ième
CMP carried by the node
ino
mesh.
· If
ino
> 0 and
ICMP
< 0
nueq
is one of the 2 equations which dualisent the blocking of
ICMP
ième
CMP of
node
ino
mesh.
· If
ino
= 0 and
ICMP
= 0
nueq
is an equation of dualisation of a linear relation between several
CMP.
background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
8/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
4
NUME_EQUA
.REFN
S V K24 dim = 4
.REFN (1)
= name of the mesh subjacent with
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)
numbers total 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 the 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 the CMP
“LAGR”
range 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 the SD
NUME_DDL
clean with each
under-field.


5 Complement
for
MUMPS
.NSLV
S V K24 dim = 1
.NSLV (1)
= name of the SD
SOLVEUR
.
background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
9/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
6
Complements for FETI
6.1
Structure of data
NUME_DDL
recursive
In the case of method FETI, the structure of data
NUME_DDL
is recursive on two levels.
A SD
NUME_DDL
“main”, 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 the SD
NUME_DDL
“slaves” associated with each under
local fields. These SD
NUME_DDL
local 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
STORAGE
under-fields but not that of the total field. Only it
NUME_EQUA
the this last is born, for
to be able to handle a total field solution and… to point towards the local fields.
















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

6.2
Regulate naming
In the case of the solvor
FETI
, one chose the following rule of naming for the 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
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 the solvor
FETI
, it is checked that the vector of indirection
.NUEQ
NUME_DDL
Master 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
.
SD
NUME_DDL
“slaves”
(under-fields)
SD
NUME_DDL
“main”
(total field)
.FETN
under-field
I
under-field 1
background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
10/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
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 (
J
K
) will be valid K24
that if the under-field
J
K
is in the perimeter of the processor
J
.


















Appear 6.4-a: Structure of recursive data NUME_DDL if solvor FETI and parallelism MPI
SD
NUME_DDL
“slaves”
(under-fields concerned with
the processor
J
)
SD
NUME DDL
“main”
(total field)
.FETN
under-field
J
2
under-field
J
1
vacuum
For the processor
J
background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
11/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
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
I
ème
column
.ADIA
S V I dim = neq
.ADIA
(I)
address diagonal term of
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
I
ème
column of the matrix

Example:

X X
X X X
X X X
X X X
X
X X
X X
X X
X X X X
X
X X
X
X
X
X
O O
O
O
O O
1
Er
block
2
ème
block
HCOL (1) = 1
HCOL (2) = 2
HCOL (3) = 1
HCOL (4) = 2
HCOL (5) = 5
HCOL (6) = 6
HCOL (7) = 5
HCOL (8) = 6
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
with
7)
=
1
ABLO (2) =
7
IABL (7
with
10) = 2
ABLO (3) =
10

background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
12/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
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
I
ème
stored term
.ADIA
S V I dim = neq
.ADIA
(I)
address diagonal term of
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
3
4
6
9
13
5
7 10
8 11
12
14
22
19
15
16
17
18
20
21
24
23
26
25 28
29
27 30
31
1
2
3
4
5
6
7
8
9
10
HCOL (1) = 1
HCOL (2) = 1
HCOL (3) = 2…
HCOL (4) = 3 HCOL (28)
= 5
HCOL (5) = 3 HCOL (29)
= 6
HCOL (6) = 4 HCOL (30)
= 9
HCOL (7) = 1 HCOL (31)
= 10
HCOL (8) = 2
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
background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
13/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A
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 to 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]
background image
Code_Aster
®
Version
8.1
Titrate:
Structure of Data
NUME_DDL
,
NUME_EQUA
,
STORAGE
,
PROF_CHNO
Date:
29/09/05
Author (S):
J. PELLET, O. BOITEAU
Key
:
D4.06.07-C
Page
:
14/14
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HT-66/05/003/A

























Intentionally white left page.