background image
Code_Aster
®
Version
6.0
Titrate:
Structures of data
cham_no_s
and
cham_elem_s
Date:
09/10/01
Author (S):
J. PELLET
Key
:
D4.06.06-A
Page
:
1/6
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HI-75/01/005/A
Organization (S):
EDF/MTI/MN















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



Structures of data
cham_no_s
and
cham_elem_s



Summary

This document describes the structures of data
cham_no_s
and
cham_elem_s
One also gives the list of
main utilities working on these structures of data.
background image
Code_Aster
®
Version
6.0
Titrate:
Structures of data
cham_no_s
and
cham_elem_s
Date:
09/10/01
Author (S):
J. PELLET
Key
:
D4.06.06-A
Page
:
2/6
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HI-75/01/005/A
1 Objective
2 new SD are defined:
cham_no_s
and
cham_elem_s
who contain same information as
SD
cham_no
and
cham_elem
but which is more “simple” to handle in FORTRAN. There exists
utilities allowing to transform one
cham_no
in
cham_no_s
(and reciprocally) (in the same way for
cham_elem
).
These SD will be thus in general temporary SD making it possible to work more simply
Important remark:
SD
cham_no_s
and
cham_elem_s
are not as general as the SD
cham_no
and
cham_elem
.
For
cham_no_s
, one describes only the fields carried by the nodes of the mesh (and not
possible late nodes),
For
cham_elem_s
, one does not describe that the fields carried by the finite elements of which
net support is a mesh of the mesh (and not a late mesh


2 SD
cham_no_s
cham_no_s (K19)
::= record

“.CNSK”:
OJB
S
V
K8
dim=2
“.CNSD”:
OJB
S
V
I
dim=2
“.CNSC”:
OJB
S
V
K8
dim=nb_CMP
“.CNSV”
: OJB S V R/C/I/…
dim=nb_NOEUD * nb_CMP
“.CNSL”:
OJB
S
V
L
dim=nb_NOEUD * nb_CMP
Contents of the OJB:
This SD is used to describe a field of sizes carried by the nodes of a mesh.
“.CNSK” (1)
:
netted
: name of the mesh subjacent with
cham_no_s
.
“.CNSK” (2)
:
nomgd
: name of the size associated with
cham_no_s
(“DEPL R”,
“SIEF_R”,…)
“.CNSD” (1)
:
nb_NOEUD
: a number of nodes of the subjacent mesh.
“.CNSD” (2)
:
nb_CMP
: maximum CMPS carried by the nodes number.
“.CNSC” (ICMP)
:
cmp_i
: name of the ième CMP of
cham_no_s
Note:
The command of the CMPS in
.CNSC
can be unspecified. One is not obliged to respect the command
catalog of the sizes. On the other hand, the CMPS must belong to the CMPS of
size
nomgd
.
background image
Code_Aster
®
Version
6.0
Titrate:
Structures of data
cham_no_s
and
cham_elem_s
Date:
09/10/01
Author (S):
J. PELLET
Key
:
D4.06.06-A
Page
:
3/6
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HI-75/01/005/A
“.CNSV”
:
This object contains the values of
cham_no_s
.
The type of this vector JEVEUX (
R/C/I/K8,…
) is that of the size
nomgd
.
Its dimension is
nb_NOEUD * nb_CMP
; i.e. all the nodes of mesh can carry
all CMPS described in
.CNSC
.
One reaches
ICMP
- ème CMP of
INO
- ème NODE by the formula:
VALUE (INO, ICMP) = .CNSV ((INO-1) * nb_CMP + ICMP)
Note:
The presence (or the absence) of a CMP on a NODE is indicated via the object
.CNSL
(see
below). During the creation of a cham_no_s, its nonaffected values are in settings with
“undef” for better detecting their illicit use.
“.CNSL”
:
This object contains the Boolean ones indicating the presence (or the absence) of the values of
cham_no_s
.
Its dimension is
nb_NOEUD * nb_CMP
; one moves there in the same way that in the object
.CNSV
One examines the presence of
ICMP
- ème CMP of
INO
- ème NODE by the formula:
EXIST (INO, ICMP) = .CNSL ((INO-1) * nb_CMP + ICMP)


3 SD
cham_elem_s
3.1
Description of the SD
This structure of data makes it possible to represent the values of the fields discretized on the meshs
of a mesh.
More precisely, the access to an actual value (or complex,…) field is done while specifying:
·
the number of the mesh supporting the finite element (
IMA
),
·
the number of the point in the mesh (
IPT
),
·
the number of the under-point in the point (
ISP
) (
ISP=1
in general),
·
the number of the component of the size associated with the field (
ICMP
),
cham_elem_s (K19)
::= record

“.CESK”:
OJB
S
V
K8
dim=3
“.CESD”:
OJB
S
V
I
dim=5
+
4 * nb_MAILLE
“.CESC”:
OJB
S
V
K8
dim=nb_CMP
“.CESV”
: OJB S V/R/C/I/…
dim=nbval
“.CESL”:
OJB
S
V
L
dim=nbval
3.1.1 object
.CESK
.CESK (1)
:
netted
: name of the mesh subjacent with
cham_elem_s
.
.CESK (2)
:
nomgd
: name of the size associated with
cham_elem_s
(
“DEPL_R”
,
“SIEF_R”
,…)
.CESK (3)
:
/“ELNO”:
field known with the nodes of the elements,
/“ELGA”:
field known at the points of Gauss of the elements,
/“ELEM”:
constant field by element (one will say whereas it is known in the center of
gravity)
background image
Code_Aster
®
Version
6.0
Titrate:
Structures of data
cham_no_s
and
cham_elem_s
Date:
09/10/01
Author (S):
J. PELLET
Key
:
D4.06.06-A
Page
:
4/6
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HI-75/01/005/A
3.1.2 object
.CESD
.CESD (1)
:
nb_MAILLE
: a number of meshs of the subjacent mesh.
.CESD (2)
:
nb_CMP
: a number of CMPS carried by the points. It is the dimension of the object
.CESC
.CESD (3)
:
nbptmx
: maximum of the number of points carried by the meshs
.CESD (4)
:
nbspmx
: maximum of the number of under-points carried by the points of the meshs
.CESD (5)
:
nucmpmx
: highest sequence number of the possible CMP of
cham_elem_s
(in the order of the object.
CESC
)
.CESD (5+4 * (ima-1) +1)
:
nbpt (ima)
: a number of points of the mesh ima.
.CESD (5+4 * (ima-1) +2)
:
nbsp (ima)
: a number of under-points of the mesh ima.
.CESD (5+4 * (ima-1) +3)
:
nbcmp (ima)
: maximum number of the CMPS carried by under
points of the points of the mesh ima.
.CESD (5+4 * (ima-1) +4)
:
IAD (ima):
IAD+1
is the address in the objects
.CESL
and
.CESV
1ere CMP
1st under-point of the 1st point of the mesh ima (if they exist)
3.1.3 object
.CESC
.CESC (ICMP)
:
cmp_i
: name of the ième CMP of
cham_elem_s
Note:
The command of the CMPS in
.CESC
can be unspecified. One is not obliged to respect the command
catalog of the sizes. On the other hand, the CMPS must belong to the CMPS of
size
nomgd
(except the size
VARI_R
).

3.1.4 objects
.CESL and .CESV
These objects contain the values of
cham_elem_s
(.
CESV
) and of Boolean (.
CESL
) indicating if
these values were affected (or if they are unspecified).
Type JEVEUX (
R/C/I/K8.
.) object
.CESV
is that of the size
nomgd
.
The dimension of these 2 vectors is
nbval
.
nbval
is the sum on all the meshs
ima
of
nbpt (ima) * nbsp (ima) * nbcmp (ima)
background image
Code_Aster
®
Version
6.0
Titrate:
Structures of data
cham_no_s
and
cham_elem_s
Date:
09/10/01
Author (S):
J. PELLET
Key
:
D4.06.06-A
Page
:
5/6
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HI-75/01/005/A
to reach
ICMP
- ème CMP of
ISP
- ème under-POINT of
IPT
- ème NOT of
IMA
- ème
NET of one
cham_elem_s
, the utility routine is used
CESEXI
:
CAL CESEXI (JCESD, JCESL, IMA, IPT, ISP, ICMP, IAD)
where
JCESD
and
JCESL
are the addresses of the objects.
CESD
and.
CESL
cham_elem_s
.
IAD
is the “exit” of this routine.
if
IAD
> 0, that want to say that the required component exists in
cham_elem_s
. One can then
to recover by
: VALUE = ZR (JCESV-1+IAD)
(if the field is real).
if
IAD
< 0, that want to say that the required component has a possible place in
cham_elem_s
but that it not affected currently. One can then affect a value in
cham_elem_s
in
making:
ZR (JCESV-1+IAD) = VALUE
ZR (JCESL-1+IAD) = .TRUE.
if
IAD
= 0, that want to say that the required component does not have a possible place in
cham_elem_s
. I.e. that one at least of the following conditions is checked:
IMA > nb_MAILLE
IPT > nbpt (IMA)
ISP > nbSP (IMA)
ICMP > nbcmp (IMA)

3.2
Example of loop on the values of one
cham_elem_s
CAL JEVEUO (THESE//“.CESD”, “It, JCESD)
CAL JEVEUO (THESE//“.CESL”, “It, JCESL)
CAL JEVEUO (THESE//“.CESV”, “It, JCESV)
NBMA = ZI (JCESD-1+1)
C 40, IMA = 1, NBMA
NBPT = ZI (JCESD-1+5+4 * (IMA-1) +1)
NBSP = ZI (JCESD-1+5+4 * (IMA-1) +2)
NBCMP = ZI (JCESD-1+5+4 * (IMA-1) +3)
C 30, IPT = 1, NBPT
C 20, ISP = 1, NBSP
C 10, ICMP = 1, NBCMP
CAL CESEXI (JCESD, JCESL, IMA, IPT, ISP, ICMP, IAD)
IF (IAD.GT.0) VALUE = ZR (JCESV-1+IAD)
background image
Code_Aster
®
Version
6.0
Titrate:
Structures of data
cham_no_s
and
cham_elem_s
Date:
09/10/01
Author (S):
J. PELLET
Key
:
D4.06.06-A
Page
:
6/6
Data-processing manual of Description
D4.06 booklet: Structures related to the finite elements
HI-75/01/005/A
4
Utility routines
CARCES
to transform one
card
in one
cham_elem_s
CELCES
to transform one
cham_elem
in
cham_elem
CESCES
to change the discretization of one
cham_elem
(
ELNO/CART/ELGA
)
CESCNS
to transform one
cham_elem_s
in one
cham_no_s
CESCRE
to create one
cham_elem_s
CESEXI
to test the existence of a CMP of a point of a mesh of one
cham_elem_s
CESRED
“to reduce” one
cham_elem_s
on a list of meshs and/or a list of CMPS.
CESTAS
“retasser” contents of one
cham_elem_s
CNOCNS
to transform one
cham_no
in
cham_no_s
CNSCES
to transform one
cham_no_s
in
cham_elem
CNSCNO
to transform one
cham_no_s
in
cham_no
CNSCRE
to create one
cham_no_s
CNSPRJ
to project one
cham_no_s
on another mesh
CNSRED
“to reduce” one
cham_no_s
on a list of nodes and/or a list of CMPS.
COPISD
to copy one
cham_no_s
or one
cham_elem_s
DETRSD
to destroy one
cham_no_s
or one
cham_elem_s
IMPRSD
to print on listing one
cham_no_s
or one
cham_elem_s