Code_Aster ®
Version
4
Titrate:
Description of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
1/16
Department Mécanique and Modèles Numériques
Index:
With
Diffusion:
Developers
Handbook of Descriptif Informatique
D9.02 booklet:
D9.02.03 document
Description of routine CALCUL
1
Introduction
Routine CALCUL is the routine of encapsulation of all elementary calculations: matrices, vectors
or elementary fields. Its general description is made in [D3.02.01].
In this description being used for maintenance of routine CALCUL, we will pésenterons successively
:
1)
simplified flow charts of the principal routines of CALCUL (aspect “dynamic” of
program) [§2] and [§3],
2)
then handled data (“static” aspect). It is:
-
nodes, meshs [D3.01.01], type_element, finite elements, sizes
[§4], of the GREL, a LIGREL, an option [D3.02.01] and [D4.06.02],
-
catalogs of finite elements [D4.04.01],
-
CHAMPS: CHAM_NO, CHAM_ELEM, CARTE and RESUELEM [D4.06.05],
-
“wide CARTES” [§5],
-
objects JEVEUX of work specific to “package” CALCUL [§6],
-
as well as COMMONS specific to “package” CALCUL [§7].
3)
finally, us listels uses of the COMMONS by the various routines [§8]
EDF
Direction of Etudes and Recherches
Electricity of France
Project Code de Mécanique
Copyright EDF/DER 1997
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
2/16
2
Flow charts
2.1
Simplified flow chart of routine CALCUL
The names of the routines are written in capital letters Italic.
CALCUL (...)
DEBCAL! “prolog” of routine CALCUL:
! setting in COMMON of addresses JEVEUX
! “extension” of the CARTES “IN” [§2]
! various checks
ALCHLO! allowance of the local fields
ALRSLT! allowances of the total CHAMPS results (“OUT”)
loop on the GREL of the LIGREL: grel
INIGRL! allowances of the objects “&INEL.XXX” for the GREL grel
MECOE1! update of COMMONS ICOELXX
loop on the parameres “IN”: bread
EXTRAI! extraction of the local field associated bread
! for the GREL grel
if necessary
CONVER! “conversion” of the local field associated bread
end if
fine bread loops
ZECHLO! resetting of the local fields “out”
TE0000! call to the effective TE000I (elementary calculations)
MONTEE! recopy local fields “out” in the fields
! total results
fine grel loops
2.2
Simplified flow charts of routine EXTRAI
EXTRAI (champ_in,…)
if TYPE (champ_in) = ' CARTE'
EXCART (champ_in)
if TYPE (champ_in) = ' CHAM_ELEM
EXCHML (champ_in)
if TYPE (champ_in) = ' CHAM_NO'
EXCHNO (champ_in)
if TYPE (champ_in) = ' RESUELEM
EXRESL (champ_in)
end if
EXCART (champ_in,…)
loop on the elements of the GREL: iel
TRIGD
!
recovery of the size carried
!
by the mesh ima associated the element iel
fine iel loops
EXCHNO (champ_in,…)
loop on the elements of the GREL: iel
loop on the nodes of the mesh associated with iel: ino
TRIGD
!
recovery of the size carried
!
by the node ino of the element iel
fine ino loops
fine iel loops
EXCHML (champ_in,…)
loop on the elements of the GREL: iel
JACOPO
! recopy “end” of the total field in the local field
fine iel loops
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
3/16
EXRESL (idem EXCHML)
2.3
Simplified flow chart of routine ALRSLT
ALRSLT (l_champ_out,…)
loop on the fields of l_champ_out: chout
if EXISTE (chout)
ASSDEL (chout)! destruction of the field
end if
if TYPE (chout) = ' CHAM_ELEM'
ALCHML (chout)
if TYPE (chout) = ' RESUELEM'
ALRESL (chout)
end if
fine chout loops
2.4
Simplified flow chart of routine CONVER
CONVER (ch_loc, numero_conversion)
JACOPO
! recopy local field ch_loc in “&&CALCUL.ORIGINAL”
if numero_conversion = - 1
EXPAND ()
! conversion of the type “expand”:
! “&&CALCUL.ORIGINAL” - > “&&CALCUL.CONVERTI”
if numero_conversion = - 2
MOYENN ()
! “average” conversion of the type:
! “&&CALCUL.ORIGINAL” - > “&&CALCUL.CONVERTI”
if not
TE0000 ()
! “particular” conversion:
! “&&CALCUL.ORIGINAL” - > “&&CALCUL.CONVERTI”
end if
JACOPO
! recopy “&&CALCUL.CONVERTI” in the local field ch_loc
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
4/16
3
Summary description of the utility routines
ALCHLO
allocate the local fields
ALCHML
allocate a field result of the type CHAM_ELEM
ALRESL
allocate a field result of the type RESUELEM
ALRSLT
allocate the total fields result
ASSDEL
destroyed a field
CONVER
fact the conversion of a local field of a local mode towards another
DCHLMX
the dimension max. of a local field makes
DEBCAL
“prolog” with routine CALCUL
DIGDE2
the dimension of a local field returns
ETENCA
a CARTE “extends”:
creation of objects CARTE//“.PTMA” and CARTE//“.PTMS”
EXCART
extract a local field starting from a CARTE
EXCHML
extract a local field starting from a CHAM_ELEM
EXCHNO
extract a local field starting from a CHAM_NO
EXISDG
test the existence of a CMP in a DESCRIPTEUR_GRANDEUR
EXPAND
fact a “conversion” of type “expand” to a local field
EXRESL
extract a local field starting from a RESUELEM
EXTRAI
extract a local field starting from a total field
GRDEUR
give the name of the size associated with a parameter
INIGRL
initialize the objects “&INEL.XXX” for a GREL
INPARA
returns the number of a parameter for a couple (type_element, option) given
MAILLA
the name of the MAILLAGE associated with a LIGREL returns
MODATT
returns the mode local waited by type_element for a given parameter
MONTEE
recopy a local field result in a total field.
MOYENN
fact a “conversion” of type “average” to a local field
NBEC
the number of entireties coded for a given size returns
NBELEM
the number of elements of a GREL returns
NBGREL
the number of GREL of a LIGREL returns
NBPARA
returns the number of parameters for a couple (type_element, option) given
NBPARC
the number of parameters for a given option returns
NOPARA
returns the name of a parameter for a couple (type_element, option) given
NOPARC
the name of a parameter for a given option returns
NUCALC
the number of routine TE000I for a couple (type_element, option returns) given
OPCONV
the number of routine TE000I returns corresponding to a given conversion.
SCALAI
the type makes scalar: R, I, C,… of a size
TE0000
routine “cap” which calls all the TE000I
TRIGD
sort the CMPS of a size according to a DESCRIPTEUR_GRANDEUR
TYPELE
returns the type_element associated one with a GREL
ZECHLO
puts a local field at “zero” between 2 GRELS
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
5/16
4
Recall on the sizes
We will call “instanciée size” (or “size” very runs to reduce):
·
a reference to a “size catalogued” defined in the catalog of the sizes,
·
a vector of realities (or complexes, entireties,…) with which the components are associated
with the CMPS of the catalogued size,
·
a DESCRIPTEUR_GRANDEUR: it is a vector of coded entireties which informs about the presence
(or the abscence) of the CMPS of the size catalogued in the instanciée size
For example, a field of displacements contains a whole of instanciées sizes. Each
size of this field is defined by:
·
a reference to size DEPL_R of the catalog: real type, named CMPS: DX, DY,…
·
a vector of 2 realities (for example): (2.3, 3.4)
·
a coded entirety: ICODE=2 ** 2 + 2 ** 3 = 14 (for example), which makes it possible to say that for
this size, DX misses, DY is worth 2.3 and DZ is worth 3.4
A field (total or local) is primarily a list of instanciées sizes affected to
geometrical entities:
·
nodes for a CHAM_NO
·
meshs for a CARTE
·
be finite elements for a RESUELEM or a CHAM_ELEM
5
“Wide” cards
A CARTE is an affected field by meshs or groups of meshs. The structure of data CARTE
“is condensed”: one stores in with respect to each instanciée size the list of the affected meshs
by this size. In CALCUL, the basic problem for the use of the CARTES is as follows:
“how to find the instanciée size associated with the mesh ima to be able to recopy it in
local field provided to routines TE00IJ? “
This problem cannot be solved effectively with structure CARTE (especially if one thinks
that a mesh can be affected several times: principle of “overload”), this is why at the beginning of
CALCUL (routine DEBCAL), one “extends” the CARTES “IN” (routine ETENCA). This extension consists with
to create for each CARTE, 2 additional objects temporary which make it possible to make association
(mesh, size) once and for all.
These 2 objects correspond to following SD CARTE_ETENDUE:
CARTE_ETENDUE (K19)::= record
“$VIDE”
: CARTE
“.PTMA”
: OJB
S V I
LONG = nb_ma
“.PTMS”
: OJB
S V I
LONG = nb_ms
Object “.PTMA”:
that is to say nb_ma the number of meshs of the MAILLAGE associated with the card,
for ima=1, nb_ma:
.PTMA (ima): number of the size associated with the mesh ima
Object “.PTMS”:
that is to say nb_ms the number of additional meshs of the LIGREL associated with the card,
for ims=1, nb_ms:
.PTMA (ims): number of the size associated with the additional mesh ims
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
6/16
6
Objects of work
Routine CALCUL allocates objects JEVEUX of work (VOLATILE bases) which we will describe Ci
below. All these objects have a name starting with “&&CALCUL”.
6.1
&&CALCUL.OBJETS_TRAV OJB S V K24
This object contains the name of all the objects of work created by CALCUL. It is used to do the “housework”
(destruction) at the end of routine CALCUL.
6.2
Local fields
One calls “local field” object JEVEUX (and the zone associated memory) where they are stored
information extracted from a total field if “IN” (or calculated by a routine TE000I if “OUT”). These
information “is arranged” in accordance with the description given in the catalog of type_element
(mode_local of the parameter associated with the field).
The local fields are vectors JEVEUX whose names are form
“&&CALCUL”//nom_parameter, for example:
“&&CALCUL.PGEOMER”, “&&CALCUL.PCACOQU”,…
Note:
·
One continues to use the “local” vocabulary although since 1993, the “local” field
contains (put end to end) information concerning all the finite elements of the GREL
running.
·
When a routine TE00IJ makes for example:
CAL JEVECH (“PGEOMER”, “It, 'IAD)
returned address IAD is the address of the object “&&CALCUL.PGEOMER” shifted of what it
is necessary so that one reaches information concerning the current element.
The organization of these objects is as follows:
1ère CMP
1ère size
1st element
2nd CMP
1ère size
1st element
3rd CMP
1ère size
1st element
1ère CMP
2nd size
1st element
2nd CMP
2nd size
1st element
…
1ère CMP
1ère size
2nd element
2nd CMP
1ère size
2nd element
…
One finds there end to end the various elements of the GREL (which has the same one type_element and thus it
even mode_local). For each element, the description of the local field is in conformity with [D3.02.01
§4].
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
7/16
example for a local field of geometry to the nodes of a GREL of TRIA3:
DX
Node:1
1st element
DY
Node:1
1st element
DX
Node:2
1st element
DY
Node:2
1st element
DX
Node:3
1st element
DY
Node:3
1st element
DX
Node:1
2nd element
DY
Node:1
2nd element
…
·
Local fields of work for conversions:
For conversions, CALCUL needs zones memory “buffer”. These zones memory have
even organization that local fields above. It is necessary to allocate of them 2 for each
scalar type associated the sizes of the fields of calculation: I, R, C, K8,…
Their names are:
&&CALCUL.ORIGINAL.C
&&CALCUL.CONVERTI.C
&&CALCUL.ORIGINAL.I
&&CALCUL.CONVERTI.I
&&CALCUL.ORIGINAL.K8
&&CALCUL.CONVERTI.K8
&&CALCUL.ORIGINAL.K16
&&CALCUL.CONVERTI.K16
&&CALCUL.ORIGINAL.K24
&&CALCUL.CONVERTI.K24
&&CALCUL.ORIGINAL.R
&&CALCUL.CONVERTI.R
For the conversion of a local field of real type (for example), conversion will use in input it
local field: &&CALCUL.ORIGINAL.R and at output: &&CALCUL.CONVERTI.R
These local fields “buffer” are allocated with the max. length of the local fields “ordinary”.
6.3
&&CALCUL.NOM_&INEL objects and &&CALCUL.IAD_&INEL
·
&&CALCUL.NOM_&INEL
This object contains the names of the objects related to the initialization of type_element of the courrant GREL:
objects “&INEL.XXX”.
·
&&CALCUL.IAD_&INEL
This object contains the addresses of the objects related to the initialization of type_element of the courrant GREL
: objects “&INEL.XXX”.
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
8/16
6.4
Objects &&CALCUL.TYPE_SCA &&CALCUL.IA_CHLOC and &&CALCUL.MODELO
·
&&CALCUL.TYPE_SCA
S V K8
will dim=nb_para
·
&&CALCUL.IA_CHLOC
S V I
dim=7 * will nb_para
·
&&CALCUL.MODELO
S V I
will dim=nb_para
That is to say will nb_para the number of parameters (“in” and “out”) of the option of calculation and ipar the number of such
parameter.
&&CALCUL.TYPE_SCA (ipar)
scalar type (I, R, C,…) size associated with
parameter ipar
&&CALCUL.IA_CHLOC (7 * (ipar-1) +1)
address local field associated with ipar
&&CALCUL.IA_CHLOC (7 * (ipar-1) +2)
length of the local field associated ipar
&&CALCUL.IA_CHLOC (7 * (ipar-1) +3)
local mode awaited for the parameter
&&CALCUL.IA_CHLOC (7 * (ipar-1) +4)
working length of the local field for 1 element.
(account of the ICOEF takes)
&&CALCUL.IA_CHLOC (7 * (ipar-1) +5)
type of the local field:
1: CARTE
2: CHAM_NO
3: CHAM_ELEM
4: VECTOR 2ND MEMBER
5: MATRICE
&&CALCUL.IA_CHLOC (7 * (ipar-1) +6)
a number of points of discretization of the local field:
1 for
one
CARTE
nb_no for
one
CHAM_NO
nb_pg for
one
CHAM_ELEM
nb_no for
one
VECTEUR
O for
one
MATRICE
&&CALCUL.IA_CHLOC (7 * (ipar-1) +7)
value of the “multiplying” coefficient (ICOEF) for
CHAM_ELEM with dynamic size (local modes Zxxxxx)
&&CALCUL.MODELO (ipar)
mode_local associated the parameter ipar
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
9/16
6.5
&&CALCUL.LCHIN_EXI objects, &&CALCUL.LCHIN_K8 and &&CALCUL.LCHIN_I
·
&&CALCUL.LCHIN_EXI
S V L
dim= nb_in
·
&&CALCUL.LCHIN_K8
S V K8
dim= 11 * nb_in
·
&&CALCUL.LCHIN_I
S V I
dim= 2 * nb_in
That is to say nb_in the number of fields “in” and iin =1, nb_in
&&CALCUL.LCHIN_EXI (iin)
.FALSE. : the field does not exist
&&CALCUL.LCHIN_K8 (2 * (iin-1) +1)
type of the field:
“CHNO”, “CART”, “CHML” OR “RESL”
&&CALCUL.LCHIN_K8 (2 * (iin-1) +2)
scalar type of the field:
“It, “R”, “I”, “K8”,…
&&CALCUL.LCHIN_I (11 * (iin-1) +1)
IGD: size associated with the field
&&CALCUL.LCHIN_I (11 * (iin-1) +2)
NEC: a number of coded entireties
&&CALCUL.LCHIN_I (11 * (iin-1) +3)
NCMPMX: a max. number of CMPS for IGD
&&CALCUL.LCHIN_I (11 * (iin-1) +4)
IADESC: address CHIN//“.DESC”
&&CALCUL.LCHIN_I (11 * (iin-1) +5)
IAVALE: address CHIN//“.VALE”
&&CALCUL.LCHIN_I (11 * (iin-1) +6)
IAPTMA: address CHIN//“.PTMA” (if CARTE)
&&CALCUL.LCHIN_I (11 * (iin-1) +7)
IAPTMS: address CHIN//“.PTMS” (if CARTE)
&&CALCUL.LCHIN_I (11 * (iin-1) +8)
IAPRN1: address .PRNO ($MAILLA) (if CHAM_NO)
&&CALCUL.LCHIN_I (11 * (iin-1) +9)
IAPRN2: address .PRNO (LIGREL) (if CHAM_NO)
&&CALCUL.LCHIN_I (11 * (iin-1) +10)
IANUEQ: address .NUEQ (if CHAM_NO)
&&CALCUL.LCHIN_I (11 * (iin-1) +11)
1: IANUEQ is valid
0: if not
6.6
&&CALCUL.LCHOU_K8 objects and &&CALCUL.LCHOU_I
·
&&CALCUL.LCHOU_K8
S V K8
dim= 2 * nb_out
·
&&CALCUL.LCHOU_I
S V I
dim= 2 * nb_out
That is to say nb_out the number of fields “out” and iout =1, nb_out
&&CALCUL.LCHOU_K8 (2 * (iout-1) +1)
type of the field:
“CHML” (CHAM_ELEM) or “RESL” (RESUELEM)
&&CALCUL.LCHOU_K8 (2 * (iout-1) +2)
scalar type of the field:
“It, “R”
&&CALCUL.LCHOU_I (2 * (iout-1) +1)
IADESC: address CHOUT//“.DESC”
&&CALCUL.LCHOU_I (2 * (iout-1) +2)
IAVALE: address CHOUT//“.VALE”
(if CHAM_ELEM)
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
10/16
6.7
&&CALCUL.SCALAIRE objects and &&CALCUL.IA_CONVERS
·
&&CALCUL.SCALAIRE
S V K8
dim= nb_scal
·
&&CALCUL.IA_CONVERS
S V I
dim= 2 * nb_scal + 1
That is to say nb_scal the number of the scalar types: I, R, C,…
&&CALCUL.SCALAIRE (I)
ième possible scalar type of the fields “in” field:
SCAL (I)
&&CALCUL.IA_CONVERS (1)
nb_scal
&&CALCUL.IA_CONVERS (2 * (i-1) +2)
address in ZR or ZC or… of the object:
“&&CALCUL.ORIGINAL.”//SCAL (I)
&&CALCUL.IA_CONVERS (2 * (i-1) +3)
address in ZR or ZC or… of the object:
“&&CALCUL.CONVERTI.”//SCAL (I)
6.8
&&CALCUL.TECAEL_K24 objects and &&CALCUL.TECAEL_I
·
&&CALCUL.TECAEL_K24
S V K24
·
&&CALCUL.TECAEL_I
S V I
that is to say nb_no the number of nodes of the mesh associated with the courrant element.
&&CALCUL.TECAEL_K24 (1)
name of the MAILLAGE
&&CALCUL.TECAEL_K24 (2)
name of the LIGREL
&&CALCUL.TECAEL_K24 (3)
name of the mesh
&&CALCUL.TECAEL_K24 (3+1)
name of the 1st node of the mesh
&&CALCUL.TECAEL_K24 (3+2)
name of the 2nd node of the mesh
…
…
&&CALCUL.TECAEL_I (1)
number of the mesh
&&CALCUL.TECAEL_I (2)
a number of nodes of the mesh (nb_no)
&&CALCUL.TECAEL_I (2+1)
number of the 1st node of the mesh
&&CALCUL.TECAEL_I (2+2)
number of the 2nd node of the mesh
…
…
6.9
&&CALCUL.NOMOP objects and &&CALCUL.NOMTE
·
&&CALCUL.NOMOP
S V K16
·
&&CALCUL.NOMTE
S V K16
&&CALCUL.NOMOP (iopt)
name of the option of number iopt
&&CALCUL.NOMTE (ite)
name of type_element of number ite
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
11/16
7
Description of the COMMONS suitable for routine CALCUL: ICOELXX
7.1
COMMONS ICOEL1 and ICOEL2
Summary description:
Information concerning the total field and the local field associated the parameter running in the loop
on the extraction.
COMMON/ICOEL1/IGD, NEC, NCMPMX, IACHIN, IACHLO, IICHIN, IANUEQ, LPRNO
COMMON/ICOEL2/TYPEGD
CHARACTER * 8 TYPEGD
C THESE COMMONS ARE UPDATED BY EXTRAI.
C IGD: NUMBER OF THE SIZE ASSOCIATED WITH THE FIELD TO BE EXTRACTED
C NEC: A NUMBER Of ENTIRETIES CODES OF IGD
C NCMPMX: MAX OF CMPS FOR IGD NUMBERS
C IACHIN: ADDRESS JEVEUX OF CHIN.VALE
C IACHLO: ADDRESS JEVEUX OF CHLOC.VALE (&&CALCUL.NOMPAR)
C IICHIN: NUMBER OF FIELD CHIN IN LIST LCHIN.
C IANUEQ: ADDRESS OBJECT .NUEQ OF THE PROF_CHNO ASSOCIATES POSSIBLE
C - LIES TO FIELD CHIN. (IF LPRNO=1).
C LPRNO: 1-> OBJECT .NUEQ EAST TO BE TAKEN INTO ACCOUNT
C (CHAM_NO A PROF_CHNO)
C 0-> OBJECT .NUEQ IS NOT TO TAKE INTO ACCOUNT
C (CHAM_NO A CONSTANT REPRESENTATION OR ANOTHER FIELD)
C TYPEGD: SCALAR TYPE OF SIZE IGD: “R”, “I”, “K8”,…
7.2
COMMON ICOEL3, ICOELD, ICOELE and ICOELH
Summary description:
Information concerning the conversion of a local field.
COMMON/ICOEL3/IAMOD1, IAMOD2, IAORIG, IACONV
C EC COMMON EAST UPDATED BY CONVER.
C IAMOD1: ADDRESS MODE-LOCAL BEFORE CONVERSION
C IAMOD2: ADDRESS MODE-LOCAL AFTER CONVERSION
C IAORIG: ADDRESS CHAMP-LOCAL “&&CALCUL.ORIGINAL.SCAL”
C IACONV: ADDRESS CHAMP-LOCAL “&&CALCUL.CONVERTI.SCAL”
COMMON/ICOELD/IACVRS
COMMON/ICOELE/IASCAL
C THESE COMMONS ARE UPDATED BY ALCHLO.
C THESE COMMONS ARE USE BY CONVER.
C IASCAL: ADDRESS “&&CALCUL.SCALAIRE” V (K8)
C V (1)., V (NR): POSSIBLE TYPE_SCALAIRES OF THE CHIN.
C IACVRS: ADDRESS “&&CALCUL.IA_CONVERS” V (I)
C - DIM (V) = 2 * DIM (“&&CALCUL.SCALAIRE”) +1
C - V (1) = DIMENSION OF “&&CALCUL.SCALAIRE”
C - FOR I =1, NB_SCALAIRE
C - V (1+ 2 * (I-1) +1) = ADDRESS IN ZR, OR ZC, OR ZI,…
C OF “&&CALCUL.ORIGINAL.SCAL (I)”
C - V (1+ 2 * (I-1) +2) = ADDRESS IN ZR, OR ZC, OR ZI,…
C OF “&&CALCUL.CONVERTI.SCAL (I)”
COMMON/ICOELH/PARAM
CHARACTER * 8 PARAM
C EC COMMON EAST UPDATED BY CONVER AND EAST USES IN
C TE00IJ OF CONVERSION.
C PARAM: NAME OF THE PARAMETER TO BE CONVERTED
7.3
COMMON ICOEL4 and ICOEL7
Summary description:
Information concerning the objects of the catalog of the finite elements “&CATA.XXX”.
COMMON/ICOEL4/IAOPTT, LGCO, IAOPMO, ILOPMO, IAOPNO, ILOPNO, IAOPDS,
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
12/16
+ IAOPPA, LGOPPA, IAMLOC, ILMLOC, IACOVE, ILCOVE, IADSGD
C EC COMMON EAST INITIALIZES BY DEBCAL
C EC COMMON EAST USES A LITTLE EVERYWHERE
C IAOPTT: ADDRESS OBJECT OF THE CATALOG: “&CATA.TE.OPTTE”
C LGCO: LENGTH Of a COLUMN OF “&CATA.TE.OPTTE”
C (a TOTAL NUMBER Of POSSIBLE OPTIONS OF the CATALOG)
C IAOPMO: ADDRESS “&CATA.TE.OPTMOD”
C ILOPMO: ADDRESS PT_LONG OF “&CATA.TE.OPTMOD”
C IAOPNO: ADDRESS “&CATA.TE.OPTNOM”
C ILOPNO: ADDRESS PT_LONG OF “&CATA.TE.OPTNOM”
C IAOPDS: ADDRESS “&CATA.OP.DESCOPT (OPT)”
C IAOPPA: ADDRESS “&CATA.OP.OPTPARA (OPT)”
C LGOPPA: LENGTH OF “&CATA.OP.OPTPARA (OPT)”
C IAMLOC: ADDRESS “&CATA.TE.MODELOC”
C ILMLOC: ADDRESS PT_LONG OF “&CATA.TE.MODELOC”
C IACOVE: ADDRESS “&CATA.TE.CONVERS”
C ILCOVE: ADDRESS PT_LONG OF “&CATA.TE.CONVERS”
C IADSGD: ADDRESS “&CATA.GD.DESCRIGD”
COMMON/ICOEL7/IADFNO, IADFCA, LGCONO, LGCOCA
C EC COMMON EAST UPDATED BY DEBCAL
C EC COMMON EAST USES IN EXTRAI AND ALCHLO
C IADFNO: ADDRESS “&CATA.TE.MODEFNO”
C IADFCA: ADDRESS “&CATA.TE.MODEFCA”
C LGCONO: LENGTH D'1 COLUMN OF MODEFNO.
C LGCOCA: LENGTH D'1 COLUMN OF MODEFCA.
7.4
COMMON ICOEL5
Summary description:
Information concerning connectivities of the meshs of the grid and the late meshs
COMMON/ICOEL5/IAMACO, ILMACO, IAMSCO, ILMSCO, IALIEL, ILLIEL
C EC COMMON EAST UPDATED BY DEBCAL (OR TERLIG)
C EC COMMON EAST USES IN NUMAIL, EXCHNO,…
C IAMACO: ADDRESS CONNECTIVITY OF THE GRID
C ILMACO: ADDRESS POINTER LENGTH OF IAMACO
C IAMSCO: ADDRESS CONNECTIVITY OF MESHS SUPPL. D'1 LIGREL
C ILMSCO: ADDRESS POINTER LENGTH OF IAMSCO
C IALIEL: ADDRESS OBJECT “.LIEL” OF THE LIGREL.
C ILLIEL: ADDRESS POINTER LENGTH OF “.LIEL”.
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
13/16
7.5
COMMON ICOEL8
Summary description:
Information concerning the whole of all the total fields “in”.
COMMON/ICOEL8/IACHII, IACHIK, IACHIX
C EC COMMON EAST UPDATED BY DEBCAL
C EC COMMON EAST USES IN EXTRAI, EXCHNO, EXCART, EXRESL, EXCHML
C, DCHLMX
C IACHII: ADDRESS “&&CALCUL.LCHIN_I”
C IACHIK: ADDRESS “&&CALCUL.LCHIN_K8”
C IACHIX: ADDRESS “&&CALCUL.LCHIN_EXI”
C
C'&&CALCUL.LCHIN_EXI”::= V (L) (DIM = NIN)
C V (1): .FALSE. : The FIELD PARAMETER DOES NOT EXIST.
C
C'&&CALCUL.LCHIN_K8”::= V (K8) (DIM = NIN * 2)
C V (1): TYPE_CHAMP: “CHNO”, “CART”, “CHML” OR “RESL”.
C V (2): TYPE_GD: “It, “R”, “I”, “K8”,…
C
C'&&CALCUL.LCHIN_I”::= V (I) (DIM = NIN * 11)
C V (1): IGD ASSOCIATED SIZE A LCHIN (I)
C V (2): NEC NUMBERS ENTIRETIES CODES
C V (3): NCMPMX NUMBERS MAX OF CMP FOR IGD
C V (4): IADESC ADDRESSES .DESC
C V (5): IAVALE ADDRESSES .VALE
C V (6): IAPTMA ADDRESSES .PTMA (FOR 1 CARD)
C V (7): IAPTMS ADDRESSES .PTMS (FOR 1 CARD)
C V (8): IAPRN1 ADDRESSES PRNO ($MAILLA) (FOR 1 CHAM_NO)
C V (9): IAPRN2 ADDRESSES PRNO (LIGREL) (FOR 1 CHAM_NO)
C V (10): IANUEQ ADDRESSES .NUEQ (FOR 1 CHAM_NO)
C V (11): LPRNO (KNOWN AS IF IANUEQ EAST USES FOR 1 CHAM_NO)
7.6
COMMON ICOEL9
Summary description:
Information concerning the names of the options and type_element as well as the list of the objects of work
routine CALCUL.
COMMON/ICOEL9/IANOOP, IANOTE, NBOBTR, IAOBTR, NBOBMX
C EC COMMON EAST UPDATED BY DEBCAL
C EC COMMON EAST USES IN TE0000 FOR
C IANOOP: ADDRESS IN ZK16 OF “&&CALCUL.NOMOP” V (K16)
C V (IOP) --> NAME OF OPTION IOP
C IANOTE: ADDRESS IN ZK16 OF “&&CALCUL.NOMTE” V (K16)
C V (ITE) --> NAME OF TYPE_ELEMENT ITE
C EC COMMON EAST USES IN ALCHLO, ALRSLT AND CALCULATION FOR:
C NBOBTR: A NUMBER Of OBJECTS OF WORK “&&CALCUL….” QUI
C WILL HAVE TO BE DESTROYED AT THE END OF CALCULATION.
C IAOBTR: ADDRESS IN ZK24 OF THE OBJECT “&&CALCUL.OBJETS_TRAV”
C NBOBMX: LENGTH OF THE OBJECT “&&CALCUL.OBJETS_TRAV”
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
14/16
7.7
COMMON ICOELA
Summary description:
number of the GREL running, number of the element running (in the GREL), characteristic of the unit
local fields.
COMMON/ICOELA/IAWMOL, NPARIO, IAWLOC, IAWTYP, NBELGR, IGR, IEL
C EC COMMON EAST INITILISE BY ALCHLO
C EC COMMON EAST MODIFIES BY MECOE1 (OBJECT .IA_CHLOC)
C EC COMMON EAST MODIFIES BY EXTRAI, RISE, CALCULATION, CONVER, ZECHLO
C (OBJECT .MODELO)
C EC COMMON EAST MODIFIES A LITTLE EVERYWHERE FOR NBELGR, IGR, IEL
C EC COMMON EAST USES IN EXTRAI, RISE, CALCULATION, CONVER,
C JEVECH, ZECHLO, TECACH
C
C IGR: NUMBER OF THE GREL WHICH ONE TREATS
C NBELGR: A NUMBER Of ELEMENTS IN GREL IGR
C (IGR AND NBELGR ARE UPDATED BY CALCULATION)
C IEL: NUMBER OF THE ELEMENT (IN GREL IGR)
C (IEL EAST UPDATED BY EXTRAI, TE0000, CONVER, ASSEMBLED,…)
C IAWMOL: ADDRESS IN ZI OF “&&CALCUL.MODELO” V (I)
C V (IPAR) --> LOCAL MODE OF PARAMETER IPAR (OPT)
C NPARIO: LENGTH OF “&&CALCUL.MODELO” (NB OF PARAM IN/OUT (OPT))
C
C IAWLOC: ADDRESS IN ZI OF “&&CALCUL.IA_CHLOC” V (I)
C THIS OBJECT CONTAINS INFORMATION ON THE CHAMP_LOCAUX
C V (7 * (IPAR-1) +1) --> ADDRESS OF THE CHAMP_LOCAL '&&CALCUL.//NOMPAR (IPAR)
C V (7 * (IPAR-1) +2) --> LENGTH OF THE OBJECT '&&CALCUL.//NOMPAR (IPAR)
C L=MAX (PRESENT TYPE_ELEM) * NBELGR
C V (7 * (IPAR-1) +3) --> LOCAL MODE AWAITED FOR PARAMETER (IPAR)
C V (7 * (IPAR-1) +4) --> WORKING LENGTH OF THE CHAMP_LOCAL FOR 1 ELEMENT
C TYPE_ELEM ASSOCIATES GREL IGR: NCMPEL (MODE)
C THIS LENGTH TAKES ACCOUNT Of a POSSIBLE ICOEF
C =/1 (CF V (7 * (IPAR-1) +7).
C V (7 * (IPAR-1) +5) --> STANDARD OF CHAMP_LOCAL:
C 1: CARTE
C 2: CHAM_NO
C 3: CHAM_ELEM
C 4: VECTOR 2ND MEMBER
C 5: MATRICE
C V (7 * (IPAR-1) +6) --> A NUMBER OF POINTS OF DISCRETIZATION OF THE CHAMP_LOC
C (0 IF MATRIX)
C V (7 * (IPAR-1) +7) --> VALUE OF THE MULTIPLYING COEFFICIENT FOR
C LOCAL MODES OF CHAM_ELEM “” (ICOEF).
C
C IAWTYP: ADDRESS IN ZK8 OF “&&CALCUL.TYPE_SCA” V (K8)
C V (IPAR) --> TYPE_SCALAIRE OF THE CHAMP_LOCAL
7.8
COMMON ICOELC
Summary description:
Information concerning the whole of all the total fields “out”.
COMMON/ICOELC/IACHOI, IACHOK
C EC COMMON EAST UPDATED BY ALRSLT
C EC COMMON EAST USES IN RISE, DCHLMX
C IACHOI: ADDRESS “&&CALCUL.LCHOU_I”
C IACHOK: ADDRESS “&&CALCUL.LCHOU_K8”
C
C'&&CALCUL.LCHOU_K8”::= V (K8) (DIM = NIN * 2)
C V (1): TYPE_CHAMP: “CHML” OR “RESL”.
C V (2): TYPE_GD: “It, “R”
C
C'&&CALCUL.LCHOU_I”::= V (I) (DIM = NOUT * 2)
C V (1): ADDRESS L_CHOUT (I) .DESC
C V (2): ADDRESS L_CHOUT (I) .VALE (IF CHAM_ELEM)
C
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
15/16
7.9
COMMON ICOELF
Summary description:
Information concerning the whole of the objects related to the intialisation of type_element: “&INEL.XXX”
COMMON/ICOELF/NBOBJ, IAINEL, ININEL
C NBOBJ: A MANY OBJECTS “” CREATE BY INITIALIZATION
C TYPE_ELEM
C ININEL: ADDRESS IN ZK24 OF THE OBJECT “&&CALCUL.NOM_&INEL”
C WHO CONTAINS THE NAMES OF THE OBJECTS “”
C IAINEL: ADDRESS IN ZI OF THE OBJECT “&&CALCUL.IAD_&INEL”
C WHO CONTAINS THE ADDRESSES OF THE OBJECTS “”
C EC COMMON EAST INITIALIZES BY DEBCAL
C EC COMMON EAST USES BY CALCULATION AND JEVETE
7.10
COMMON ICOELG
Summary description:
Information concerning the mesh subjacent with the current element
COMMON/ICOELG/ICAELI, ICAELK
C EC COMMON EAST CREATES BY DEBCAL.
C IT EAST USES BY TECAEL
C ICAELK EAST the ADDRESS Of a VECTOR DE K24 CONTAINING:
C V (1): NAME OF THE GRID (K8)
C V (2): NAME OF THE LIGREL (K19)
C V (3): NAME OF THE MESH (K8)
C V (3+ 1): NAME OF THE 1ST NODE OF THE MESH
C V (3+ 1): NAME OF DER NODE OF THE MESH
C ICAELI EAST the ADDRESS Of a VECTOR OF IS CONTAINING:
C V (1): NUMBER OF THE MESH
C V (2): A NUMBER OF NODES OF MESH (NBNO)
C V (2+ 1): NUMBER OF THE 1ST NODE OF THE MESH
C V (2+NBNO): NUMBER OF DER NODE OF THE MESH
C V (2+NBNO +1): NUMBER OF THE GREL
C V (2+NBNO +2): NUMBER OF THE ELEMENT IN THE GREL
Handbook of Descriptif Informatique
D9.02 booklet:Index A
Code_Aster ®
Version
4
Titrate:
Maintenance of routine CALCUL
Date:
28/01/99
Author (S):
J. PELLET
Key:
D9.02.03
Page:
16/16
8
Use of the COMMONS: ICOELXX
8.1
List routines using COMMONS ICOELXX
These routines should not be called apart from routine CALCUL
ALCHLO EXRESL NBPARA
ALRSLT EXTRAI NOPARA
CALCULATION GRDEUR NUCALC
CONVER INPARA OPCONV
DCHLMX JEVECH TE0000
DEBCAL JEVETE TECACH
DIGDE2 MECOE1 TECAEL
EXCART MECOEL TRIGD
EXCHML MODATT ZECHLO
ASSEMBLED EXCHNO
AVERAGE EXPAND
8.2
Use of COMMONS ICOELXX
Common block cross-country race-reference list:
Common Block ICOEL1 used in:
EXCART EXCHML EXCHNO EXRESL EXTRAI TRIGD
Common Block ICOEL2 used in:
AVERAGE CONVER EXCHML EXPAND EXRESL EXTRAI
TRIGD
Common Block ICOEL3 used in:
CONVER EXPAND MOYENN (+ routines TEOOIJ of conversion)
Common Block ICOEL4 used in:
CALCULATION CONVER DEBCAL DIGDE2 EXCART EXCHNO
EXTRAI GRDEUR INPARA JEVECH MECOE1 MODATT
RISE NBPARA NOPARA NUCALC OPCONV TECACH
ZECHLO
Common Block ICOEL5 used in:
DEBCAL EXCART EXCHNO TECAEL
Common Block ICOEL7 used in:
DCHLMX DEBCAL EXTRAI
Common Block ICOEL8 used in:
CALCULATION DCHLMX DEBCAL EXCART EXCHML EXCHNO
EXRESL EXTRAI
Common Block ICOEL9 used in:
ALCHLO ALRSLT CALCULATION DEBCAL TE0000
Common Block ICOELA used in:
ALCHLO CALCULATION CONVER EXCART EXCHML EXCHNO
ASSEMBLED EXPAND EXRESL EXTRAI JEVECH MECOE1
AVERAGE TE0000 TECACH TECAEL ZECHLO
Common Block ICOELC used in:
ASSEMBLED ALRSLT DCHLMX
Common Block ICOELD used in:
ALCHLO CONVER
Common Block ICOELE used in:
ALCHLO CONVER
Common Block ICOELF used in:
CALCULATION DEBCAL JEVETE
Common Block ICOELG used in:
DEBCAL TECAEL
Common Block ICOELH used in:
CONVER
(+ routines TEOOIJ of conversion)
Handbook of Descriptif Informatique
D9.02 booklet:Index A