background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
1/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Organization
: EDF/IMA/MN
Data-processing manual of Description
D9.02 booklet:
D9.02.02 document
Documentation of development and maintenance
of the manager of memory JEVEUX for Code_Aster
1 Introduction
Code_Aster was developed in FORTRAN 77, this language does not have dynamic management
memory and does not allow a very strong structuring of the types. The manager of memory
JEVEUX made it possible to mitigate part of these disadvantages by offering the following possibilities:
·
dynamic management of the area memory allocated at the beginning of work,
·
management of the overflows report on file, with filing of the results in end of
work,
·
structuring of the data of Code_Aster, with access by name to the handled objects and
standardization of types FORTRAN used.
This document is intended for the documentation and the maintenance of the routines of the manager of
memory JEVEUX prefixed by JJ, I or JX, routines JX call upon functions in general not
portables. Thereafter, we will indicate this whole of routines under the term “the software”. One
precise description of the operation and the internal organization of the software is detailed there. The reader
will be able to refer to documentation [D6.02.01] Management Memory JEVEUX which describes the interface of
routines “user” I…. .
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
2/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
2
Organization of the segmentation memory
JEVEUX manages dynamically an area memory allocated at the beginning of work according to
parameters of execution provided to the main program of
Code_Aster by the interface. This allowance
initial is carried out by the routine
JXALLM
in the routine
JEDEBU
.
On CRAY, the allowance of the area memory is realized dynamically using the routine system
HPALLOC
. This area is seen in the software through the table of the whole type (
INTEGER * 8 ISZON
)
of length
LISZON
and of an address of beginning
JISZON
. It is stored in the commun run
/IZONJE/
. One
will use in the continuation of the document the term “word” to indicate the unit of addressing. On CRAY the word has
for length 8 bytes and corresponds to length of the type
INTEGER * 8
.
The area is managed word by word in unit of the type
INTEGER
(unit of addressing), segments of
values associated with objects JEVEUX are chained ahead and behind. Each segment of values
is framed by 8 words containing, in this order, following information:
1) the address measured compared to
JISZON
following segment;
2) the value of a shift used to align the segments of the type length higher than
the unit of addressing. On CRAY, this value is always null for the segments of values
associated objects of the type
INTEGER
and
REAL * 8
. It is worth 8 (bytes) sometimes for
segments of the values associated with objects of the type
COMPLEX * 16
: indeed it happens that it
beginning of the segment of value (position 5) cannot coincide with a position in the table
of reference
ZK16
, it is then necessary to move of a word (8 bytes). It is even more frequent
with the type
CHARACTER
when it is worth 16, 32 or 80!
3) the whole identifier associated the simple objects or the collections;
4) the statute of the segment of values which can take value X or U;
5) the state of the segment of values which can take value X, A or D;
6) the whole identifier associated the objects of collection;
7) the code of the class associated with object JEVEUX;
8) the address measured compared to
JISZON
preceding segment.
The management of the area memory with the type
INTEGER
does not allow to align itself correctly with
types of length higher than this unit of addressing. Although the command
EQUIVALENCE
present
in the software allows to align the initial address of the various variables (tables) of reference
ZI
,
ZR
,
ZC
,
ZL
,
ZK8
,
ZK16
,
ZK24
,
ZK32
and
ZK80
, the positioning of an associated segment of values
with an object of the type
ZK32
little chance has to be aligned with a “multiple” of 4 of the table
ISZON
on
CRAY, from where need for managing a shift among the descriptors.
The values making it possible to code the statute and the state of the segment of values are obtained in order to it
that the representation does not correspond to any type used within the segment of values and this in order to
to detect possible crushings of these descriptors. This role deals with the routine
JJLIRS
who
is called mainly at the time of the requests of setting in memory of the segment of values. The emission
of an error message of the type “
POSSIBLE CRUSHING UPSTREAM
… “ indicate that the identifier (3) or
the statute (4) were crushed, the emission of an error message of the type “
CRUSHING DOWNSTREAM
POSSIBLE
… “ indicate that the state (5) or classifies it (7) were crushed.
On CRAY, the values used have the following octal representation:
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
3/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
0100000000000000000000
for X,
0300000000000000000000
for A,
0200000000000000000000
for U,
0400000000000000000000
for D.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
4/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
At the time of the call to the routine
JEDEBU
, one creates a segment of values “X X " occupying the whole of
area with 8 words framing it, 4 words on both sides are added to ensure the compatibility of
chainings before and rear. Value 0 is deposited in end of the managed area. The memory is released
at the end of the work at the time of the call to the routine
JXLIBM
, of controls of integrity are carried out with this
occasion (on CRAY, exploitation of the codes return of the utilities
HPCHECK
and
HPDEALLC
).
Use of the segments of values
The couple state/statute makes it possible to know the use of a segment of values in memory:
·
XX
indicate that the segment of values is free, this position is directly usable,
·
UA
indicate that the segment of values is used in reading (its image disc will not be
brought up to date after release),
·
UD
indicate that the segment of values is used in writing (its image disc will be
brought up to date after release),
·
XD
indicate that the segment of values was released, but that its contents will have to be
discharged on disc,
·
TESTSTEMXÀ
indicate that the segment of values was released, this position is directly usable.
3
Management of the segmentation memory
A request of access in reading or writing on the segment of values associated with an object JEVEUX
cause, if it does not appear there already, a loading in memory of the contents of the segment of values
associated. The address memory of an object JEVEUX corresponds to its relative position in the table
ISZON
. Au préalable, it is necessary to carry out a search, using the routine
JJALLS
in
traversing the segmentation memory to find a position to insert the segment of values. One
use for this purpose the chaining before coded among the descriptors preceding each segment by
values. The algorithm used is held in the following way:
1) one examines whether a free area is available at the end of the area memory,
2) one considers then spaces made up by agglomerating the free areas (
XX
) and them
removable segments of values (
TESTSTEMXÀ
),
3) finally one carries out search among spaces made up by agglomerating the free areas
(
XX
), removable segments of values (
TESTSTEMXÀ
) and segments of values déchargeables (
XD
).
Search begins starting from the position chosen at the time of the last request thanks to the value
stored in the commun run
/IXADJE/
. This mechanism can involve accesses disc when
areas associated with segments with values déchargeables are re-used. The new segment of
values is allocated with a tolerance of 8 entireties which correspond to minimum space associated with one
segment of values (1 entirety by descriptor). When the search for place memory fails, one
cause a stop of the application in error
<S>
(stop by the supervisor with backup of
concepts created).
A call to the function system
LOC
through the routine
JXLOCS
allows to obtain the relative address of
beginning of the segment of values compared to the table
ISZON
by using the value of the position of
reference of the beginning of the area memory obtained in
JXALLM
and stored in the commun run
/ILOCJE/
. It is the use of the routine
JJALTY
who allows to switch on the table
Z
. and to obtain
according to the type the address compared to the good reference.
The allowance of a segment of values associated with an object of the type of which the length is greater than
the unit of addressing used (for example for the type
CHARACTER * 24
) does not allow
automatically to align itself compared to the table
ISZON
, it is sometimes necessary to shift
some words. The value of this shift is stored in the second descriptor preceding it
segment of values and the effective size of the segment of values is adjusted by taking account of sound
associated type.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
5/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
It then remains to bring up to date the descriptors associated with the segment with values, this operation is
realized by the routine
JJECRS
.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
6/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Search for place available
The call to the routine
JEDISP
allows to know at the time of the call, the size of the areas memory
available, it carries out search by traversing the whole of the segmentation memory and
progressively deposit the size of the free areas or déchargeables in a table provided by
argument of call.
Checking of the segmentation memory
Crushings report which affect the descriptors (state or statute) or the chaining front can
to be detected by using the routine
JXVERI
. This routine examines the descriptors one by one of
segments of values in memory and, on CRAY, calls the utility
HPCHECK
. A fatal error message
is emitted during the detection of a fault, if not the routine remains dumb.
4
Management of the releases
The release is the most complex mechanism implemented in JEVEUX. One conceives easily
that when that one manages a finished memory capacity, it arrives one moment when it is not possible any more of
to find of place. It is then necessary to cause unloadings on disc or to recover the place of
areas become useless. JEVEUX deals with these mechanisms, in condition of course, that it
programmer indicated the objects concerned to him; it is necessary to take some care
before releasing an object, several units of program which can use an address simultaneously
memory. The strategy of release calls on the one hand upon an internal mechanism with the manager of
memory that we will describe and in addition with rules of programming which are the subject of
document [D2.06.99] “New strategy of release of objects JEVEUX”.
The release of a segment of values materializes by positioning with the value
X
state in
place and place of the value
U
. There is not an other immediate effect, it is only at the time of a search
later of storage position which one will treat indeed the contents of the segments of values.
The setting in memory of an object JEVEUX is accompanied by the assignment of an attribute system:
mark. This attribute, of whole type, takes the value of a counter incremented with each call to
routine
JEMARQ
and décrémenté with each call to the routine
JEDEMA
. It is possible to obtain the value
current mark by calling the routine
JEVEMA
.
The current marks have a strictly positive value thus. Values - 1, - 2 and - 3 are used
to treat the following exceptions.
The value - 1 is used to keep permanently (throughout the execution of a control
Aster) certain objects which will be released by a specific call. This mark is used at the time of
the call to the routine
JEVEUT
.
The value - 2 is used by JEVEUX to bring back in a temporary way certain objects which will be
released at once the finished action (put in memory of the system objects of collection,…).
The value - 3 is used to keep permanently (throughout the execution of
Code_Aster) them
objects used by the Supervisor.
The mark - 3 can come to replace any existing mark, the mark - 1 can replace
a mark (positive) existing. The system object containing the list of the addresses of the segments of
values must then be modified. The mark - 3 is used at the time of the call to the routine
JEVEUS
.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
7/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
One thus builds a hierarchy of the segments of values associated with the objects. Each call to
routine
JEDEMA
will cause the release of the segments of values having the current mark.
In order to optimize the releases driven by a call to
JEDEMA
, the setting in memory of each
segment of values is accompanied by the storage of its position (its address memory) in an object
system (segment of values of the whole type). Thus the whole of the segments of values associated with
an identical mark is easily identifiable and their identification requires only one simple scanning
of a vector of entireties. The loop on the segments of values is carried out in two times: one treats
first of all overall collections, then simple objects and associated segments of values
with the contiguous collections are released.
The updating of the mark of an object is carried out at the time of the call to the routine
JJECRS
, if need be,
the system object
KDESMA
(this object is redimensionné is indicated here by the name of variable FORTRAN
used to store its address within the units of program).
It is the routine
JJLIDE
who carries out indeed the release of the segments of values. The first
argument of this routine is the name of appealing, it conditions the type of operation to be carried out:
LIBE
standard mechanism of release with examination of the state, the statute and the mark,
HEAP
mechanism of release with immediate writing used at the time of the retassage of the files or
in mode debug JEVEUX,
LIBF
mechanism used at the end of the work during the closing of a base JEVEUX.
Concerning the simple objects, this release does not pose a particular problem: the routine
JJLIDE
check that the mark associated with the segment with values is identical to the current mark
stored in the commun run
/IADMJE/
, it modifies the descriptors (state and statute) of the segment of
values and assigns to 0 the associated mark, possibly it causes an unloading (
JXECRO
)
and the contents of the attributes modify address memory and address disc. Release of an object of
dispersed collection follows the same process, the attributes being modified within the system objects
of collection. The release of a collection is more delicate, the system objects having to be maintained
accessible in memory as long as a segment of values associated with the one with the objects with collection is
present in memory (used, déchargeable, and even removable).
The call to the routine
JJLIBP
allows to mark free the segment of values (
XX
) and to incorporate, if they
exist, the free areas around this last. One uses for this purpose the chaining before and the chaining
rear to position on the descriptors of the close segments. This routine can affect it
contents of the segment of values released to value UNDEF if this type of operation
is asked (mode debug JEVEUX). The commun run
/UNDFJE/
a variable initialized contains by
JEDEBU
with this value which is judicious to cause a brutal stop during any use in one
arithmetic operation. The placement of this mechanism is carried out at the time of the call to the routine
JEDBUG
. It must be used with precaution, only during debugging, indeed, it modifies
appreciably operating mode of the manager of memory, unloadings not being more
differed, the number of inputs/outputs increases and the time spent to the search of positioning
segments of values in memory increases.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
8/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
5
Management of the files of random access
The manager of memory JEVEUX manages report unloadings on disc, to release from
place in memory during the execution and to file the results at the end of the work. One uses with
this end of the files of random access. On CRAY they are the utilities
OPENDR
,
WRITDR
,
READDR
and
CLOSDR
who are called.
The address disc of objects JEVEUX is obtained by combination of the number of the recording of
file of random access used to deposit the values, and possibly the position within this
recording.
The length of the recordings is fixed, its value is selected at the time of the opening of bases JEVEUX
via the routine
JEINIF
.
On CRAY, the number of recordings which belongs to the parameters, is given in
Code_Aster according to the conditions of operating (currently, it is not possible to lay out
of more than 4 Go of space file at the time of a passage batch CRAY). Each base is cut out in unit
logic length 523.468.800 bytes (concept of “extend”), this value is affected through
function ENVIMA
LOFIEM
and stored in the commun run
/FENVJE/
. This cutting allows
to profit as well as possible from the possibilities offered by utility DMF of migration of files. JEVEUX manages
a total index that it then cuts out for each extend, the address disc is measured compared to
the total index, then modulo the number of recordings, one obtains the number of the extend easily
and the relative address. The various logical units are accessible by a local name which is
composed starting from the first four characters in small letters of the name of the base associated and with
number of extend.
The size of the recordings defines two classes of objects JEVEUX:
1) the small objects whose size is lower than the length of a recording, they are
accumulated in a space of the size of a recording before transfer on disc,
the 2) large objects which require several recordings to store their contents.
At the time of a request of writing on disc, the contents of the large objects will be directly transferred on
disc, whereas a buffer of writing is used for the small objects in order to cumulate them and
to reach approximately the length of a recording before their transfer. At the time of a request of reading,
at least it is a recording which will be used, in the case of the small objects one uses a buffer
of reading. The buffers of reading and writing belong to the system objects associated with each base
JEVEUX.
On CRAY, the closing of the files of random access is essential to bring up to date the index of access,
it is the routine
JXFERM
who call the utility
CLOSDR
.
Description of the recordings
Each recording car-is described in order to easily be able to identify its contents. Like
for the area memory, the recordings are seen like a succession of words of the whole type
(
INTEGER * 8
on CRAY). The first two words give total information on the size of
stored objects:
·
if
Ident1=Ident2=0
the recording contains small objects, three whole words
(descriptors) are placed in front of each segment of values, it contain respectively,
when they exist, the identifier of collection (
Idc1
), the simple identifier of object or it
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
9/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
number of object of collection (
Ids1
) and the length of the segment of value, follows the segment of
values, and one starts again for the following until
Idcn=Idsn=0
;
·
if
Ident1
or
Ident2
is different from 0, the recording contains whole or part of the segment
values associated with a large object.
At the time of the destruction of a large object identifiers
Ident1
and
Ident2
are positioned with
value opposite (assignment of the sign -). In the same way, at the time of the destruction of a small object, them
identifiers
Idci
and
Idsi
are affected sign -.
Writing of the objects
It is the routine
JXECRO
who treats the writing of objects JEVEUX. It also ensures, when it is
necessary, the opening of the logical units associated the partition in extend of the bases. The routine
examine the various recordings to find a succession of recordings being able to accommodate it
segment of values or the buffer following the cases. Recordings corresponding to large objects
destroyed can thus be recovered. The writing of a small object results in a displacement of
contents of the segment of values in the buffer of writing by the routine
JXDEPS
with updating
descriptors. The buffer is transferred on disc only if the segment of values is of one
size higher than open space remaining. The segment of values associated with large objects is transferred
on disc by the routine
JXECRB
.
JXECRB
is a cap calling upon the utility
WRITDR
who
bring up to date the descriptors
Ident1
and
Ident2
as well as a counter associated with the recording. At the time
later unloadings, the buffer of reading can be used to bring up to date the image disc; one
logic indicates this type of use then.
Reading of the objects
It is the routine
JXLIRO
who treats the reading of objects JEVEUX. The segments values associated with
small objects is reloaded in memory from one of the buffers of reading or writing. The buffer of
reading can be possibly discharged on disc before charging a new recording.
segment of values associated with the large objects is directly read again using the routine
JXLIRB
.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
10/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
6
Access by names: associative addressing
Simple objects JEVEUX, objects and objects of collections, are accessible by name. Names
handled by the routines
I
…. comprise 24 characters, the names used in-house by JEVEUX
comprise 32 characters to treat the case of the collections. The access by name, if it facilitates legibility and
allows to structure the data, cannot be used directly in-house. One thus has recourse to one
algorithm of associative addressing which, using a function of coding, makes it possible to associate one
whole identifier with a name. This system of coding is used to manage the names of the objects
JEVEUX for each definite class (partner at each base), but also for the names of the objects
of collection.
One uses for this purpose is a couple of objects formed by a vector of entireties and a vector of channels of
characters for the management of different the classes, is an object of index kind of names having
heterogeneous characteristic to be of contents (storage of the character strings and the identifiers
entireties) for the named collections. The use of these indices requires functions of access
particular. The dimensioning of these objects is carried out in order to contain the number
necessary identifiers by minimizing their size and collisions on the level of the function of coding.
Our choice to dimension the pointer of entireties associated with the result with the function with addressing is
decree on the following condition:
nrep = nprem where nprem > 1.3 * nmax
nprem is a prime number and nmax the maximum number of identifiers to be stored.
The calculation of the size of the indices is carried out by the function
JJPREM
in which is stored under
form WENT BACK a list to 56 prime numbers up to value 611957 what limits to this value
capacity of the indices of names (and that of the pointer of entireties to approximately 795.000).
On CRAY, the selected function of coding
JXHCOD
fact call to the function system
STRMOV
who allows
to transfer byte by byte a character string in a table from entireties and to the function
XOR
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
11/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
to cumulate the results in an entirety (
INTEGER
). The identifier is finally obtained by one
congruence modulo the length of the index nrep.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
12/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Insertion of a name
The insertion of a new name in the indices associated with the various bases is carried out with aid
routine
JJCREN
. The whole of the indices of the open bases is examined in order to ensure
the unicity of the name of object, routines JEVEUX not accepting like argument the class associated with
the base.
If the index of names starts to be saturated, the function of coding, although selected to be
dispersive, can give an identical identifier for two distinct channels, there is then collision.
A new identifier must be given by taking account of the value obtained previously.
Scan for noun in an index
This algorithm requires a certain number of comparisons of character strings and thus can
to become expensive. A commun run, brought up to date by last search in the indices of different
bases contains the identifier and the associated channel in order to reduce the cost of search
(
/IATCJE/
). It is the routine
JJVERN
who carries out a comparison with the contents of the commun run
before the call to
JJCREN
. The code return of the routine
JJCREN
depends on the type of search in
index: with insertion in the index of names (
ICRE=1
) this code return is obligatorily not
no one (there is possibly stop in error), without insertion it can be worth 0, if not 1 corresponds to an object
simple and 2 with a collection. It is the presence of a nonwhite channel between positions 25 to 32
who indicates that one treats an object of collection.
The characters composing the names of the objects are limited to the alphanumerics
supplemented by the special characters:
''
the white,
“.”
the point,
“_”
the underlined white,
“$”
the symbol dollar,
“&”
the and commercial one.
The conformity of the character strings is checked after insertion in the indices (at the time of
creation of the name only) by comparison character by character with the contents of the commun run
/JCHAJE/
initialized in the routine
JEDEBU
.
Destruction of a name
The destruction of a name uses the same algorithm as insertion, the position in the index
can be released because of possible collisions, one thus proceeds while making negative the identifier
and while affecting to “?” the character string of the name to be destroyed. Thus it will be always possible of
to recover this position later on.
Redimensioning of the indices
The redimensioning of the indices is ensured in an automatic way using the routine
JJAREP
.
The size of the indices of the bases is doubled at the time of the operation. This operation rebuilt
entirely the new existing index by insertion of the names. The command of insertion being preserved,
the system objects do not require particular processing, other that a recopy in one
larger receptacle (it follows from there a displacement in memory of the latter) and their updating
on disc.
Case of the indices of collection
The indices of collection are objects of nonhomogeneous contents: they store at the same time it
result (of whole type) of the function of coding and the character strings composing the names. They
car-are described and the routines using them contain the following instructions:
INTEGER ILOREP, IDENO, ILNOM, ILMAX, ILUTI, IDEHC
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
13/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
PARAMETER (ILOREP=1, IDENO=2, ILNOM=3, ILMAX=4, ILUTI=5, IDEHC=6)
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
14/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
The value positioned with the address:
Represent:
ILOREP
size necessary to the whole of the whole codes,
IDENO
the address from which the names are stored,
ILNOM
the length of the stored channels,
ILMAX
the maximum dimension of the index,
ILUTI
the number of actually stored names,
IDEHC
the address from which the whole codes are stored.
The information stored with the address
ILUTI
is brought up to date and used in the internal functions of access
with the indices, its value is only accessible in an external way, using the utility
JELIRA
with for name of attribute
NOMUTI
.
Objects of named collection, during their creation by the routine
JECROC
, are inserted using
the function
JJCODN
. The intermediate routine
JJCROC
allows, according to the value of its second
parameter, to insert a new name or to check its existence and to recover its command
of insertion.
7
The system objects and segments of values not
referred
The manager of memory JEVEUX uses part of the memory to manage the associated attributes
with the objects and to treat certain functions. In order not to multiply the routines of access we have
chosen to use the same structures for objects JEVEUX and the memory used for their
management. This is why during the impression of the segmentation memory one sees appearing
segments of values associated with illicit names with the direction user and referring to
various classes open to a given moment, but also of the segments of values which are not
associated any name. The system objects associated with the TOTAL base carry all the prefix
according to: ________
TOTAL
________ (the name of the base is in position 9 to 24), the suffix (in
position 25 to 32) makes it possible to distinguish the various objects. The names of the system objects are
built in the same way for the other bases.
The system objects are created at the time of the first call to the routine
JEINIF
. JEVEUX needing in
permanence to reach the segments of values associated, a specific mark (- 2) their is
affected. A particular processing their is reserved during the closing of the bases.
List system objects used by JEVEUX:
Suffix of the name
system object
Contents
Fortan type
associated (on CRAY)
Cut
1
$$CARA
characteristics of the base
associated
INTEGER * 8
11
2
$$IADD
addresses disc of the objects
INTEGER * 8
2 * NREMAX
3
$$GENR
kind of the objects (E, V, NR or X)
CHARACTER * 1
NREMAX
4
$$TYPE
type of the objects (I, R, C, L, K)
CHARACTER * 1
NREMAX
5
$$DOCU
documentary field
CHARACTER * 4
NREMAX
6
$$ORIG
documentary field
CHARACTER * 8
NREMAX
7
$$RNOM
list names of objects
CHARACTER * 32
NREMAX
8
$$LTYP
types of the segments of values
INTEGER * 8
NREMAX
9
$$LONG
length measured in the type
segments of values
INTEGER * 8
NREMAX
10
$$LONO
measured effective length
in the type of the segments of
values
INTEGER * 8
NREMAX
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
15/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
11
$$DATE
go back to first backup
INTEGER * 8
NREMAX
12
$$LUTI
length used of the segments
values
INTEGER * 8
NREMAX
13
$$HCOD
count of associative addressing
INTEGER * 8
NRHCOD
14
$$USADI
description of the contents of
recordings
INTEGER * 8
2 * NBLMAX
15
$$ACCE
a number of access in
read/write with
recordings
INTEGER * 8
NBLMAX
16
$$MARQ
marks associated with the objects
INTEGER * 8
2 * NREMAX
17
$$INDX
index of the file of random access
associated
INTEGER * 8
2 * NBLMAX
18
$$TLEC
buffer of reading
INTEGER * 8
LONGBL
19
$$TECR
buffer of writing
INTEGER * 8
LONGBL
20
$$IADM
addresses memory of the objects
INTEGER * 8
NREMAX
where
NREMAX
is the maximum number of names associated with a class,
NRHCOD
is obtained from
NREMAX
with the function
JJPREM
,
NBLMAX
is the maximum number of recordings,
LONGBL
is the length of the recordings.
The dimension of the majority of the system objects is likely to be readjusted in the course of calculation
according to the needs, only what milked with the size of the files of random access and with the length of
recordings remains fixed. The last 5 objects of the list above do not have an image disc.
Segments of values not referred present in memory
Two segments of values present in memory do not have names to identify them, us
let us indicate starting from the name of the variables which are used in the subroutines.
Contents
Type FORTRAN
associated
Cut
KPOSMA
ISZON (JISZON+KPOSMA+I)
is the position in
segment of values associated with
KDESMA
addresses
associated the ième mark
INTEGER * 8
LGD
KDESMA
addresses memory of the “marked” objects
INTEGER * 8
LGP
Dimensions
LGD
and
LGP
are adjusted during the execution, their values initial are
respectively the sum lengths of the vectors
$$RNOM
of each class and value 50.
8 Them
collections
The collections of objects JEVEUX are structures which allow the pooling of the attributes
and possibly an access named to a group of objects. They can be associated single
segment of values (contiguous collection) or with as many segments of values of objects (collection
dispersed). They are built starting from objects simple JEVEUX, and thus appear under this
form among the objects associated with a class. The main object of the collection is the object of kind X,
it is a vector of 11 entireties containing the identifiers of the various objects composing
collection (inter alia the system objects of the collection which contain a suffix starting with
$$). This vector bears the name allotted using the routine
JECREC
(
CHARACTER * 24
). Objects
system clean with the collection carry a suffix starting with $$ in position 25, if they are
associated a shared object, they carry a suffix starting with &&. Attributes common to
the whole of the objects of collection are deposited among the attributes of the system object
$$DESO
(kind,
type, length, etc).
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
16/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
The system objects associated with a collection are created in the associated class (identical attribute
for the whole of the system objects) and charged in memory via the routine
JJCREC
.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
17/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Suffix of the name of the object
system of collection
Contents
Type FORTRAN
associated
Type of collection
1
$$DESO
attributes associated with this
object are the attributes
commun runs of the collection
contiguous collection:
values associated with
various objects of
collection
INTEGER * 8
dispersed and
contiguous the segment
values does not exist
that for
contiguous collections
2
$$IADD
addresses disc of
objects of collections
dispersed
INTEGER * 8
dispersed
3
$$IADM
addresses memory of
objects of collections
dispersed
INTEGER * 8
dispersed
4
$$MARQ
associated marks
with the objects of
dispersed collections
INTEGER * 8
dispersed
5
$$NOM
or shared object
list names of objects
collections
named
according to
the index
associated
named
6
$$LONG
or shared object
measured length
in the type of
segments of values;
receives the values
associated the attribus
LONMAX
and
NOMMAX
INTEGER * 8
of variable length
7
$$LONO
or
&&LONO
effective length
measured in the type
segments of
values; is used in
intern by the software
INTEGER * 8
of variable length
8
$$LUTI
or
&&LUTI
length used of
segments of values
INTEGER * 8
of variable length
9
$$NUM
information
concerning
collections
numbered
INTEGER * 8
numbered
The routines using the collections, and more precisely the descriptor object of the collection contain
following instructions:
INTEGER IVNMAX, IDDESO, IDIADD, IDIADM,
+ IDMARQ, IDNOM, IDREEL, IDLONG,
+ IDLONO, IDLUTI, IDNUM
PARAMETER (IVNMAX = 0, IDDESO = 1, IDIADD = 2, IDIADM = 3,
+ IDMARQ = 4, IDNOM = 5, IDREEL = 6, IDLONG = 7,
+ IDLONO = 8, IDLUTI = 9, IDNUM = 10)
What makes it possible to position directly in the area memory to obtain the identifiers of
system objects (when they exist) in the following order:
$$DESO
,
$$IADD
,
$$IADM
,
$$MARQ
,
$$NOM
,
$$LONG
,
$$LONO
,
$$LUTI
and
$$NUM
.
IDREEL
is not used any more. The maximum number of objects of
collection is stored with the address
IVNMAX
.
Named collections
The objects associated with such a collection are accessible by their name (function
JEXNOM
) and by their
sequence number of insertion (function
JEXNUM
). It is possible to use the routines
JENUNO
and
JENONU
to pass from the number to the name and conversely. The length of the names of the objects is limited to 8
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
18/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
characters (
CHARACTER * 8
) if the collection is based on an “internal” index of name, or can
to be worth 8, 16 or 24 if the collection is based on an “external” index of name, i.e. created
beforehand (index of names shared).
Numbered collections
The objects associated with such a collection are only accessible by their sequence number
of insertion (function
JEXNUM
). The system object
$$NUM
is a vector of 2 entireties containing
respectively the maximum number of objects of collection and the number of objects used.
Dispersed collections
Each object is associated a segment of values, it is thus not necessary to bring back
the whole of the collection to reach a particular object. In this case it is necessary to manage 3
system objects: one for the addresses memory of the segments of values (
$$IADM
), the other for
addresses disc (
$$IADD
) and the last to manage the releases (
$$MARQ
).
Contiguous collections
There is only one segment of values for the whole of the objects of the collection which is created and
dimensioned once and for all at the time of the first setting in memory of one of the objects of collection.
This segment of value is associated the system object
$$DESO
.
Collections variable length
Each object must be dimensioned: by affecting the attribute length by the routine
JEECRA
or
while providing of a vector length (shared object). In this case 3 system objects are
necessary: for the lengths (
$$LONG
or shared object), for the lengths in the type of
associated segments of values (
$$LONO
or
&&LONO
in the case of an object shared) and finally for
lengths used (
$$LUTI
or
&&LUTI
in the case of a shared object).
In the case of the contiguous collections, it is possible to reach directly the vector lengths
cumulated by using the function
JEXATR
combined with the call to
JEVEUO
to obtain the address of
this vector. This access makes it possible to be freed from a call to
JEVEUO
by object of collection.
dimension of the system object
$$LONO
is incremented of 1 compared to the length of the object
system
$$LONG
to this end.
Collections fixed length
Each object has same dimension, this attribute can be affected various ways: in
directly affecting the attribute length of an object of the collection or the attribute
LONT
of
overall length for a contiguous collection (call to
JEECRA
).
The mechanism of access to the objects of collection
The requests of access to the objects of collection request the system objects attached to the collection, of
same manner that it is necessary to have access to the system objects associated with a class at the time of
requests on the simple objects. It is thus necessary that these objects are present in memory as of
that a request is carried out on one of the objects of collection. The routine
JJALLC
is charged with
to put in memory the system objects of collection. They obey particular rules
concerning the releases because they can be discharged from the memory only when all the objects
from collection themselves were discharged (updating of the addresses disc and memory).
management of the shared objects is even more delicate because it is necessary to be able to secure itself against a release
inopportune from the latter, for this purpose, they receive a particular mark which is worth - 1.
The various requests on the objects of collection are carried out starting from the routines
I
used for
the simple objects, but require the use of the functions of synchronization
JEXNOM
,
JEXNUM
or
JEXATR
. These functions of the type
CHARACTER * 32
update the contents of the respective commun runs
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
19/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
/IDATJE/
,
/INUMJE/
and
/KNOMJE/
, moreover they replace the character string associated with
name of object JEVEUX in position 25 to 32 by the respective suffixes
$$XNOM
,
$$XNUM
and
$$XATR
.
The routines of low level then will seek this information within the various commun runs
according to the type of access.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
20/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
9 Them
continuations
The system object of suffix
$$CARA
(containing the name of the base associated in position 9 to 24), contains
information necessary to the reopening of the file of random access, it contains inter alia,
position of the segment of values associated with the addresses disc with the unit with the objects contained in
the base, as well as dimensions characteristic of the system objects. One thus takes the precaution of
to store at the head in the first recording. In the event of continuation on a basis, the first
action carried out will be the second reading of the contents of this object. The routine
JXLIR1
open the file
associated the first “extend” (glob.1) with characteristics which are clean for him (what can
to lead to a message of alarm), reads the first 14 values (3 for the descriptors of the segment of
values on disc and the 11 awaited values) then closes again the file. The length of the index being
known, it is then possible to reopen properly the files (the system objects can have been
deposited on the various files constituting the base). The system objects not having an image disc
are created and initialized (addresses memory, buffer of input/output,…).
10
Processing of objects JEVEUX
Creation of the objects
The creation of the descriptors (name and attribute of class, kind and type) of objects JEVEUX is
realized using the routine
JECREO
for the simple objects, and by the routine
JECREC
for
collections. The decoding of the channel passed in argument to affect the attributes is carried out by
the routine
JJANAL
. In the case of objects of kind
E
the attributes length are directly
affected.
The assignment of the attributes
The generic attributes are affected during the creation of the simple name of object or collection, they
appear in the following table:
·
for the simple objects and the collections:
CLAS
classify fastening of
the object at a data base.
V
: base Volatile,
G
: base Globale,
L
: base
Local,
C
: base Catalogs compiled
GENR
kind of the object
E
: simple variable,
V
: vector,
NR
: index of
names
TYPE
type FORTRAN of the object
I, R, C, L, K8, K16, K24, K32, K80
LTYP
length of the type
managed automatically for the types
I
,
R
,
C
,
L
, standardized to 8, 16, 24, 32 and 80 for
characters
·
for the collections only:
ACCESS
Type of access:
NO
if named,
NAKED
if
numbered
NO
name can be followed of
index of names
STORAGE
CONTIG
or
DISPERSE
MODELONG
mode of definition length
objects of collection:
CONSTANT
or
VARIABLE
VARIABLE
name can be followed
pointer length
LONT
overall length of a collection
contiguous
NMAXOC
numbers maximum objects of
collection
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
21/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
The other attributes are affected using the routine
JEECRA
, these attributes appear in the table
below:
·
for the simple objects or the objects of collection:
LONMAX
length of the object of kind V
NOMMAX
length of the object of kind NR
LONUTI
length used of the object of kind V
NOMUTI
length used of the object of kind NR
DOCU
documentary field (4 characters)
Reading of the attributes
The values associated with the various attributes can be consulted constantly using
routine
JELIRA
, including the in-house managed attributes:
·
accessible internal attributes:
DATE
go back to last disc unloading of the object
ORIG
not used
IADM
address memory
IADD
address disc
LONO
length measured in the type of the segments of values and according to their kind
USE
use (statute and state) of the segment of values in memory:
UD
,
UA,
XD
,
TESTSTEMXÀ
or
XX
.
The statute and the state of a segment of values in memory can be collected by this routine in
using
USE
for value of the argument of the name of attribute. The value
XOUS
for this same argument
allows to determine if the object is a collection (
X
) or a simple object (
S
).
Note:
The consultation of the attributes of the objects of collection can require the setting in memory of
attribute objects, and their release at the end of the action. A temporary mark equalizes with - 2 is affected
in this case.
Request of access to the objects
The whole of the requests of access to objects JEVEUX (objects simple, objects of collection or
whole collections), which they are direct (
JEVEUO
,
JEVEUS
,
JEVEUT
) or indirect (
JEEXIN
,
JENONU
,…) follows the following process:
·
processing of the name of object passed in argument by
JJVERN
,
·
possibly, put in memory or checking of the presence in memory of the objects
system in the case of a collection by the routine
JJALLC
, then using the routine
JJCROC
, determination of the identifier of object of named collection or checking of
sequence number of numbered collection,
·
according to the type, call to
JJALTY
to obtain the address compared to the table
Z *
commun run of reference,
·
possibly put in memory then assignment of the identifiers of the segment of values
and of the mark, and determination of the relative address by the routine
JXVEUO
,
·
in certain cases (for example consultations of attributes), release of the object and/or
collection by
JJLIDE
.
The attributes necessary to the description of object JEVEUX are read again or determined by the routine
JXVEUO
, the processing is immediate for the simple objects bus one has access directly to the attributes
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
22/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
in the system objects associated with the base, some operations are necessary to treat them
attributes of collection or object of collection (positioning in the system objects of collection).
The alternative
JEVEUS
allocate in a permanent way the segment of values in memory.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
23/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Destruction of the objects
The destruction of an object JEVEUX (simple object, collection or object of dispersed collection) requires
two interventions: destruction of the segment of values and destruction of the attributes. For an object
simple, the segment of values can have an image disc, in this case it is also necessary to destroy this
last, the corresponding recordings will be marked free and could be recovered
later. The segment of values in memory will be marked free. The image disc, if it exists will be
marked free by using, following the type of object, the descriptors of the recording (system object
$$USADI
) or descriptors within a recording (assignment of the sign -). This function
is ensured by the routine
JXLIBD
. Attributes (name, length, kind, etc) will be released (routine
JJMZAT
) and their position in the system objects of the associated base will be available for
new creation of descriptor. The system object containing the address of the marked objects must too
to be reactualized. The processing of an object of collection is identical, the updating of the attributes is
realized on the system objects of the collection. The segment of values for an object of collection
contiguous cannot of course be destroyed. The destruction of a collection is carried out while destroying
the whole of the objects of collection and the system objects of the collection provided that they are not
shared. Routines
JEDETR
and
JEDETC
allow to destroy objects JEVEUX, the first
work starting from an identifier, the second, more expensive, carries out a search first of all for
descriptor in the indices of the classes open starting from a character string to one
position given. The routine
JEDETV
is only used to destroy the objects on the basis
bird associated with the class
V
between the various controls of
Code_Aster.
Release clarifies objects
Although the mechanism of release is implemented with the concept of mark and the calls
obligatory with the routines
JEMARQ
and
JEDEMA
, certain configurations require an explicit call
with the following routines of release:
JELIBE
release the object requested by respecting the affected mark,
JELIBS
release the object of name passed in argument when the associated mark is worth - 3,
JELIBZ
release the whole of the objects associated with a class with which the mark associated is worth - 1.
Recopy objects
The utility
JEDUPO
allows to duplicate an object JEVEUX (simple object, or collection supplements)
possibly by depositing the result on a different class. The new objects are released in
end of operation. If this action does not raise any difficulty for the objects simple, some care
are to be taken concerning the collections being pressed on external pointers. The latter can
to be recreated to become system objects specific to the collection (one does not profit any more a setting
jointly attributes concerned) or to be preserved just as they are, but it is then not allowed
to deposit the result of the recopy on another class. The receptacle can preexist (the user
provides a name or a channel), in this case it is destroyed at the beginning of operation. The recopy does not require
not obligatorily the presence in memory of the segments of values to be copied, they can be read again
directly on disc.
It is possible to make use of the utility
JEDUPC
who works starting from a under-channel of
characters but requires on the other hand a preliminary search of the names in the index (what
can prove to be expensive).
Impression of the contents of the segments of values
The utility
JEIMPO
to print in a pleasant way the contents of (of) the segment (S) are charged with
value (S) associated (S) with objects JEVEUX. The objects system (associates with a class or one
collection) are treated by the routine
JEPRAT
. A setting in memory being able to be carried out, one
particular mark (- 2) is assigned to the segments of values charged. According to the type of object (object
simple, object of collection or collection) one recovers the attributes associated with (X) the segment (S) with
values to call the routine
JJIMPO
who carries out the formatting of the data.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
24/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
25/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
11
Processing of the bases
Certain operations treat in their entirety bases JEVEUX, they are essential for
to initiate the system of management of memory, but are also used at the end of the process. Attention, it
contained bases is systematically enriched during the execution of the Aster control
CONTINUATION
, and it is essential to finish the execution by the control
END
to close
properly files of random access. Only a stop with a message
UTMESS
type
<S>
allows
SUPERVISOR to validate the concepts created and to properly close the files of random accesses by
call to the routine
JEFINI
The opening of a base
The length of the recordings of the file of random access and the initial length of the index of names
remain the only adjustable parameters associated with bases JEVEUX. They are specified at the time of the call to
the routine
JEINIF
, one indicates also the statute of the base at the beginning of work for possibly
to reopen an existing file, the statute at the end of the work makes it possible to avoid superfluous inputs/outputs if
base is not preserved. The reopening of a base (control CONTINUATION in
Code_Aster
or reading of the catalog of the compiled elements) requires the knowledge length of
recordings of the file of random access and the contents of certain system objects, the first
recording contains the data essential to the reconstitution of this various information.
The routine
JXLIR1
is charged to read again the beginning of the first recording: the file is opened
access random (with an index whose size is fixed at 11), one reads information in beginning
of recording, then the file is closed again. One can then open the file of random access with one
table of suitable index length, and to read again the contents of the system objects stored on disc at the time
preceding execution.
The closing of a base
The operation of closing of a base, carried out by the routine
JELIBF
, consists in releasing the whole of
objects which are attached there, with possibly writing on disc and to bring up to date the system objects.
Two loops are necessary to release the objects: the first treats the collections, the second
draft simple objects. The system objects are then discharged, the addresses disc are treated
in the last, the buffers of input/output are emptied, finally one brings up to date the characteristics of the base
on the first recording. The file of random access is then closed by call to the routine
JXFERM
.
The retassage of a base
At the time of the operations of destruction of object JEVEUX, the associated disk space is marked free but
is not systematically recovered. The retassage makes it possible “to fill” the vacuums in “going up” them
recordings. It is thus necessary to modify the attribute addresses disc of the objects contained in
recordings to be moved. This operation is immediate for the simple objects, concerning
collections it is necessary to have access to the system object containing the addresses disc (which itself can be
located the recording to be moved!). There is no reorganization within the recordings
containing the images of small objects. The routine is used
JETASS
and one calls upon the alternative
JETASS
“of the routine of release
JJLIDE
. This utility can be directly called by
order
END
in
Code_Aster.
The recopy of the bases
This operation must be carried out to take into account indeed the retassage, the files
random access
WRITDR
not being able to be reduced in place on CRAY. The routine
JXCOPY
work to leave
closed bases and restores them in the same state. This utility can be called by the control
END
in
Code_Aster.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
26/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
12 Them
impressions
The routine
JEIMPD
allows to print the list of objects JEVEUX present on one or more bases.
The list is made up starting from the associated catalog (system object
$$RNOM
) and they are printed
following information for each object:
·
the associated identifier in the name of object,
·
the name of the object,
·
the kind of the object,
·
the type of the object,
·
the length in the type,
·
the length in byte of the segment of values,
·
the number of the recording containing the segment of values,
·
the position in the recording for the small objects,
·
the number of access in reading on the recording,
·
the number of access in writing on the recording.
1
CONTAINED BASE G
NAME OF THE BASE: TOTAL
NB RECORDINGS MAXIMUM: 5242
RECORD LENGTH (BYTES): 819200
--------------------------------------------------------------------------------
---- NUM ------------- NAME ---------------- G T - L - LOTY- - IADD- --LIADD- NB AC
1 ________GLOBALE ________$$CARA - VI 8 11 1 24 0
2 ________GLOBALE ________$$IADD - VI 8 4000 1.136 0
3 ________GLOBALE ________$$GENR - V-K- 1 2000 1 32160 0
4 ________GLOBALE ________$$TYPE - V-K- 1 2000 1 34184 0
5 ________GLOBALE ________$$DOCU - V-K- 4 2000 1 36208 0
6 ________GLOBALE ________$$ORIG - V-K- 8 2000 1 44232 0
7 ________GLOBALE ________$$RNOM - V-K- 32 2000 1 60256 0
8 ________GLOBALE ________$$LTYP - VI 8 2000 1 124280 0
9 ________GLOBALE ________$$LONG - VI 8 2000 1 140304 0
10 ________GLOBALE ________$$LONO - VI 8 2000 1 156328 0
11 ________GLOBALE ________$$DATE - VI 8 2000 1 172352 0
12 ________GLOBALE ________$$LUTI - VI 8 2000 1 188376 0
13 ________GLOBALE ________$$HCOD - NOR 8 4177 1 204400 0
14 ________GLOBALE ________$$USADI - VI 8 10484 1 237840 0
15 ________GLOBALE ________$$ACCE - VI 8 5242 1 321736 0
Impression of the segmentation memory
The routine
JEIMPM
allows to print the list of objects JEVEUX present in memory and indicates them
free areas. Following information is printed:
·
the class of the object,
·
the associated identifier of collection in the name of object or 0,
·
the simple identifier of object or associated object of collection in the name of object,
·
the value (whole) of the mark associated with the segment with values,
·
the address relative memory of the segment of values,
·
the statute of the segment of values (X or U),
·
the length measured in unit of addressing (whole on CRAY) of the segment of values,
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
27/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
·
the state of the segment of values (X, A or D),
·
the name of the object (possibly supplemented by the number of object of collection).
--------------------------------------------------------------------------------
---- SEGMENTATION MEMORY
----
--------------------------------------------------------------------------------
CL --NUM-- - MY --IADM-- - U - LON UA - - S ------------- NAME --------------
0 0 0 9 X 21622 X <<<< FREE >>>>
0 0 0 21639 U 50 D
G 0 1 - 2 21697 U 11 D ________GLOBALE ________$$CARA
G 0 16 - 2 21716 U 4000 D ________GLOBALE ________$$MARQ
G 0 17 - 2 25724 U 9216 D ________GLOBALE ________$$INDX
G 0 15 - 2 34948 U 5242 D ________GLOBALE ________$$ACCE
G 0 18 - 2 40198 U 102400 D ________GLOBALE ________$$TLEC
G 0 19 - 2 142606 U 102400 D ________GLOBALE ________$$TECR
G 0 20 - 2 245014 U 2000 D ________GLOBALE ________$$IADM
G 0 2 - 2 247022 U 4000 D ________GLOBALE ________$$IADD
G 0 3 - 2 251030 U 251 D ________GLOBALE ________$$GENR
G 0 4 - 2 251289 U 251 D ________GLOBALE ________$$TYPE
G 0 5 - 2 251548 U 1001 D ________GLOBALE ________$$DOCU
G 0 6 - 2 252557 U 2000 D ________GLOBALE ________$$ORIG
G 0 7 - 2 254565 U 8004 D ________GLOBALE ________$$RNOM
G 0 8 - 2 262577 U 2000 D ________GLOBALE ________$$LTYP
G 0 9 - 2 264585 U 2000 D ________GLOBALE ________$$LONG
G 0 10 - 2 266593 U 2000 D ________GLOBALE ________$$LONO
G 0 11 - 2 268601 U 2000 D ________GLOBALE ________$$DATE
G 0 12 - 2 270609 U 2000 D ________GLOBALE ________$$LUTI
G 0 13 - 2 272617 U 4177 D ________GLOBALE ________$$HCOD

V 0 0 0 2177711 X 9680 X <<<< FREE >>>>
G 0.247 0 2187399 NAKED TESTSTEMX2DS .NUME.NEQU
G 0.248 0 2187409 X 6 D NAKED .NUME.REFE
G 0.249 0 2187423 X 1680 D NAKED .NUME.NUEQ
G 0.250 0 2189111 X 3360 D NAKED .NUME.DEEQ
G 0.251 0 2192479 X 1680 D NAKED .NUME.DELG
V 0 0 0 2194167 X.400 X <<<< FREE >>>>
G 0.252 0 2194575 X 6 D NAKED .SLCS.REFE
G 0.253 0 2194589 X 1680 D NAKED .SLCS.HCOL
G 0.254 0 2196277 X 1680 D NAKED .SLCS.ADIA
G 0.255 0 2197965 NAKED TESTSTEMX2DS .SLCS.ABLO
G 0.256 0 2197975 X 1680 D NAKED .SLCS.IABL
G 0.257 0 2199663 X 6 D NAKED .SLCS.DESC
0 0 0 2199677 X 946044 X <<<< FREE >>>>
Impression of the indices system
The routine
JEIMPR
allows to print the indices associated with the various opened bases, it
traverses the system object sequentially
$$RNOM
and prints the values of the attributes when it
first character of the name is different from “?”. Following information is printed:
·
the simple identifier of object,
·
the name of the simple object,
·
the kind of the object,
·
the type of the object,
·
the length of the type used,
·
the length of the object (attribute
LONMAX
or
NOMMAX
),
·
the length measured in the type of the segment of values,
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
28/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
·
the number of the recording containing the image disc,
·
the position in the recording for the small objects (in bytes),
·
the address relative memory of the segment of values.
--------------------------------------------------------------------------------
---- CATALOG CLASS G
----
--------------------------------------------------------------------------------
NUM ------------- NAME ---------------- G T L --LENGTH - LOTY- - IADD- --KADM--
1 ________GLOBALE ________$$CARA - VI 8 11 11 1 21697
2 ________GLOBALE ________$$IADD - VI 8 4000 4000 1 247022
3 ________GLOBALE ________$$GENR - V-K- 1 2000 2000 1 251030
4 ________GLOBALE ________$$TYPE - V-K- 1 2000 2000 1 251289
5 ________GLOBALE ________$$DOCU - V-K- 4 2000 2000 1 251548
6 ________GLOBALE ________$$ORIG - V-K- 8 2000 2000 1 252557
7 ________GLOBALE ________$$RNOM - V-K-32 2000 2000 1 254565
8 ________GLOBALE ________$$LTYP - VI 8 2000 2000 1 262577
9 ________GLOBALE ________$$LONG - VI 8 2000 2000 1 264585
10 ________GLOBALE ________$$LONO - VI 8 2000 2000 1 266593
11 ________GLOBALE ________$$DATE - VI 8 2000 2000 1 268601
12 ________GLOBALE ________$$LUTI - VI 8 2000 2000 1 270609
13 ________GLOBALE ________$$HCOD - NOR 8 4177 4177 1 272617
14 ________GLOBALE ________$$USADI - VI 8 10484 10484 1 276802
15 ________GLOBALE ________$$ACCE - VI 8 5242 5242 1 34948
16 ________GLOBALE ________$$MARQ - VI 8 4000 4000 0 21716
17 ________GLOBALE ________$$INDX - VI 8 9216 9216 0 25724
18 ________GLOBALE ________$$TLEC - VI 8 102400 102400 0 40198
19 ________GLOBALE ________$$TECR - VI 8 102400 102400 0 142606
20 ________GLOBALE ________$$IADM - VI 8 2000 2000 0 245014
21 &&SYS FI.NOMS - V-K- 8.142.142 0 797130
22 &&SYS FI.ARITE - VI 8.142.142 0 797280
23 &&SYS FI.PRIORITE - VI 8.142.142 0 797430
24 &&SYS FI.CLASSE - VI 8.142.142 0 797580
25 &&SYS FI.VALEURS_IS - VI 8.142.142 0 797730
NUM ------------- NAME ---------------- G T L --LENGTH - LOTY- - IADD- --KADM--
26 &&SYS FI.VALEURS_R8 - V-R- 8.142.142 0 797880
27 &&SYS FI.VALEURS_C8 - V-C-16 142.142 0 798030
28 &&SYS RESULT.USER - V-K-80 500.500 0 812337
29 &&SYS RESULT.STAT - V-K-80 500.500 0 817355
30 &&SYS .CODE - V-K- 8 3 3 0 828466
31 &CATA.GD.LNOCMP - VI 8.107.107 0 1147885
32 &CATA.GD.NOMGD - N-K- 8.106.280 0 1148000

252 NAKED .SLCS.REFE - V-K-24 1 1 0 2194575
253 NAKED .SLCS.HCOL - VI 8 1680 1680 0 2194589
254 NAKED .SLCS.ADIA - VI 8 1680 1680 0 2196277
255 NAKED .SLCS.ABLO - VI 8 2 2 0 2197965
256 NAKED .SLCS.IABL - VI 8 1680 1680 0 2197975
257 NAKED .SLCS.DESC - VI 8 6.6 0 2199663
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
29/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Impression of the attributes
The routine
JEIMPA
print the whole of the attributes for an object JEVEUX. It is the whole of
routines of impression of message (
JVMESS
,
JVIMPI
,…) who is used to format the different ones
arguments.
<X> <JEIMPA> IMPRESSION OF THE ATTRIBUTES OF >&INEL.FACE4 .FFORMES <
> <
CLAS STANDARD >G< GENR >V< >R< LTYP 8 DOCU > < DATE 0 ORIG > <
LONMAX 152 LONUTI 0 LONO 152 IADM 1701910 IADD 0 LADD 0 USE >X D<
Note:
The impression of the attributes of the objects of collection or their contents can require the setting in
memory of the attribute objects, and their release at the end of the action. A temporary mark equalizes with
- 2 is affected in this case.
Impression of the contents of a segment of values
The routine
JEIMPO
allows to print the segments of values associated with an object JEVEUX.
SEGMENT IMPRESSION OF VALUES >&INEL.FACE4 .FFORMES <
>>>>>
1 - 1.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
6 - 1.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
11 - 1.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
16 - 1.00000E+00 - 5.00000E-01 - 5.00000E-01 5.00000E-01 0.00000E+00
21 - 0.00000E+00 0.00000E+00 0.00000E+00 5.00000E-01 - 5.00000E-01
26 - 0.00000E+00 5.00000E-01 - 5.00000E-01 0.00000E+00 5.00000E-01
31 - 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
36 - - 5.00000E-01 5.00000E-01 5.00000E-01 - 5.00000E-01 0.00000E+00
41 - 0.00000E+00 - 5.00000E-01 0.00000E+00 0.00000E+00 5.00000E-01
46 - 0.00000E+00 - 5.00000E-01 5.00000E-01 1.00000E+00 1.00000E+00
51 - 1.00000E+00 1.00000E+00 6.22008E-01 1.66667E-01 4.46582E-02
56 - 1.66667E-01 1.66667E-01 4.46582E-02 1.66667E-01 6.22008E-01
61 - 1.66667E-01 6.22008E-01 1.66667E-01 4.46582E-02 4.46582E-02
66 - 1.66667E-01 6.22008E-01 1.66667E-01 - 3.94338E-01 - 3.94338E-01
71 - 3.94338E-01 - 1.05662E-01 1.05662E-01 1.05662E-01 - 1.05662E-01
76 - 3.94338E-01 - 1.05662E-01 - 3.94338E-01 1.05662E-01 - 1.05662E-01
81 - 3.94338E-01 1.05662E-01 - 3.94338E-01 3.94338E-01 - 3.94338E-01
86 - - 1.05662E-01 3.94338E-01 - 3.94338E-01 1.05662E-01 3.94338E-01
91 - - 1.05662E-01 1.05662E-01 - 1.05662E-01 - 1.05662E-01 1.05662E-01
96 - - 3.94338E-01 3.94338E-01 3.94338E-01 - 3.94338E-01 1.05662E-01
101 - 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00 6.22008E-01
106 - 1.66667E-01 4.46582E-02 1.66667E-01 1.66667E-01 4.46582E-02
111 - 1.66667E-01 6.22008E-01 1.66667E-01 6.22008E-01 1.66667E-01
116 - 4.46582E-02 4.46582E-02 1.66667E-01 6.22008E-01 1.66667E-01
121 - - 3.94338E-01 - 3.94338E-01 3.94338E-01 - 1.05662E-01 1.05662E-01
126 - 1.05662E-01 - 1.05662E-01 3.94338E-01 - 1.05662E-01 - 3.94338E-01
131 - 1.05662E-01 - 1.05662E-01 3.94338E-01 1.05662E-01 - 3.94338E-01
136 - 3.94338E-01 - 3.94338E-01 - 1.05662E-01 3.94338E-01 - 3.94338E-01
141 - 1.05662E-01 3.94338E-01 - 1.05662E-01 1.05662E-01 - 1.05662E-01
146 - - 1.05662E-01 1.05662E-01 - 3.94338E-01 3.94338E-01 3.94338E-01
151 - - 3.94338E-01 1.05662E-01
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
30/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
13 APPENDIX 1: Description of the commun runs used in
manager of memory JEVEUX
·
/FENVJE/
INTEGER LFIC, MFIC
COMMON/FENVJE/LFIC, MFIC
LFIC
length maximun in bytes of a extend,
MFIC
cut maximum in bytes of disk space usable.
·
/IACCED//JIACCE/
PARAMETER (NR = 5)
COMMON/IACCED/IACCE (1)
COMMON/JIACCE/JIACCE (NR)
variable of reference and position of the segment of values associated with
the system object of suffix:
IACCE, JIACCE
$$ACCE
·
/IADMJE/
INTEGER IPGC, KDESMA, LGD, LGDUTI, KPOSMA, LGP, LGPUTI
COMMON/IADMJE/IPGC, KDESMA, LGD, LGDUTI, KPOSMA, LGP, LGPUTI
IPGC
Value of the current mark (varies between - 3 and N),
KDESMA
address segments of values containing the addresses of the marked objects,
LGD
length of the segment of value associated with
KDESMA
,
LGDUTI
length used of the segment of value associated with
KDESMA
,
KPOSMA
address segments of values containing the positions associated with each
mark,
LGP
length of the segment of value associated with
KPOSMA
,
LGPUTI
length used of the segment of value associated with
KPOSMA
.
·
/IATCJE/
INTEGER ICLAS, ICLAOS, ICLACO, IDATOS, IDATCO, IDATOC
COMMON/IATCJE/ICLAS, ICLAOS, ICLACO, IDATOS, IDATCO, IDATOC
ICLAS
current class,
ICLAOS
classify simple object,
ICLACO
classify collection,
IDATOS
identifier of the simple object,
IDATCO
identifier of the collection,
IDATOC
identifier of the object of collection.
·
/IATRJE//JIATJE/
PARAMETER (NR = 5)
INTEGER LTYP, LENGTH, DATE, IADD, IADM,
+ LONO, HCOD, CARA, LUTI, IMARQ
COMMON/IATRJE/LTYP (1), LENGTH (1), DATE (1), IADD (1), IADM (1),
+ LONO (1), HCOD (1), CARA (1), LUTI (1), IMARQ (1)
COMMON/JIATJE/JLTYP (NR), JLONG (NR), JDATE (NR), JIADD (NR), JIADM (NR),
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
31/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
+ JLONO (NR), JHCOD (NR), JCARA (NR), JLUTI (NR), JMARQ (NR)
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
32/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
variable of reference and position of the segment of values associated with
the system object of suffix:
LTYPE, JLTYP
$$LTYP
LENGTH, JLONG
$$LONG
DATE, JDATE
$$DATE
IADD, JIADM
$$IADD
IADM, JIADD
$$IADM
LONO, JLONO
$$LONO
HCOD, JHCOD
$$HCOD
CARA, JCARA
$$CARA
LUTI, JLUTI
$$LUTI
IMARQ, JMARQ
$$MARQ
·
/ICODJE/
INTEGER NUMATR
COMMON/IDATJE/NUMATR
NUMATR
identifier of the system object of collection
$$LONO
·
/IDATJE/
PARAMETER (NR = 5)
INTEGER NRHCOD, NREMAX, NREUTI
COMMON/ICODJE/NRHCOD (NR), NREMAX (NR), NREUTI (NR)
NRHCOD
cut (in entirety) system object
$$HCOD
NREMAX
cut (in entirety) system object
$$RNOM
NREUTI
length used of the system object
$$RNOM
·
/IENVJE/
INTEGER LBIS, LAWS, LOLS, RENTED, LOR8, LOC8
COMMON/IENVJE/LBIS, LAWS, LOLS, RENTED, LOR8, LOC8
LBIS
length out of bits of the entirety,
LAWS
length in bytes of the entirety,
LOLS
length in bytes of logic,
RENTED
length in bytes of the unit of addressing,
LOR8
length in bytes of reality,
LOC8
length in bytes of the complex.
·
/IEXTJE/
PARAMETER (NR = 5)
INTEGER IDN, IEXT, NBENRG
COMMON/IEXTJE/IDN (NR), IEXT (NR), NBENRG (NR)
IDN
is not used any more since the use of the named accesses.
IEXT
number open extends
NBENRG
a maximum number of recordings of a extend
·
/IFICJE/
PARAMETER (NR = 5)
INTEGER NBLMAX, NBLUTI, LONGBL,
+ KITLEC, KITECR, KINDEF, KIADM,
+ IITLEC, IITECR, NITECR, KMARQ
COMMON/IFICJE/NBLMAX (NR), NBLUTI (NR), LONGBL (NR),
+ KITLEC (NR), KITECR (NR), KINDEF (NR), KIADM (NR),
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
33/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
+ IITLEC (NR), IITECR (NR), NITECR (NR), KMARQ (NR)
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
34/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
For each base associated with index I ranging between 1 and NR
NBLMAX
numbers maximun recordings,
NBLUTI
a number of recordings used,
LONGBL
length in bytes of the recordings,
KITLEC
address in
K1ZON
segment of values associated with the buffer with reading,
KITECR
address in
K1ZON
segment of values associated with the buffer with writing,
KINDEF
address in
ISZON
segment of values associated with the index used for
files of random access,
KIADM
address in
ISZON
segment of values associated with the addresses memory,
IITLEC
address disc of the buffer of reading (number of recording),
IITECR
address disc of the buffer of writing (number of recording),
NITECR
cut in bytes of the portion of the buffer of writing used,
KMARQ
address in
ISZON
segment of values associated with the marks.
·
/ILOCJE/
INTEGER ILOC
COMMON/ILOCJE/ILOC
ILOC
pointer on the address of the beginning of the area memory allocated by
JXALLM
.
·
/INUMJE/
INTEGER NUMEC
COMMON/INUMJE/NUMEC
NUMEC
number of the object of collection or number of insertion in one
index of names.
·
/ISTAJE/
INTEGER ISTAT
COMMON/ISTAJE/ISTAT (4)
ISTAT
code associated with the state and the statute with the segments with values
ISTAT
(1) corresponds to X
ISTAT
(2) corresponds to U
ISTAT
(3) corresponds to A
ISTAT
(4) corresponds to D
·
/IXADJE/
INTEGER IDINIT, IDXAXD
COMMON/IXADJE/IDINIT, IDXAXD
IDINIT
is worth 5, beginning of the area managed memory,
IDXAXD
initial position in
ISZON
for search.
·
/IZONJE/
INTEGER LK1ZON, JK1ZON, LISZON, JISZON, ISZON (1)
COMMON/IZONJE/LK1ZON, JK1ZON, LISZON, JISZON
EQUIVALENCE (ISZON (1), K1ZON (1))
LK1ZON
length in character (
CHARACTER * 1
) of the managed area,
JK1ZON
address in
K1ZON
beginning of the area,
LISZON
length in entirety (
INTEGER * 8
on CRAY,
INTEGER * 4
on Sun) of the area
managed,
JISZON
address in
ISZON
beginning of the area,
ISZON
area memory in entirety (
INTEGER * 8
on CRAY,
INTEGER * 4
on Sun) managed
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
35/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
dynamically; this table of the whole type does not form part of the variables
deposited in the commun run, but it is put in equivalence with the table of
character type.
The command
EQUIVALENCE
allows to align the two tables of the whole type and character of
way to be able indifferently to use one or the other following the needs.
·
/KUSADI//JUSADI/
PARAMETER (NR = 5)
COMMON/KUSADI/IUSADI (1)
COMMON/JUSADI/JUSADI (NR)
variable of reference and position of the segment of values associated with
the system object of suffix:
IACCE, JIACCE
$$USADI
·
/JCHAJE/
INTEGER ILLICI, JCLASS (0:255)
COMMON/JCHAJE/ILLICI, JCLASS
ILLICI
- 1 is worth,
JCLASS
is affected with the result of the function
ICHAR
on the characters
licit, if not is worth
ILLICI
.
·
/JENVJE/
INTEGER MSLOIS
COMMON/JENVJE/MSLOIS
MSLOIS
mask being worth the sum of the weights of
LOIS-1
first entireties,
intended to replace the operation modulo (
LAWS
) by function AND
·
/JCONJE/
INTEGER MSSTAT, LSSTAT
COMMON/JCONJE/MSSTAT, LSSTAT
MSSTAT
is not used any more, mask being worth the sum of the weights of
LSSTAT
first
entireties.
LSSTAT
(
LBISEM - 4
) where
LBISEM
is the length out of bit of the entirety, is used in
JELIRA
to obtain the equivalent in the form of character of the statute or of
the state associated with a segment with values.
·
/
KATRJE/,/JKATJE
PARAMETER (NR = 5)
CHARACTER * 1 GENR, STANDARD
CHARACTER * 4 DOCU
CHARACTER * 8 ORIG
CHARACTER * 32 RNOM
COMMON/KATRJE/GENR (8), TYPE (8), DOCU (2), ORIG (1), RNOM (1)
COMMON/JKATJE/JGENR (NR), JTYPE (NR), JDOCU (NR), JORIG (NR), JRNOM (NR)
variable of reference and position of the segment of values associated with the object
system of suffix:
GENR
$$GENR
GENR
$$TYPE
DOCU
$$DOCU
ORIG
$$ORIG
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
36/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
RNOM
$$RNOM
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
37/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
·
/KBASJE/
PARAMETER (NR = 5)
CHARACTER * 8 NOMBAS
COMMON/KBASJE/NOMBAS (NR)
NOMBA
name of the base (used for the error messages)
·
/KFICJE/
PARAMETER (NR = 5)
CHARACTER * 2 DN2
CHARACTER * 5 CLASS
CHARACTER * 8 NOMFIC, KSTOUT, KSTINI
COMMON/KFICJE/CLASS, NOMFIC (NR), KSTOUT (NR), KSTINI (NR),
+ DN2 (NR)
DN2
unutilised!
CLASSIFY
allows to store the whole of the names of the open classes (first
letter of the basic name)
NOMFIC
name of the open bases
KSTOUT
statute at exit of the bases (
“SAVES”
or
“DESTROYED”
)
KSTINI
statute in continuation of the bases ('
DUMMY'
,
“BEGINNING”
or
“CONTINUES”
)
·
/KNOMJE/
CHARACTER * 24 NOMEC
COMMON/KNOMJE/NOMEC
NOMEC
name of object of collection or name to be inserted in an index
·
/KZONJE/
CHARACTER * 1 K1ZON
COMMON/KZONJE/K1ZON (8)
K1ZON
area memory in character (
CHARACTER * 1
) managed dynamically.
·
/NFICJE/
INTEGER NBCLA
COMMON/NFICJE/NBCLA
NBCLA
a number of classes opened simultaneously
·
/NOMCJE/
CHARACTER * 24 NOMCO
CHARACTER * 32 NOMUTI, NOMOS, NOMOC, BL32
COMMON/NOMCJE/NOMUTI, NOMOS, NOMCO, NOMOC, BL32
NOMUTI
name used (in the calls to the routine
I
….),
NOMOS
name of the simple object,
NOMCO
name of the collection,
NOMOC
name of the object of collection,
BL32
white channel length 32.
·
/UNDFJE
INTEGER LUNDEF, IDEBUG
COMMON/UNDFJE/LUNDEF, IDEBUG
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
38/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
LUNDEF
affected in
JEDEBU
by the function envima
ISNNEM
(not has number),
IDEBUG
is worth 1 in debugg mode, 0 if not.
14 APPENDIX 2: Shafts of call simplified of some
subroutines
One presents below the shafts of main subroutines JEVEUX, one voluntarily has
limited to three levels of subroutines to facilitate comprehension. Truncated branches
indicate that there are other calls JEVEUX in the subroutine.
Shaft of call of the routine
JEECRA
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
39/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Shaft of call of the routine
JECREO
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
40/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Shaft of call of the routine
JEVEUO
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
41/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Shaft of call of the routine
JEEXIN
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
42/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Shaft of call of the routine
JEMARQ
Shaft of call of the routine
JEDEMA
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
43/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Shaft of call of the routine
JELIBE
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
44/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Shaft of call of the routine
JEDETR
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
45/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Shaft of call of the routine
JECREC
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
46/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Shaft of call of the routine
JENONU
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
47/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Shaft of call of the routine
JEDUPO
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
48/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
15 APPENDIX 3: List subroutines and of theirs
main functions
JECREC
Creation of a collection
JECREO
Creation of a simple object
JECROC
Creation of an object of collection
JEDBUG
Mode switch-over debug Jeveux
JEDEBU
Initialization of the parameters of the software
JEDEMA
Décrémente the mark and releases the objects
JEDETC
Destroyed a whole of objects
JEDETR
Destroyed an object
JEDETV
Destroyed the objects of the Volatile base
JEDISP
Determine greatest spaces available in memory
JEDUPC
Duplicate a whole of objects
JEDUPO
Duplicate an object
JEECRA
Affect the attributes of an object
JEEXIN
Test the existence of a descriptor of object
JEFINI
Finish the execution of the software
JEIMPA
Print the attributes of an object
JEIMPD
Print the list of the objects present on a basis
JEIMPM
Print the contents of the segmentation memory
JEIMPO
Print the contents of the segment of value of an object
JEIMPR
Print the contents of an index
JEINIF
Initialize the parameters associated with a base
JELIBE
Release an object
JELIBF
Release the whole of the objects associated with a base
JELIBZ
Release the whole of the objects associated with the mark - 1
JELIRA
Reading of the value of an attribute of an object
JELSTC
Turn over the list of the objects containing a character string in their identifier
JEMARQ
Increment the current mark
JENONU
Determine the number of object of collection according to the name
JENUNO
Determine the name of object of collection according to the number
JEPRAT
Print the contents of the system objects
JERAZO
To 0 the contents of an object give
JETASS
Move the recordings within the file of random access in order to recover space
free
JEVEMA
Deliver the value of the current mark
JEVEUO
Return the position in table Z. segment of values associated with an object
JEVEUS
Return the position in table Z. segment of values associated with an object and
position the mark with - 3
JEVEUT
Return the position in table Z. segment of values associated with an object and
position the mark with - 1
JEXATR
Function of synchronization giving access the vector cumulated lengths
of a contiguous collection variable length
JEXNOM
Function of synchronization allowing to reach by name an object of collection
JEXNUM
Function of synchronization allowing to reach by number an object of collection
JJALLC
Allowance of the system objects of collection
JJALLS
Allowance of a segment of values
JJALTY
Sorting on the type of object (before setting in memory of a segment of values)
JJANAL
Analyze channel containing the class, the kind and the type of the object
JJAREP
Enlarging of the indices
JJCODN
Insertion or search in an index of collection
JJCREC
Creation of the system objects of collection
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
49/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
JJCREN
Insertion or search in the indices of the bases
JJCROC
Processing of the name of object of collection
JJECRS
Updating of the descriptors
JJIMPO
Impression of the contents of a segment of values
JJLIBP
Release of the area memory occupied by a segment of values
JJLIDE
Release of the segments of values
JJLIRS
Reading of the descriptors
JJMZAT
Restoring of the attributes associated with the identifier with a segment with values
JJPREM
At the time of the initialization of an index, the nearest prime number (appearing returns
in one dated)
JJVERN
Processing of the name Jeveux
JXALLM
Dynamic allocation of the area memory managed by the software
JXCOPY
Recopy file of random access associated a base with elimination of
recording marked unutilised
JXDEPS
Displacement in memory of a segment of values
JXECRB
Writing of one or more recordings
JXECRO
Writing on disc of a segment of values
JXFERM
Closing of a file of random access
JXHCOD
Function of associative addressing
JXLIBD
Release of the area disc occupied by a segment of values
JXLIBM
Final release of the area dynamically allocated memory
JXLIR1
Reading of the first recording associated with a base in order to recover its
characteristics
JXLIRB
Reading of one or more recordings
JXLIRO
Reading on disc of a segment of values
JXLOCS
Determination of the relative address of a segment of values
JXOUVR
Opening of the logical units associated the bases
JXVERI
Examine the integrity of the segmentation memory
JXVEUO
Setting in memory of a segment of values
16
APPENDIX 4: GLOSSARY
Base
Together of files of random access: the TOTAL base is
constituted of the files glob.1, glob.2, glob.3,…
Classify
Named by the first letter of the base, the class allows
to associate an object JEVEUX a file.
Identifier of object JEVEUX
For a simple object or a collection it is the number
of command of insertion in the index of the base, for an object
of collection it is the identifier of collection and the number
of command of insertion in the collection.
Descriptor of a segment of values
One of the 8 entireties framing a segment of values in
memory or one of the 3 entireties preceding a segment by
values on a recording (disc or buffer)
File
access
direct
File from which the recordings are accessible
directly by name or number
Object JEVEUX
Indicate at the same time the simple objects, the collections and them
objects of collection
Simple object
Object from which the attributes are directly accessible among
the system objects associated with the various classes
Objects of collection
Objects whose attributes are shared and managed in
simple objects created with the collection
Segment of values
Together values associated with an object JEVEUX and
positioned in a contiguous way in memory or on disc
System object
Simple objects managed by the software and intended to collect them
values of the various attributes.
background image
Code_Aster
®
Version
4.0
Titrate:
Documentation of development and maintenance of the manager
Date:
28/01/1999
Author (S)
:
J.P. LEFEBVRE
Key:
D9.02.02-A
Page:
50/50
Data-processing manual of Description
D9.02 booklet:
HI-75/97/010 - Ind A
Debug
Jeveux
Option of use of Jeveux allowing to cause it
immediate unloading of the segments of values at the time of
releases and the assignment with value UNDEF (CRAY) or NaN
(Sun Solaris) of the released segment.