Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
1/40
Organization: EDF/IMA/MN
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
Document: D6.02.01
Management memory: JEVEUX
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
2/40
Contents
1 general Presentation ....................................................................................................................... 4
1.1 Introduction ................................................................................................................................ 4
1.2 Objects JEVEUX: simple object and collection ........................................................................... 4
1.2.1 The basic concepts ........................................................................................................ 4
1.2.2 The simple object .................................................................................................................... 6
1.2.3 The collection ...................................................................................................................... 6
2 Management of the objects ............................................................................................................................ 9
2.1 The attributes ................................................................................................................................ 9
2.1.1 General information ........................................................................................................................ 9
2.1.2 Generic attributes ..................................................................................................... 9
2.1.3 Attributes of collection ................................................................................................ 10
2.1.4 Attributes of the objects of collection ............................................................................... 11
2.2 Associated data bases .............................................................................................. 11
2.3 The access to the values .................................................................................................................. 12
2.4 Concepts of management of the memory ............................................................................................ 12
2.5 Requests of use of the objects ......................................................................................... 14
2.6 Characteristics of the collections .............................................................................................. 14
2.6.1 Contiguous collection variable length ......................................................................... 14
2.6.2 Contiguous collection constant length ....................................................................... 14
2.6.3 Dispersed collection variable length ........................................................................ 15
2.6.4 Dispersed collection length constant ..................................................................... 15
2.7 Release of the segments of values ...................................................................................... 15
3 Environment of application ........................................................................................................... 16
3.1 Print files .......................................................................................................... 16
3.2 Assistance with the development ........................................................................................................... 16
3.3 Environment of Code_Aster .............................................................................................. 16
4 provided Subroutines and use ........................................................................................... 16
4.1 Preliminaries ............................................................................................................................ 17
4.2 Functions of access for the objects of collection ................................................................... 17
4.3 The creation of the descriptors ..................................................................................................... 18
4.4 Insertion of a name in a repertory or creation of an object of collection ................................ 19
4.5 The request of allowance ............................................................................................................. 19
4.6 The request of permanent allowance during a command ................................................ 20
4.7 The request of permanent allowance during the execution ..................................................... 20
4.8 Surcouche of creation and allowance of an object of vector kind ............................................... 20
4.9 Surcouche of enlarging of an object of kind vector ........................................................ 21
4.10 Recopies of objects JEVEUX ................................................................................................ 21
4.11 Requests of release ....................................................................................................... 22
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
3/40
4.12 Requests of existence ........................................................................................................ 23
4.13 The passage of the sequence number to the name and screw poured ................................................................ 23
4.14 Destruction of the descriptors ............................................................................................... 24
4.15 The recovery of the size of the storage areas available ................................................. 24
4.16 The consultations .................................................................................................................... 24
4.17 The impressions ...................................................................................................................... 26
4.18 The utilities .......................................................................................................................... 28
4.19 A utility of debugging ................................................................................................... 28
4.20 Routines of initialization used by the supervisor ............................................................ 28
5 Examples of use ..................................................................................................................... 32
5.1 Creation and re-use of a vector of reality ............................................................................. 32
5.2 Creation of a repertory of names and insertion of two names ..................................................... 32
5.3 Dispersed collection of vectors of entireties ................................................................................ 33
5.4 Contiguous collection of vectors of entireties .................................................................................. 33
6 Appendix 1: list subroutines “user” ...................................................................... 36
7 Appendix 2: list accessible attributes ........................................................................................ 39
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
4/40
1 Presentation
general
1.1 Introduction
The management of the storage areas assigned to each structure of data constitutes a share
important of the organization of an application of scientific computation written in language FORTRAN.
Standard FORTRAN 77 proposes a very reduced number of possibilities of establishment of these structures of
data:
· simple variable,
· fixed table of dimension,
· common zone of fixed size shared between several units of program.
These possibilities are insufficient to carry out a dynamic management of the resources.
In addition, for any application leading to quantities of data of a volume higher than
that of the memory available on a given machine, the writer of the application must take in
charge the overflows report and to program all the exchanges between the main memory and
auxiliary storage (files).
Software package JEVEUX makes it possible to deal with, directly in the source text FORTRAN several
levels of operations:
· the standardization of types FORTRAN usable on machines different (entirety, reality,
complex, logical, character). The criteria of portability are those definite with the software package
ENVIMA (Manuel de Développement - Fascicule D6.01.01: the descriptor of environment
machine),
· the creation of structures of data items (objects JEVEUX) of size defined in
execution, shareable between several units of programs and car-documented,
· the assumption of responsibility of all the transfers between main memory and auxiliary storage.
Note:
R1:
This document presents the whole of the functions of the Jeveux software package. Some
these functions was not known of the programmer “lambda numbers” (those which
must be called that by the supervisor [§4.20]).
It also should be noticed that the large majority of the uses of Jeveux in
Aster relates to the management of “simple” objects (of the vectors). The reader in a hurry (or
frightened by the whole of this document) will be able to be convinced that management of one
vector by Jeveux is very simple by looking at the example of [§5.1].
R2:
The developer of Code_Aster which uses Jeveux must (in addition to this document having
taken knowledge of another document: “Use of Jeveux” [D2.06.01].
1.2
Objects JEVEUX: simple object and collection
1.2.1 Basic concepts
Object JEVEUX:
Software package JEVEUX makes it possible to manage two types of structures of data accessible per name to
center of the application. The use wanted that one calls these structures of data objects JEVEUX.
By definition, an object JEVEUX is:
· that is to say a simple object,
· that is to say a collection of objects.
An object JEVEUX is the unit consisted a descriptor and one or more segment (S) of
values.
Descriptor:
A descriptor is a whole of information made up of a name and various attributes.
descriptor makes it possible to reach, starting from the name, (X) the segment (S) of values of object JEVEUX.
attributes describe the structure of object JEVEUX.
Name:
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
5/40
A name consists of a succession of alphanumerics limited to 24 characters (with the name is
associated, by a table and a function of coding, an entirety giving access the object by
associative addressing).
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
6/40
Attribute:
The attributes are the parameters (in a fixed number for the simple objects) making it possible to define and of
to describe the structure of data (variable, table). For example the type of the values and the length of
table belong to the whole of the attributes.
Segment of values:
A segment of values is a continuous succession of words or bytes (according to the unit of addressing of
machine) used to store values in main memory or auxiliary storage (file).
Note:
Except exception (repertories of names), a segment of values is a succession of values of
even standard.
1.2.2 The object
simple
The simple object is the structure of source data of the software package. A simple object is consisted of
descriptor and of only one segment of values. The number of attributes of a simple descriptor of object is
fixed for a version of the software package.
Note:
The number of attributes is identical for all the simple objects.
Simple object = Nom + Attributs + 1 Segment of values
The name of a simple object consists of 24 natures taken among the following:
· capital letters of A to Z and figures from 0 to 9 (standard FORTRAN);
· four special characters:
the white
““
the point
“. ”
the underlined white
“_”
the and commercial one
“&”
The principal attributes are as follows:
· the kind: described the structure of the simple object
E
simple element (variable)
V
vector (table with an index)
NR
repertory of names (this kind will be defined in the following paragraph)
The kind makes it possible to associate the segment of values the traditional concepts of variable, of table
FORTRAN or to define a more complex structure of data.
· the type: defines type FORTRAN of the scalar variables of the object
I
entirety
(type FORTRAN INTEGER)
R
reality
(type FORTRAN REAL * 8)
C
complex
(type FORTRAN COMPLEX * 16)
L
logic
(type FORTRAN LOGICAL)
K8, K16, K24,
K32,
or K80
characters
(type FORTRAN CHARACTER)
· the length: the length of the associated segment of values defines (the number of
scalars).
1.2.3
collection
Collection:
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
7/40
A collection is a structure of data making it possible to share certain attributes of
the whole of the objects composing it. It authorizes indifferently the access by name or number to
objects of collection and to manage objects variable length.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
8/40
Two types of collection are possible:
· one comprising a segment of values per object of collection: the dispersed collection,
· the other only one segment of values for all the objects of the collection: the collection
contiguous.
Note:
A collection cannot be built a posteriori by regrouping of simple objects.
A collection is carried out starting from the descriptor of collection and one or more segments of
values.
Descriptor of collection:
The descriptor of collection is the whole of information defining the collection: the name and them
attributes.
The attributes common to all the objects of the collection are in particular: the kind, the type,
length if it is constant, etc….
The attributes specific to each object of collection are managed separately. From the point of view of
the user, an object of collection has all the attributes of a simple object, it could be used of
same manner.
Collection = Nom + Attributs + 1 or several Segments of values
The name of a collection makes up in a way identical to that of a simple object.
The specific attributes of a collection are:
· the access:
who defines the access mode to the objects of the collection: the access can be carried out by name (
collection known as is then named), by number (the collection known as is numbered),
· storage:
who describes the organization in memory of the values associated with the objects with the collection, them
values can contiguous (only one segment of values), or be dispersed (one
segment of values per object of collection).
All the objects of a contiguous collection are followed in the segment of values associated,
· the length:
it is constant if all the objects of the collection share the same length, it is
variable if the objects are different lengths,
· the maximum number of objects of the collection.
Two attributes of collection can be shared between several collections. In the case of one
collection of objects variable length, the vector lengths can be re-used for another
collection containing the same number of objects. In the same way, two collections can share the names
objects of collection. These objects are called pointer external.
Types of collection:
The numbered collection is made up of objects whose key of access is a variable entirety of 1 with
numbers maximum objects of the collection. In a numbered collection all the objects preexist.
The named collection uses an ordinary person object of repertory kind of names which contains
list names of objects of the collection managed by associative addressing. This repertory of names can
to be defined by the user or to be created automatically. The names of the objects are inserted in the order
chronological of creation of the names. One can reach an object of collection named by his name
and/or by the sequence number of insertion.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
9/40
2
Management of the objects
2.1
attributes
2.1.1 General
The attributes to which the user has access are, with two exceptions, nonmodifiable directly.
They are affected during the creation of the descriptor (for example the standard) then fixed until destruction
this descriptor. The system manages in addition to the attributes which evolve/move during the application (by
example the address memory of the segment of values).
One distinguishes three categories of attributes for objects JEVEUX:
· generic attributes: classify, kind, type,…
· attributes of collection.
· attributes of the objects of collection.
All the attributes are consultable constantly by the user.
In the continuation of the document, for each attribute, one indicates:
· the reference symbol by which one can consult it,
· type FORTRAN of each attribute with following conventions:
Code
Type
Declaration FORTRAN
I
entirety
INTEGER
R
reality
REAL * 8
C
complex
COMPLEX * 16
L
logic
LOGICAL
Ki
character
CHARACTER * I
K *
chain
CHARACTER * (*)
2.1.2 Generic attributes
Attributes affected by the user (nonmodifiable after creation of the descriptor):
CLAS
K1
classify fastening of the object at a base of
data
GENR
K1
kind of the object:
· E variable simple
· V vector,
· NR repertory of names of the type K8, K16 or
K24.
TYPE
K1
type FORTRAN of the object:
I, R, C, L or K
LTYP
I
length of the type:
· managed automatically for types I,
R, C and L,
· standardized for the characters with the values
8, 16, 24, 32 and 80
length of the object:
LONMAX
I
component count of the object of kind V
NOMMAX
I
a maximum number of names of the object of kind NR
Modifiable attributes constantly by the user:
These attributes are not essential to the operation of the software package. They allow the user
to supplement the description of the objects JEVEUX which it handles.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
10/40
LONUTI
I
component count of the object of kind V
used
DOCU
K4
four free characters left with the user
Attributes affected and managed by the system and consultable by the user:
These attributes are described as information, it can be consulted at the time of the development of one
application (search for error,…).
NOMUTI
I
a number of names of the object of kind NR indeed
used
DATE
I
entirety comprising the month, the day, the year, the hour and
minutes of the completion of the work having carried out
last modification of the segment of values
(last unloading on the basis of data)
ORIG
K8
not used
IADM
I
address memory: relative position in the memory
JEVEUX of the segment of values
IADD
I
address disc
: the number contains of
the recording of the segment of values in
base data and the relative position in
the recording (stored in 2 entireties for
each object)
LONO
I
length in unit of addressing of the object (place
occupied by the segment of values measured in
length of the type)
USAGE
K16
use of an object JEVEUX: at the same time one contains
information on the use in writing or reading,
the state (déchargeable, removable,…) segment of
values when it is present in memory and them
trade marks at the time of the first request in
reading and in writing
The latter are used only in-house with JEVEUX.
2.1.3 Attributes of collection
Common attributes affected by the user or managed by the system:
The attributes common (CLAS, GENR, TYPE, LTYP, DOCU, etc) to the objects of collection are
accessible in the same way that the attributes from a simple object and answer the same rules.
Attribute affected and managed by the system and consultable by the user:
NUTIOC
I
a number of objects actually created in
collection
Note:
This attribute is updated only at the time of the call of the routine of creation of object of
collection JECROC.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
11/40
Attributes affected by the user and nonmodifiable:
ACCES
K *
type
access:
NOMME
or NUMEROTE (see
the assignment of this attribute by JECREC)
STOCKAGE
K *
Mode of storage of the values:
CONTIG: all the objects are contiguous in
segment of values
DISPERSE: the objects are filed with the fur and with
measure needs
MODELONG
K *
Mode of definition length of the objects of
collection:
CONSTANT: all the objects are of the same length
(attribute length of the object of reference)
VARIABLE: each object can have a length
different
L O NR T
I
overall length of a contiguous collection
NR MR. A X O C
I
numbers maximum objects of the collection
2.1.4 Attributes of the objects of collection
The rules of name of attribute of the objects of collection are the same ones as for the simple objects.
2.2
Associated data bases
With each class it is possible to associate a data base on disc. This possibility is not
by no means obligatory: one can work without writing and reading on disc (what can lead to
to saturate the memory available and to the stop with the application).
The number of classes on which one can work simultaneously is limited to 5. It is possible to open
or to constantly close a class during the application.
The opening of a preexistent data base makes it possible to recover the whole of information
stored on the latter. At the end of the work, it is possible to destroy a whole class.
A data base is a file of random access; it is defined by:
· a name of class (K1),
· a local name of the file (K8),
· a block length,
· a number of blocks.
Note:
In Code_Aster, all the classes are associated bases [§3.3].
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
12/40
2.3
The access to the values
The user reaches the values of an object JEVEUX by a relative address in a definite table
by one of variables FORTRAN of reference of the suitable type. These variables of reference (ZI,
ZR,…) are placed in standardized commun runs (cf Usage of JEVEUX [D2.06.01] [§ 5.1]).
Note:
The returned address remains valid as long as the user did not declare that it did not use any more the object.
Cut memory of work defined for work
Executable module
Zone managed by JEVEUX
System
Variables declared in
commun runs of reference
Address object of the K16 type
Address object of the type R
ZR
ZK16
LK16
LR
ZR (LR)
era
1 component of the values of the object of the real type
ZK16 (LK16 - 1 + I)
ième component of the values of the K16 object
2.4
Concepts of management of the memory
The access to objects JEVEUX is carried out by name. These names are stored in a simple object of kind
repertory of names accessible only by the software package and managed by a method of addressing
associative.
To order an application, the user must gather objects JEVEUX in one or more
classes opened as a preliminary. With each class a catalog is associated: it is the unit made up
repertory of names and attributes of objects JEVEUX of the class.
The class one of the attributes is defined in the creation of the descriptor of an object JEVEUX. The search of
name is carried out among all the classes open to this moment.
Note:
A name cannot thus appear more once among the unit of the open classes.
With each class, it is possible to associate a file of random access (or bases data), which
will contain at the end of the application, the descriptors and the segments of values of all objects JEVEUX
class. This type of file gives access quickly the various recordings, an index
describing the position of each one of them.
The exchanges between the main memory and the data bases associated with the classes are
entirely taken charges some by the software package. When the working area in main memory is saturated,
this one seeks, among the segments of values declared unutilised, the place necessary to
establishment of a segment of values whose presence in memory was claimed. In end
from application, all objects JEVEUX present in memory are discharged in the data base
associated, as well as the catalogs (simple objects “system”), which allows the re-uses
later.
The file of random access will be valid only if the index were brought up to date during closing, it is thus
essential to properly stop the application while passing by routine JEFINI.
Any segment of values in memory is framed by eight entireties (four front, four behind)
allowing to manage the chaining of the various segments of values, to indicate their use (free,
used in reading, déchargeable,….), to store the associated identifier, and to ensure a protection
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
13/40
partial with the overflows (the software package controls the integrity of the values contained by these entireties at the time
of any request).
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
14/40
2.5
Requests of use of the objects
Software package JEVEUX provides various subroutines and functions making it possible to manage all them
objects. The various following requests are distinguished:
· the creation of the descriptor of an object JEVEUX or an object of collection,
· the allowance of the object: search for place in memory for the segment of values associated,
initialization of the values or second reading on the basis of data, finally supply with the unit of
program appealing of a relative address of the segment of values compared to one
variable of reference Z *. This allowance can be only formulated in reading or in
read/write;
· consultation of the descriptor which makes it possible to recover the value of one dynamically
attribute;
· impressions of the descriptor, the segment of values, the catalog or the state of
memory managed by JEVEUX;
· the release which puts an end to the allowance of the object and returns the segment of values unutilised;
· destruction of the descriptor and the segment of values of an object JEVEUX or an object of
collection.
2.6
Characteristics of the collections
The dimensioning of a collection depends on its type. For each type, one describes it below
mode of definition of the segment (S) of values associated.
2.6.1 Contiguous collection variable length
One defines:
· that is to say the overall length of the segment of values by attribute LONT (overall length) of
collection. One can in this case create the collection and define (without particular command)
later on the length of each object before using it;
· that is to say the length of whole or part of the objects of the collection by giving the vector of
lengths managed by the user, or by bringing up to date the attribute length for each object,
overall length of the segment of values will be calculated by the software package.
name
attributes
1
2
3
4
LONT
contiguous collection variable length
Note:
· it is advised to define the length of all the objects of a contiguous collection before
first request of allowance in memory,
· the length of the segment of values LONT is fixed at the time of the first request of allowance
in memory,
· a contiguous collection variable length cannot thus be increased after the first
access,
· all the objects created in a contiguous collection are managed together,
· the associated segment of values can be used like a vector of values while being unaware of
cutting into object of collection.
2.6.2 Contiguous collection constant length
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
15/40
One defines the length common to all the objects of collection; the length of the segment of values
will be equal to the product constant length by the maximum number of objects of the collection.
2.6.3 Dispersed collection variable length
One defines:
· raising number of objects,
· the length of each object, progressively with the needs and without particular, front command
the allowance of the object.
Note:
The obstruction manpower of this type of collection is limited to the cumulated length of the objects
actually created.
name
attributes
dispersed collection variable length
Note:
For a dispersed collection, one can use an object (of which the length was defined) front
to have finished defining the whole of the objects.
2.6.4 Dispersed collection constant length
One defines:
· raising number of objects,
· the length common to all the objects.
2.7
Release of the segments of values
A request of access in reading or writing on a segment of values associated with an object JEVEUX
cause a loading in memory of the contents of the associated segment of values. When one manages
a finished memory capacity, it arrives one moment when it is not possible any more to find of place to charge
a new object. It is then necessary to cause unloadings on disc or to eliminate from the segments
values become useless. This mechanism cannot be completely taken charges some by JEVEUX:
programmer must have indicated the objects concerned as a preliminary. But some care must
to be observed: several units of program can use the same address simultaneously
memory associated with an object. The setting in memory of a segment of values is accompanied by
the assignment of a whole mark which measures the level of depth in the calls of under
programs for each new request. The release can be carried out only if the level of call to
this moment is identical to the mark associated with the segment with values. One calls current mark it
level of call in progress. The placement of this mechanism imposes a rule of use of JEVEUX
very strict: any routine which calls JEVEUO or WKVECT must carry out a call to JEMARQ like
first executable instruction and a call to JEDEMA like last executable instruction.
routine JEMARQ makes it possible to bring up to date the value of the current mark, by incrementing it of 1, affected
with all the segments of values charged later on. Routine JEDEMA releases all the segments
values associated with the current mark then décrémente the latter.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
16/40
Certain configurations tolerate exceptions to this rule: they are for example loops on
blocks of matrices. It is then necessary progressively to release the objects, it is the routine
JELIBE which is used in this case.
It is sometimes necessary to have permanently or all the length of a ordering of Code_Aster
certain objects (for Superviseur of execution, the coded material), of the specific requests are
used, which affects a special mark.
The value of the current mark can be consulted at any moment using routine JEVEMA.
3 Environment
of application
3.1
Print files
Impression of the descriptors, the segments of values, the catalog, the state of the managed memory
by JEVEUX and error messages is directed towards logical units defined in beginning
of application (cf § 3.3).
3.2
Assistance with the development
The errors met and detected by the software package cause the impression of an error message,
and in certain cases the data bases opened by the application close. The software package prints
then the state of the memory which it manages and catalogs of all the open classes.
Note:
JEVEUX uses its own routines of impression of messages different from those from
Code_Aster to avoid calls dynamically récurcifs.
All objects JEVEUX, backed up as a preliminary, are recoverable in a later execution.
3.3 Environment
Code_Aster
Three data bases are usable within the application of Code_Aster:
base “GLOBALE”
associated the class “G”
base “VOLATILE”
associated the class “V”
base “LOCALE”
associated the class “It
Note:
A fourth base of name “BASEELEM” is used to store and read again the catalog
compiled elements.
The impressions of error messages are carried out by the utilities of impression of message with
following conventions:
· programming error (misuse of JEVEUX): message of class “with
dead halt;
· error of exploitation (access to a non-existent object,…) : message of class “F” with attempt
of open data base closure.
Utilities of impression of error messages UT…. of Code_Aster can sometimes be
employees in order to communicate with Superviseur and to stop the code properly by validating them
concepts created. Names of print units indicated at the time of the call of the routines of impression
(JEIMPO, JEIMPR,…) are as follows:
· RESULTAT: results of calculation,
· MESSAGE: messages of control and error messages.
4
Provided subroutines and use
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
17/40
4.1 Preliminaries
In this chapter, one indicates by:
nom_os
a simple name of object
nom_co
a name of collection
nom_oc
a name of object of collection
num_oc
a number of object of collection
During the description of the arguments of the routines, one specifies the type of each argument and if it must
to be provided in input (in) or to be recovered at output (out). The modified arguments are announced by
(VAr).
4.2
Functions of access for the objects of collection
The access to objects JEVEUX and the objects of collection is carried out by name. In the case of one
named collection, it is necessary to pass, like argument, one of the two groups
information:
· the name of the collection and the name of the object of collection,
· the name of collection and the sequence number of the object of collection in the repertory.
To limit the number of routines user and to standardize the arguments of call, one introduced
functions of the type FORTRAN CHARACTER * 32. Those return a made up character string
name of collection and an interpretable suffix by the software package. They affect a commun run which
ensure the transfer towards the routine called of the name of object of collection, the sequence number in
repertory.
In order to synchronize well the call with the name of collection and the assignment of the commun run, it is
obligatory to call these functions in the arguments of the routines concerned.
Note:
These functions should be used only at the time of the call of a routine of request on one
object.
Functions of the type CHARACTER * 32 (to be declared in any subroutine of call):
The three following functions must be called only like argument of the routines
acting on objects of collection
CHARACTER * 32 FUNCTION JEXNOM (name, nom_oc)
in
name
K24
name of repertory or collection
in
nom_oc
K *
name of object of collection.
CHARACTER * 32 FUNCTION JEXNUM (name, num_oc)
in
name
K24
name of repertory or collection
in
num_oc
I
number of object of collection.
Example of use: CAL JEVEUO (JEXNUM (NOMCO, NUMO), “It, JTAB)
In the case of a contiguous collection, a function of the type FORTRAN CHARACTER * 32 is used for
to reach the vector cumulated lengths.
This vector of entireties contains n+1 values for a collection of N objects: component VI of it
vector provides the relative address of object I in the segment of values of the collection; the length
from this object is obtained by the Vi+1 difference - VI.
CHARACTER * 32 FUNCTION JEXATR (nom_co, arg)
in
nom_co
K24
name of collection
in
arg
K8
“LONCUM”
Notation: one will indicate, from now, a name of object JEVEUX, or a call to the one of these
functions within the arguments of a routine by nom_o.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
18/40
4.3
The creation of the descriptors
The descriptor of a simple object or a collection is created in general by several calls.
first call makes it possible to create the descriptor by defining the name of object JEVEUX, and while indicating
values of the obligatory attributes (nonmodifiable later on):
· the class of fastening,
· the kind,
· the type.
In the case of a collection, one must define moreover:
· the access,
· storage,
· mode of definition length,
· the maximum number of objects.
Creation of the simple descriptor of object
SUBROUTINE JECREO (nom_os, lis_at)
in
nom_os
K24
simple name of object.
in
lis_at
K *
text defining CLAS GENR TYPE and if need be LTYP,
when it is provided, the length of the type must be stuck to
type.
For example: “G V K16”. The first character must be not white, at least a white separates each
value of attribute; the capital letters are obligatory.
Creation of the descriptor of collection
SUBROUTINE JECREC (nom_co, lis_at, access, stock, modlon, nmaxoc)
in
nom_co
K24
name of collection
in
lis_at
K *
text defining CLAS GENR TYPE and if need be LTYP,
when it is provided, the length of the type must be stuck to
type.
in
access
K *
“NO”: collection named with repertory interns (names of 8
characters to the maximum), objects of collection created by name
and accessible then by name or number
“NO nom_repertoire”: named collection using an object
simple of kind NR provided by the user and shareable enters
several collections, objects of collection created, by name,
are accessible by name or number (only one white must
to separate NO from nom_repertoire).
“NAKED”: sequentially numbered collection, objects of
collection are accessible only by number
in
stock
K *
mode of storage of the collection:
· “CONTIG” contiguous objects of collection in the segment
values,
· “DISPERSE” independent objects of collection ones
others.
in
modlon
K *
mode of definition length of the objects of collection
· “CONSTANT”: all the objects of the collection are of
identical length;
· “VARIABLE”: each object of the collection can
to have a different length;
· “nom_vecteur_longuor”: each object can have
a different length, definite like component
of a simple object of kind V managed by the user and
shareable between several collections
in
nmaxoc
I
numbers maximum objects of the collection
Note:
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
19/40
It is strongly advised not to use names “CONSTANT” and “VARIABLE” like
name of object JEVEUX.
Assignment of an attribute (after creation of the descriptor)
It is often necessary to supplement the assignment of the attributes of the descriptor (definition of
length of a vector, overall length of a collection,…).
SUBROUTINE JEECRA (nom_o, nom_at, ival, cval)
in
nom_o
K24
name of object JEVEUX
in
nom_at
K *
name of attribute (cf annexes C: list attributes).
in
ival
I
whole value for an attribute of the whole type.
in
cval
K *
text for an attribute of the type CHARACTER.
Note:
The two arguments ival and cval are obligatory and cval must be different from the chain
vacuum.
CALL JEECRA (nom_o, “DOCU”, 0, “JPJP”)
CALL JEECRA (nom_o, “LONMAX”, 500, K8BID)
4.4 Insertion of a name in a repertory or creation of an object of
collection
It is the same routine which is used to create a name of object of collection and to insert a name
in a simple object of repertory kind.
SUBROUTINE JECROC (JEXNOM (nom_o, name))
in
nom_o
K24
simple name of object of repertory kind,
or name of named collection
in
name
K *
name of object to be inserted in the repertory,
or name of object of collection
SUBROUTINE JECROC (JEXNUM (nom_co, num_oc))
in
nom_co
K24
name of collection
in
num_oc
I
number of object of collection
Note:
For a numbered collection, this call brings up to date attribute NUTIOC.
4.5
The request of allowance
It is via routine JEVEUO that the user recovers a relative address by
report/ratio with a variable Z * measured in the length of the type of object JEVEUX. That allows him
then to use the associated segment of values.
At the time of this call if the segment of values is not present in memory, the software package carries out one
search for place in main memory. If object JEVEUX does not have an image on disc, the segment
values is initialized according to the type of the object (zero or white). In the contrary case one recovers on
disc preceding values.
One calls use the condition of access (“E” or “It) to the segment of values.
The segment of values remains allocated with the affected use as long as the user did not carry out
new request and as long as the call to JEDEMA on the good level was not carried out. A request in
writing on an object allocated in reading will modify the use of it. A request in reading on an allocated object
in writing will not affect the use.
SUBROUTINE JEVEUO (nom_o, concealment, jtab)
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
20/40
in
nom_o
K24
access to the segment of values defined by:
nom_os: simple object,
nom_co: contiguous collection,
JEXNOM (nom_co, nom_oc): object of named collection,
JEXNUM (nom_co, num_oc): object of numbered collection,
JEXATR (nom_co, “LONCUM”) vector cumulated lengths
of contiguous collection.
in
concealment
K * 1
condition of access or use of the segment of values,
“E” in read/write (allows to modify the segment of values),
“In reading (not of modification of the segment of values).
out
jtab
I
address first value of the object in table FORTRAN
associated variable Z * corresponding to the type of the object
For a table, for example of vector kind and real type, one can use, indifferently, the object
JEVEUX, as of its allowance, in:
· reaching directly the ième value by:
ZR (jtab-1+I),
· passer by its address with an unspecified routine by:
ZR (jtab).
Note:
· It is dangerous to transmit the value of the address relating jtab directly to one
routine;
· request JEVEUO is prohibited on the objects of repertory kind.
4.6
The request of permanent allowance during a command
JEVEUT makes it possible to allocate objects JEVEUX in their affecting a mark different from the mark
current being worth - 1. The objects will not be affected by the calls to JEDEMA but will have to be
released explicitly by a call to JELIBZ.
The syntax of call is identical to that of JEVEUO.
4.7
The request of permanent allowance during the execution
This request is exclusively reserved for Superviseur. JEVEUS makes it possible to allocate objects
JEVEUX in their affecting a mark different from the current mark being worth - 3. They will not be released
that at the end of the execution.
The syntax of call is identical to that of JEVEUO.
4.8
Surcouche of creation and allowance of an object of vector kind
WKVECT is a surcouche JEVEUX making it possible to allocate a vector (creation and presence in
memory), it allows “the economy” of the call to three subroutines JEVEUX.
SUBROUTINE WKVECT (nom_os, lis_at, length, jtab)
in
nom_os
K24
simple name of object
in
lis_at
K *
text defining CLAS GENR TYPE LTYP, GENR is worth here
obligatorily V.
in
length
I
whole value associated the attribute LONMAX, length of
vector.
out
jtab
I
address first value of the object in the table
FORTRAN associated with variable Z * corresponding to the type with
vector.
The allowance of the object is carried out by defect as a first writer (cel=' E').
Note:
· no object of name nom_os must exist in the bases (under penalty of stop of
program JEVEUX).
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
21/40
Example of use:
Allowance on basis VOLATILE (V) of a vector of work (V) of REAL * 8 (R) length
100; the name of the table is &&OP000.TAMPON.
CAL WKVECT (“&&OP000.TAMPON”, “V V R”, 100, LDEC)
4.9
Surcouche of enlarging of an object of vector kind
SUBROUTINE JUVECA (nom_os, length, jtab)
in
nom_os
K24
simple name of object
in
length
I
new value associated with the attribute LONMAX, length of
vector.
VAr
jtab
I
address first value of the object in the table
FORTRAN associated with variable Z * corresponding to the type with
vector.
This routine makes it possible to modify the size of a simple object of vector kind. The new vector is
affected with the same class as the old one.
Note:
· the object must be in memory (call to preliminary JEVEUO),
· attribute LONUTI is affected with the same value as LONMAX,
· the values are recopied,
· the value of the shift jtab is modified.
4.10 Recopies of objects JEVEUX
Recopy of an object JEVEUX (simple object, collection or object of collection):
SUBROUTINE JEDUPO (nom_cli, nom_in, nom_clo, nom_ou, dup_co)
in
nom_cli
K1
name of the class of the object to be recopied (``)
in
nom_in
K24
name of object JEVEUX to be recopied
in
nom_clo
K1
name of the class of the object receptacle (``)
in
nom_ou
K24
name of object JEVEUX receptacle
in
dup_co
L
used only for the collections if the classes are
different,
if =.TRUE. : one recopies the external pointers with one
collection,
if =.FALSE. : the external pointers are preserved
Note:
The receptacle object is destroyed if there exists before.
Recopy of a whole of objects JEVEUX:
Instead of working on only one object, it is possible to provide to certain routines a chain of
characters being used to select the objects JEVEUX whose name contains this chain.
SUBROUTINE JEDUPC (nom_cli, souchi, ipos, nom_clo, soucho, dup_co)
in
nom_cli
K1
name of the class of the objects to be recopied
in
souchi
K *
character string to be identified in the names of objects
in
ipos
I
position in the names of the chain to be identified
in
nom_clo
K1
name of the class of the receptacles objects
in
soucho
K *
chain to substitute in names origins to obtain the name
object JEVEUX receptacle
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
22/40
in
dup_co
L
used only for the collections if the classes are
different,
if =.TRUE. : one recopies the external pointers with one
collection,
if =.FALSE. : the external pointers are preserved
4.11 Requests of release
These requests lead to a writing on disc (differed or not) according to the condition of access
chosen at the time of the request of allowance and the rules of release [§2.3]:
one calls release the stop of the request in progress on an object JEVEUX:
· end of a writing, with writing differed on disc,
· end of reading, which does not imply any writing on disc.
The releases are carried out at the time of the call to JEDEMA. The calls to routine JELIBE are in rule
general prohibited.
Note:
The access in reading makes it possible to avoid the writings on disc at the end of the use (saving of time).
Management of the access:
The access permissions affected at the time of the first call to JEVEUO in reading or writing are
managed using the following routine:
SUBROUTINE JEMARQ ()
JEMARQ increments the value of the current mark. Its call is obligatory in any unit of
program charging in memory of objects JEVEUX.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
23/40
Implicit release of all the objects in charge in a unit of programming
SUBROUTINE JEDEMA ()
JEDEMA releases all the affected objects of the current mark and décrémente the value of the mark
current. Its call is obligatory in any unit of program charging in memory of the objects
JEVEUX.
Release of an object JEVEUX or an object of dispersed collection:
SUBROUTINE JELIBE (nom_o)
in
nom_o
K24
name of object JEVEUX (object simple, collection or object of
dispersed collection)
Its call is tolerated under certain conditions.
Release of the whole of objects JEVEUX:
SUBROUTINE JELIBZ ()
The call to this routine causes the release of the whole of the objects JEVEUX which were charged in
memory by a call to JEVEUT (they are affected of a mark being worth - 1).
4.12 Requests of existence
The requests of existence make it possible to check the existence of the descriptor of an object JEVEUX or one
object of collection, but also the presence of a name in a repertory. They also allow
to recover the sequence number of a name in a repertory of names.
Existence of an object JEVEUX or an object of collection:
SUBROUTINE JEEXIN (nom_o, iret)
in
nom_o
K24
name of object JEVEUX
out
iret
I
code return of the routine
iret = the 0 descriptor of the object does not exist,
iret the 0 descriptor exists
4.13 The passage of the sequence number to the name and screw poured
Obtaining the sequence number starting from the name:
SUBROUTINE JENONU (JEXNOM (nom_o, name), num)
in
nom_o
K24
name of collection or simple object of repertory kind
in
name
K *
name of object of collection or name
out
num
I
num = the 0 descriptor of the object does not exist,
num the 0 descriptor exists
Note:
· If the sought name does not appear in the repertory, the returned number is 0.
· This call is useless in the case of a numbered collection.
Obtaining the name starting from the sequence number:
SUBROUTINE JENUNO (JEXNUM (nom_o, num), name)
in
nom_o
K24
name of collection or simple object of repertory kind
in
num
I
sequence number of insertion
out
name
K
name = name of the object corresponding to the number num
Note:
· If the sought number does not appear in the repertory, the returned name is white.
· This call is impossible in the case of a numbered collection.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
24/40
4.14 Destruction of the descriptors
It is possible to destroy the descriptor of an object JEVEUX and by extension the name and the attributes
of an object of collection. This destruction is accompanied by the destruction of the segments by
values associated present in memory and returns inaccessible those present on disc.
SUBROUTINE JEDETR (nom_o)
in
nom_o
K24
name of object JEVEUX (object simple, collection or object of
named collection)
The place released in the catalog or the repertory of names becomes immediately reusable for
another descriptor. The place, possibly used on disc, will be recoverable only by one
operation of “retassage” of the file.
Note:
· It is not possible to destroy an object of numbered collection,
· for a named collection, the destruction of an object brings up to date attribute NUTIOC.
One can also use the following routine to destroy a whole of descriptors.
SUBROUTINE JEDETC (nom_cl, souch, ipos)
in
nom_cl
K1
name of the class or ``to treat all the classes
opened.
in
souch
K *
character string to be identified in the whole of the names
contents in the repertory of one or more classes.
in
ipos
I
position in the name of the chain to be identified.
One seeks all the descriptors whose name contains under chain souch with the position ipos
in the classes defined by the parameter nom_cl and one destroys the descriptors thus located.
It is preferable to use routine JEDETR when one explicitly knows the name of the objects with
to destroy, the call in a loop or a routine of low level can prove very expensive.
4.15 The recovery of the size of the storage areas available
SUBROUTINE JEDISP (nbp, lplace)
in
nbp
I
a number of sought positions.
in
lplace
V_I
cut in unit of addressing of the various zones available.
JEDISP returns, by descending order in the vector of entireties lplace, the size of the nbp more
great segments of liquid assets for an allowance (JEVEUO), at the moment of the call.
values obtained remain valid under the condition of the only use of the requests of allowance concerning
segments of values lower or equal lengths.
Thus lplace (1) returns the size of the largest object than one could allocate, lplace (2) that of
larger object than one could allocate after having used the zone corresponding to lplace (1).
Note:
The allowance of a collection can involve the loading in memory of the attributes objects and
to make thus null and void the values obtained by JEDISP.
4.16
consultations
Reading of an attribute of an object JEVEUX or an object of collection
SUBROUTINE JELIRA (nom_o, nom_at, ival, cval)
in
nom_o
K24
name of object JEVEUX
in
nom_at
K *
name of attribute (cf annexes C: list accessible attributes)
out
ival
I
whole value for an attribute of the whole type.
out
cval
K *
text for an attribute of the character type.
Note:
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
25/40
In addition to the attributes described with [§2], it is possible to recover with value XOUS the type
of object JEVEUX associated with the descriptor, “S” simple object, “X” collection.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
26/40
Reading of the value of the current mark
SUBROUTINE JEVEMA (mark)
out
mark
I
value of the current mark
Search of the list of the names of descriptors present in a class
SUBROUTINE JELSTC (nom_cl, souch, ipos, nbmax, l_nom, nbval)
in
nom_cl
K1
name of the class or ``to treat all the classes
opened.
in
souch
K *
character string to be identified in the whole of the names
contents in the repertory of a class.
in
ipos
I
position in the name of the chain to be identified.
in
nbmax
I
dimension of the vector of K24 provided below
VAr
l_nom
V_K24
vector containing the list of the identifiers answering
search key
out
nbval
I
numbers maximum identifiers answering the criterion of
seek
nbval = - nbval if nbval > nbmax
4.17
impressions
Several routines make it possible to print the contents of an object JEVEUX or an object of collection,
to print the attributes, to print out of the memory managed by JEVEUX (objects present, position,
cut, etc), to print the catalog of a class, or to consult the state of a data base.
Impression of the contents of an object JEVEUX or an object of collection
SUBROUTINE JEIMPO (cfic, nom_o, param, cmess)
in
cfic
K *
text defining the local name of the print file, with the center
of Code_Aster one will use “MESSAGE” or “RESULTAT”
in
nom_o
K24
name of object JEVEUX
in
param
K *
not currently used (white ``obligatory)
in
cmess
K *
text appearing in comment with the impression
Impression of all the attributes of an object JEVEUX or an object of collection
SUBROUTINE JEIMPA (cfic, nom_o, cmess)
in
cfic
K *
text defining the local name of the print file, with the center
of Code_Aster one will use “MESSAGE” or “RESULTAT”
in
nom_o
K24
name of object JEVEUX
in
cmess
K *
text appearing in comment with the impression
Impression of the catalog
SUBROUTINE JEIMPR (cfic, nom_cl, cmess)
in
cfic
K *
text defining the local name of the print file, with the center
of Code_Aster one will use “MESSAGE” or “RESULTAT”
in
nom_cl
K1
name of class or ``to treat all the classes
opened
in
cmess
K *
text appearing in comment with the impression
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
27/40
Impression of the state of the zone memory managed by JEVEUX
SUBROUTINE JEIMPM (cfic, cmess)
in
cfic
K *
text defining the local name of the print file, with the center
of Code_Aster one will use “MESSAGE” or “RESULTAT”
in
cmess
K *
text appearing in comment with the impression
Routine JEIMPM makes it possible to publish the contents of zone memory managed at the time of the call. Here
in the order significance of the values appearing with the impression:
· name in summary of the class associated with the object,
-
G bases GLOBALE,
-
V bases VOLATILE,
-
L bases LOCALE,
· identifier of collection, if the latter is worth 0, it is a simple object,
· simple identifier of object or number of object of collection,
· address memory of the segment of value,
· use of the segment of value, is worth U or X,
· length in unit of addressing (whole 8 bytes on CRAY) of the segment of values,
· statute of the segment of value, is worth D, A or X,
· name of the object, follow-up possibly of the number of object of collection.
Possible combinations of the statute and the use of a segment of values, like their
significance are as follows:
U D:
segment of values used, in access in writing and possibly in reading. It will have
to be discharged on disc.
U A:
segment of values used, in access in reading. It will not be discharged on disc.
X D:
unutilised segment of values, déchargeable: it will have to be discharged on disc. One
request in writing or reading on the associated object returns its position directly
without movement report and access disc. Its position can be recovered with all
moment to place a new segment of values at the price of an access disc
(origin: E U or L D).
X A:
segment of values unutilised, removable. A request in writing or reading on the object
associated its position without movement report and access returns directly
disc. Its position can be recovered constantly to place new
segment of values without access disc (origin: E U, L U, L D or X D).
X X:
unutilised segment of values, free zone (origin: all others).
Example of impression obtained:
CL- --NUM-- --KADM-- - US - LON UA - - ST ------------- NOM --------------
G
0
1
8 U
7
D
________GLOBALE ________$$CARA
G
0
17
22 U
3002
D
________GLOBALE ________$$PEPL
G
0
18
3031 U
2048
D
________GLOBALE ________$$INDX
….
L
23
1 548208 U
U
D
&&SYS CD.NUMERO
1
L
28
1 548217 X
48
D
&&SYS CD.NOM_EXTERNE
1
L
36
1 548272 X
48
D
&&SYS CD.DESCRIPTEURS
1
L
44
1 548327 X
115
D
&&SYS CD.POINTEURS
1
L
23
2 548449 X
2
D
&&SYS CD.NUMERO
2
L
28
2 548458 X
44
D
&&SYS CD.NOM_EXTERNE
2
L
36
2 548509 X
44
D
&&SYS CD.DESCRIPTEURS
2
L
44
2 548560 X
105
D
&&SYS CD.POINTEURS
2
G
0
29 548672 U
5010
D
&&SYS
RESULT.USER
V
310
1 553689 X
112896
With
&&MERIGI.ME001
.RESL
1
0
0 666592 X
1592
X
<<<<
LIBRE
>>>>
…
Impression of the list of objects JEVEUX present in a data base:
SUBROUTINE JEIMPD (cfic, nom_cl, cmess)
in
cfic
K *
text defining the local name of the print file, with the center
of Code_Aster one will use “MESSAGE” or “RESULTAT”
in
nom_cl
K1
name of class or ``to treat all the classes
opened
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
28/40
in
cmess
K *
text appearing in comment with the impression
This routine publishes the catalog of objects JEVEUX present on disc.
Impression of the attributes objects of collection and the objects managed by the system.
SUBROUTINE JEPRAT (cfic, name, nom_at, param, cmess)
in
cfic
K *
text defining the local name of the print file, with the center
of Code_Aster one will use “MESSAGE” or “RESULTAT”
in
name
K24
name of object JEVEUX or name of class preceded by
character
$
in
nom_at
K8
name of the attribute or suffix of the system object to be printed.
nom_at takes its values among the following list:
for a collection
$$DESO, $$IADD, $$IADM, $$PEPL, $$NOM,
$$REEL, $$LONG, $$LONO, $$LUTI, $$NUM.
for a whole class
$$CARA, $$IADD, $$GENR, $$TYPE, $$ETAT,
$$DOCU, $$ORIG, $$RNOM, $$LTYP, $$LONG,
$$LONO, $$DATE, $$LUTI, $$HCOD, $$PEPL,
$$INDX, $$TLEC, $$TECR, $$IADM
in
param
K *
not currently used (white ``obligatory)
in
cmess
K *
text appearing in comment with the impression
Note:
This routine is a utility reserved for the assistance.
4.18
utilities
The following utilities were written to copy or for réinitialiser parts of objects simple or
objects of collection.
White or restoring following the type of object JEVEUX.
SUBROUTINE JERAZO (nom_o, N, i1)
in
nom_o
K24
name of object JEVEUX
in
N
I
a number of values with réinitialiser
in
I1
I
index in the vector of the first value with réinitialiser
4.19 A utility of debugging
A bad use of the address returned by routine JEVEUO can lead to a crushing
memory, and in particular with the destruction of the chaining of the segments of values. The programmer can
in this case to try to locate the routine provocative crushing by instrumenting its source code
with calls to JXVERI. This routine follows the chain of the entireties present in front of each segment
values and indicating the address of the following: at the time of a overflow this value is in general
crushed. Moreover, it is called upon the routine system HPCHECK checking the state of the allotted zones
during the initial dynamic allocation what makes it possible to detect an incursion out of the zone
licit memory.
SUBROUTINE JXVERI (cfic, cmess)
in
cfic
K *
text defining the local name of the print file, with the center
of Code_Aster one will use “MESSAGE” or “RESULTAT”
in
cmess
K *
text appearing in comment with the impression
This routine transmits two messages, the first concerning the integrity or not of the chaining, the second
printing the code return of the routine system CRAY HPCHECK.
4.20 Routines of initialization used by the supervisor
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
29/40
The use of objects JEVEUX is not possible that after the initialization which requires to define:
· the maximum number of data bases, which one will be able to manage simultaneously,
· size of the zone memory managed by JEVEUX, which will be allocated dynamically.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
30/40
This initialization is obligatorily carried out by the supervisor within commands DEBUT or
POURSUITE using the routine JEDEBU, which creates, automatically, all the system objects
necessary:
SUBROUTINE JEDEBU (nbases, lzone, cmess, cvig, idebug)
in
nbases
I
maximum numbers of simultaneous data bases (5)
in
lzone
I
memory size allocated in unit of addressing
in
cmess
K *
local name of the print file of the error messages
in
cvig
K *
not used
in
idebug
I
used for an operation in debug mode
idebug = 0 normal operating mode
idebug = 1 engaged debug JEVEUX
When application JEVEUX is initialized, it is important to open the classes of objects on which one
wish to work. To open a class, it is necessary to specify its characteristics: presence
or not of an associated file, name of the class, name of the data base associated, characteristics
file, etc… In mode DEBUG the operation of the manager of memory is modified, them
unloadings on disc are not differed any more and memory occupied by a segment places it of
values is positioned with an indefinite value (UNDEF on CRAY, NaN under Solaris). This mode of
operation is used for déverminer code: the use of an address corresponding to one
segment of values released causes a brutal stop.
SUBROUTINE JEINIF (stin, stout, nom_bas, nom_cl, nmax, nbloc, lbloc)
in
stin
K *
text defining the statute at the beginning of work:
·“DUMMY” not of associated file
·“DEBUT” initialization or restoring of one
existing class
·“POURSUIT” recovery of the contents of one
existing class
in
stout
K *
text defining the statute at the end of the work:
·“SAUVE”
back up on file in end
of application
·“DETRUIT” destruction of the class in end
of application
in
nom_bas
K *
local name of the data base (example: “GLOBALE”,
“VOLATILE”)
in
nom_cl
K1
name of the associated class (example: “G”, “V”)
in
nmax
I
numbers maximum names of objects JEVEUX in the class
in
nbloc
I
numbers maximum recordings of the file of access
direct associated
in
lbloc
I
length of the recordings of the file of random access
associated
Note:
A class can be opened or closed constantly, to amount of the number
maximum of classes gérables simultaneously.
To close a class, in the course of application:
SUBROUTINE JELIBF (cond, nom_cl)
in
cond
K *
text allowing to overload the definite value of stout
in JEINIF
·“SAUVE” with immediate backup on file
·“DETRUIT” with immediate destruction
in
nom_cl
K *
name of the class to close (example: “G”, “V”)
Lastly, it is obligatory to call upon the routine of closure the application which carries out closing
of all the still open classes after backup of objects JEVEUX and the catalogs
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
31/40
present in memory and the application by instruction FORTRAN STOP stops. This routine is called with
center of command FIN by the supervisor.
SUBROUTINE JEFINI (cond)
in
cond
K8
condition of fence:
·“NORMAL” backs up according to the definite value of stout
in JEINIF
·“ERREUR” backs up opened classes, for
possible later analysis
Note:
· it is the only STOP usable in all the application to be able to re-use the bases of
data.
· a user must call this routine to stop his application after detection of one
error with cond = “ERREUR”,
· within Code_Aster a stop with the condition cond = “ERREUR” does not authorize
update of base GLOBALE in the repertory of the user, the concepts created
not having been validated.
SUBROUTINE JETASS (nom_cl)
in
nom_cl
K1
name of the associated class (example: “G”, “V”)
This routine is intended to recover the recordings become unutilised following
destruction of associated objects JEVEUX. That relates to only the large objects, i.e. those which
require at least a recording of the file of random access. The only effect is to reorder
sequentially the recordings, the effective recovery of the place must then be carried out
by recopying the beginning of the file of random access, only the supervisor of Aster can carry out this action.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
32/40
5 Examples
of use
One will suppose, in this part, to have placed itself in an environment of application (for example that
ASTER) and to have opened the data bases associated with the classes G, V and L. One will not mention
that the calls to routines JEVEUX, the declarations and common FORTRAN are omitted.
5.1
Creation and re-use of a vector of reality
That is to say the following problem:
one wants to create (in routine SUBA) a vector of real containing co-ordinates X and Y of No
nodes. One will call this vector “COORDO_XY” and one will re-use it in routine SUBB.
SUBROUTINE
SUBA
(...)
…
COMMON/
RVARJE
/
ZR (1)
C
-
Beginning of the instructions:
(A)
CAL JEMARQ ()
C
-
Allowances of the vector on basis “GLOBALE”:
(b)
CALL WKVECT (“COORDO_XY”, “G V R”, 2 * No, JTAB)
C
-
“filling of the vector”
C 1 ino = 1, No
ZR (JTAB - 1 + 2 * (INO-1) +1) = X
ZR (JTAB - 1 + 2 * (INO-1) +2) = Y
1
CONTINUE
(c)
CAL JEDEMA ()
END
SUBROUTINE
SUBB
(...)
…
COMMON/
RVARJE/
ZR (1)
C
-
Beginning of the instructions:
(D)
CAL JEMARQ ()
C
-
Recovery of the address of the vector (in reading):
(E)
CAL JEVEUD (“COORDO_XY”, “It, JTAB)
C
-
Recovery of the co-ordinates of the 27th node:
X27 =
ZR (JTAB - 1 + 2 X 26 + 1)
Y27 =
ZR (JTAB - 1 + 2 X 26 + 2)
…
(F)
CAL JEDEMA ()
END
Comments:
· lines (A), (c), (D), (E): routines JEMARQ/JEDEMA make it possible to release automatically
objects at the end of the routines [§4.11],
· line (b):
-
“G V R”:
“G”: base “Globale” (bases data of the user cf [§3.3])
“V”: vector,
“R”: reality,
-
2 * No: length of the vector
-
JTAB: address object in table ZR of common RVARJE
· line (E)
-
“It: access in “reading” of the object (cf [§4.5]).
5.2
Creation of a repertory of names and insertion of two names
CAL JECREO (“MES_NOMS”, “G NR K8”)
CAL JEECRA (“MES_NOMS”, “NOMMAX”, 25, K8BID)
C
CAL JECROC (JEXNOM (“MES_NOMS”, “NOM_1”))
CAL JECROC (JEXNOM (“MES_NOMS”, “NOM_5”))
C
CAL JELIRA (“MES_NOMS”, “NUTIOC”, IVAL, K8BID)
CAL JENONU (JEXNOM (“MES_NOMS”, “NOM_5”), NUM)
CAL JENUNO (JEXNUM (“MES_NOMS”, 1), NAME)
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
33/40
The call to JENONU returns value 2 in variable NUM, the call to JENUNO returns the value
“NOM_1” in variable NOM.
5.3
Dispersed collection of vectors of entireties
The objects of this collection are named in the repertory, managed by the user and created in
the preceding example; they are variable length.
One adds a name with repertory “MES_NOMS” used by the collection and one defines the length of 2
vectors.
CAL JECREC (“MA_COLL”, “G V I”, “NO MES_NOMS”, “DISPERSES”, “VARIABLE”, 25)
CAL JECROC (JEXNOM (“MA_COLL”, “NOM_13”))
CAL JEECRA (JEXNOM (“MA_COLL”, “NOM_13”), “LONMAX”, 125, K8BID)
CAL JEECRA (JEXNOM (“MA_COLL”, “NOM_1”), “LONMAX”, 250, K8BID)
In another routine, one uses the object “NOM_13” which has been just created:
CAL JEVEUO (JEXNOM (“MA_COLL”, “NOM_13”), “E”, JTAB)
CAL JELIRA (JEXNOM (“MA_COLL”, “NOM_13”), “LONMAX”, LNOM13, CVAL)
C
C 10 K = 1, LNOM13
ZI (JTAB - 1 + K) = K
10 CONTINUE
.
CAL JEDETR (JEXNOM (“MA_COLL”, “NOM_13”))
One will notice, in these two examples, the two manners of creating a name of object of collection in
using the call to JECROC:
· on the repertory of names “MES_NOMS”,
· on the name of collection, which uses the same repertory.
Attribute NUTIOC of the collection is updated at the same time as that of the simple object
“MES_NOMS”. The last instruction destroys the object of collection “NOM_13” and the name in
repertory “MES_NOMS”.
5.4
Contiguous collection of vectors of entireties
The objects of this collection are named in the repertory of names “MES_NOMS”, already used for
two preceding examples. They have a variable length defined by a vector lengths
“LONGUEURS” managed by the user.
In a first routine, one creates the collection and one adds an object “NOM_24”
CAL JECREC (“MA_COLL”, “G V I”, “NO MES_NOMS”, “CONTIG”, “LENGTHS”, 25)
CAL JECROC (JEXNOM (“MA_COLL”, “NOM_24”))
In another routine, one defines the length of objects 2 to 25, equal to the number of insertion of
the object:
CAL JEVEUO (“LENGTHS”, “E”, JTAB)
C
C 10 I = 2, 25
ZI (JTAB - 1 + I) = I
10
CONTINUE
In another routine, one defines the length of object 1 (equalizes to 50), and one reaches all
ième
collection to define the 13
component of the first object:
CAL JEECRA (JEXNUM (“MA_COLL”, 1), “LONMAX”, 50, K8BID)
C
CAL JEVEUO (“MA_COLL”, “E”, JTABC)
K = 13
ZI (JTABC - 1 + K) = .....
ième
In another routine, one allocates the 2
object to define all its components:
CAL JEVEUO (JEXNUM (“MA_COLL”, 2), “E”, JTABOC)
CAL JELIRA (JEXNUM (“MA_COLL”, 2), “LONMAX”, L2, K8BID)
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
34/40
C 20 K = 1, L2
ZI (JTABOC - 1 + K) = .....
20 CONTINUE
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
35/40
ième
In another routine, one allocates the whole collection to define the first component of the 3
object, which one reaches by the vector cumulated lengths:
CAL JEVEUO (“MA_COLL”, “E”, JTABC)
C
CAL JEVEUO (JEXATR (“MA_COLL”, “LONCUM”), “E”, JTABCU)
C
IOBJ = 3
IAD = ZI (JTABCU - 1 + IOBJ)
ZI (JTABC - 1 + IAD) = .....
One will notice the two manners which make it possible to define the length of an object of collection:
· by using the call to JEECRA,
· by directly affecting the value in the vector lengths.
The first request with JEVEUO (within the last framework) carries out an access to the contiguous collection
broadly and thus the address of the first object returns, with load for the user to move by
report/ratio at this address to reach a particular object.
The second request gives access directly an object of collection and returns the address of this
object.
In the last example, one recovers the cumulated lengths of the objects of the collection, which
allows the user to thus reach any object, without multiplying requests JEVEUO.
Note:
In the three cases, all the objects of the contiguous collection are present in memory.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
36/40
6
Appendix 1: list subroutines “user”
Functions of the type CHARACTER * 32
JEXNOM (nom_co, nom_oc)
JEXNUM (nom_co, num_oc)
JEXATR (nom_co, “LONCUM”)
Creation of the descriptors
CAL JECREO
(nom_os, lis_at)
CAL JECREC
(nom_co, lis_at, access, stock, modlon, nmaxoc)
Assignment of an attribute
CAL JEECRA
(nom_o, nom_at, ival, cval)
Creation of a name in a repertory of names
CAL JECROC
(JEXNOM (nom_os, name))
Creation of an object of collection
CAL JECROC
(JEXNOM (nom_co, nom_oc))
Request of allowance
CAL JEVEUO
(nom_o, concealment, jtab)
CAL WKVECT
(nom_o, lis_at, length, jtab)
Enlarging of a vector
CAL JUVECA
(nom_os, length, jtab)
Recopy
CAL JEDUPO
(nom_cli, nom_in, nom_clo, nom_ou, dup_co)
CAL JEDUPC
(nom_cli, souchi, ipos, nom_clo, soucho, dup_co)
Requests of release and backup
CAL JEMARQ ()
CAL JEDEMA ()
CALL JELIBE (nom_o)
CAL JELIBZ ()
Request of existence
CALL JEEXIN (nom_o, iret)
To check the existence of a name and to obtain its sequence number
CALL JENONU (JEXNOM (nom_o, name), num)
To obtain the name associated with a sequence number
CALL JENUNO (JEXNUM (nom_o, num), name)
Destruction of the descriptors
CALL JEDETR (nom_o)
CALL JEDETC (nom_cl, souch, ipos)
Place available
CALL JEDISP (nbp, lplace)
Consultations
CALL JELIRA (nom_o, nom_at, ival, cval)
CALL JELSTC (nom_cl, souch, ipos, nbmax, l_nom, nbval)
CALL JEVEMA (mark)
Impressions
CALL JEIMPO (cfic, nom_o, param, cmess)
CALL JEIMPA (cfic, nom_o, cmess)
CALL JEIMPR (cfic, nom_cl, cmess)
CALL JEIMPM (cfic, cmess)
CALL JEIMPD (cfic, nom_cl, cmess)
CALL JEPRAT (cfic, name, nom_at, param, cmess)
Réinitialiser N values of a vector
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
37/40
CALL JERAZO (nomlu, nor, i1)
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
38/40
Debugging
CALL JXVERI (cfic, cmess)
Implementation and environment of exploitation (reserved for Superviseur)
CALL JEDEBU (nbases, lzone, cmess, cvig, idebug)
CALL JEINIF (stin, stout, nom_base, nom_cl, nmax, nbloc, lbloc)
CALL JELIBF (cond, nom_cl)
CALL JEFINI (cond)
CALL JETASS (nom_cl)
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
39/40
7
Appendix 2: list accessible attributes
Following coding is used:
With
allocatable and nonmodifiable attribute (by
JECREO,
JECREC or JEECRA)
then
M
modifiable attribute
(by JEECRA)
C
consultable attribute only
(by JELIRA or JEIMPA)
bone
simple object
Co
collection
oc
object of collection
disper
dispersed collection
contig
contiguous collection
VAr
variable collection length
const
collection constant length
When the attribute is only accessible for a given kind, this last is indicated in first
column (cf [§ 2.1.2]). The white indicates that the attribute is not accessible.
In the case of the collections and of the objects of collection, one indicates, if it is necessary, the type of collection
concerned (contig & VAr for a contiguous collection variable length).
possible values
kind
bone
Co
oc
CLAS
With
With
C
GENR
E, V, or NR
With
With
C
TYPE *
I, R, C, L, K8,
K16, K24, K32,
K80
With
With
C
LTYP
C
C
C
LONMAX
V
With
With (const)
With (VAr)
NOMMAX
NR
With
LONUTI
V
M
M (const)
M (VAr)
NOMUTI
NR
C
C
DOCU
M
M
DATE
C
C
ORIG
C
C
IADM
C
C (contig)
C (disper)
IADD
C
C (contig)
C (disper)
LONO
C
C (contig)
C (disper)
USAGE
C
C (contig)
C (disper)
ACCES
NO,
With
NO nom_uti,
NAKED **
STOCKAGE
CONTIG
DISPERSE
With
MODELONG
CONSTANT
VARIABLE
nom_uti ***
With
LONT
With (contig & VAr)
NMAXOC
With
NUTIOC
C
*
Routine JELIRA returns only K for the value of attribute standard for the type
K8, K16, K24, K32 and K80. It then to consult attribute LTYP.
**
Routine JELIRA returns either “NO” for an internal pointer, or “NO name” where name
is an external name of pointer of names.
***
Routine JELIRA returns either “CONSTANT”, or “VARIABLE”, or “VARIABLE
name “where name is a name of external pointer length.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A
Code_Aster ®
Version
4
Titrate:
Management memory: JEVEUX
Date: 28/01/1999
Author (S):
J.P. LEFEBVRE, J.R. LEVESQUE
Key:
D6.02.01-A
Page:
40/40
Intentionally white left page.
Handbook of Descriptif Informatique
D6.02 booklet: Management of structures of data
HI-75/97/011 Ind A