|
    
Memory usage
The amount of memory
used by the program during a calculation is determined by three quantities:
- The size of the program itself (executable statements, fixed arrays in
subroutines...).
This quantity depends on the program release number and is
currently somewhere between 10 and 16 Mb.
- Buffer space used by adf for more
efficient I/O handling. This quantity is set at installation.
See the Installation Manual.
- Dynamically allocated arrays. The program allocates memory dynamically during the run
conform
the requirements of the actual calculation. A preset maximum applies
(defined by the Installation,
see the Installation Manual) to the total amount
of such dynamical memory.
The program will stop when an attempt is made to
exceed this maximum.
The actual dynamical allocation of memory happens in memory blocks, separately
for the different data types
(real, integer, logical, character). The size of
these blocks is set at installation.
Via input the parameters used in the
dynamical allocation mechanism can be adjusted to override the installation-set
defaults. This applies to the total maximum of dynamical memory (the most
significant application), but also to the sizes of the memory blocks by which
the actually used memory is built up. The latter aspect is rather technical and
should not play a role for the normal user.
All input keys pertaining to dynamical
allocation are simple keys and specify the corresponding quantities in
Mbytes. The total amount of memory (for scratch space):
MAXMEMORYUSAGE n
The technical parameters, determining the
chunks of memory allocated at a time:
REALMEMBLOCK n
INTEGERMEMBLOCK n
LOGICALMEMBLOCK n
STRINGMEMBLOCK n
The defaults are defined by the
installation. The maxmemoryusage
value will have been chosen specifically by the user/installer to accomodate
his machine(s). The other (*memblock) parameters
are in principle merely technical and will usually not have been adjusted by
the installer. Standard values are:
reals: 1
integers: 1/2
logicals: 1/32
strings: 3/2
As already suggested by the default values:
the input values (n) for the memory-usage keys need not
be integers: reals or integer fractions are allowed.
    
|