PROGRAM SUMMARY
Title of program:
CESD99
Catalogue identifier:
ADLG
Ref. in CPC:
124(2000)353
Distribution format: tar gzip file
Operating system: IBM AIX 4.1.2+, Linux 6.1
High speed store required:
20MK words
Number of bits in a word:
32
Peripherals Required: disc
Number of lines in distributed program, including test data, etc:
140885
Programming language used: Fortran
Computer: IBM RS 6000
Other versions of this program:
Cat. Id. Title Ref. in CPC ADCB CESD 92(1995)111 ADFW CESD97 103(1997)277
Nature of physical problem:
The atomic state functions (ASF) of the structure program GRASP92 [4]
are expanded into a determinant basis.
Reasons for the new version
Accurate atomic structure calculations often require large wave function
expansions which are based on several thousand or even tens of thousand
configuration state functions (CSF). While large expansions became
recently more and more in use for studying level energies and
fine-structures of open-shell atoms [5,6], such wave function expansions
are much less supported if transition or ionization properties need to
be studied. The shortcome of the presently available programs first of
all concerns the demand on memory and CPU time if expansions of more
than a few thousand CSF are involved. In order to increase the
efficiency of our previous implementation CESD97 [1] has completely
been rewritten. CESD99, the new version, now supports wave function
expansions up to several hundred thousands determinants and still
requires only reasonable resources. Two further reasons for providing a
revised version concerned the tight binding of CESD97 to the IBM RS 6000
architecture and a previous limitation that each (single) CSF could have
just a maximum of five open subshells. The strong dependence of CESD97
on the IBM standard followed the "lines" of GRASP92 [4] and made it
difficult in the past to transport these programs to other environments.
By applying the ANSI standard Fortran 90/95, CESD99 is now easy to
"move" and has been tested on several platforms. In addition, to make
CESD99 capable for the investigation of Auger and inner-shell processes,
the maximal number of open subshells has been increased to 9 for each
CSF.
Summary of revisions
Important modifications and new capabilities of CESD99, if compared with
the previous CPC version [1], are:
(1) Derived data types and allocatable respective pointer arrays are
consistently used for defining appropriate data structures. For
example, derived types are defined to keep all information about a
single CSF and a single determinant together; these types are then
applied, in turn, for defining data structures of a complete CSF or
determinant basis. Further derived types are related to (complete) sets
of quantum numbers, the representation of eigenvectors, and many others.
The choice of properly derived types facilitates the data exchange
between different components of the RATIP package (see [3]); such
components deal with the computation of Auger rates and photoionization
cross sections in the multiconfiguration Dirac-Fock model and are
currently transformed to the present standard.
(2) Dynamic allocation is applied to (almost) all arrays and is used
with assumed-shape assignments in order to ensure that just the required
memory is needed.
(3) The internal representation of the occupation numbers 0 and 1 of the
one-electron orbitals in the determinant basis. These occupation
numbers are now held bitwise within integers and are treated by the
(intrinsic) bit manipulation procedures of Fortran 90/95. Thus, the
required memory to store the full basis has been reduced either by a
factor of 8 or even 32, if compared with CESD97, dependent on the
support of the (non-standard) integer*1 data type by the compiler
previously used.
(4) To deal with large CSF lists from GRASP92 [4], a fast comparison of
symmetries and occupation numbers is required in order to ascertain
whether a given determinant is already part of the expansion or not. A
reverted search procedure in which the most recently appended
determinant in the expansion is considered first, has been found useful
and has reduced run times by a factor of 4 to 10. The computing time
now increases approximately linear with the number of CSF in the
computation while a considerable enhancement in CPU time was found
previously.
(5) Even though the CESD99 expansion (.xpn) file has still ASCII format
to facilitate the file transfer from one system to another, it is now
written in a more compact form by applying the bitwise representation of
the occupation numbers within a suitable number of standard integers.
(6) In contrast to previous implementations, CESD99 does not depend on
links to GRASP92 procedures. All subprograms which are required for
loading and handling the GRASP92 data files have been adapted to the new
ANSI standard and incorporated into the package.
The distribution of the CESD99 program will be explained together with
the revised set-up of the RATIP package in Ref. [3].
(7) A few minor modifications concern the interactive dialog and the
printout of intermediate results if the corresponding flags were set.
Restrictions on the complexity of the problem
Like for GRASP92, the number of electrons in subshells with j>=9/2 is
restricted to two. For those large one-electron angular momenta, j,
additional quantum numbers would be needed to classify the corresponding
antisymmetric subshell states uniquely. The present version now allows
a total of 9 open subshells for each CSF.
Typical running time
This strongly depends on the atomic system and the size of the wave
function expansion as applied to the GRASP92 package. In addition to
the number of CSF in the expansion, the CPU time depends on the set of
peel shells. Typically, expansions of 100-300 CSF per minute have been
observed in mnay computations along different isoelectronic sequences.
For the test cases, which are distrubed with the code in the
subdirectory test-cesd99, CPU times of 10 respective 12 minutes were
required on a 266 MHz Pentium II processor.
Unusual features of the program
CESD99 is one component of the RATIP package (cf. [3]) for calculating
relativistic atomic transition and ionization properties.
This package has been developed to extend the application of GRASP92
wave functions. CESD99 now exploits, together with REOS99 [3], the
ANSI Fortran 90/95 standard to enable the maintenance of the package
into the next century. Owing to the careful use of allocatable and
pointer arrays there is (almost) no restriction on the size or any
dimension of the problem apart from the computers themselves.
All real variables are parameterized by a selected kind parameter and,
thus, can easily be adapted to any required precision as supported by
the compiler. Presently, the kind parameter is set to double precision
(two 32-bit words); see Ref. [3] in this volume for details.
References
[1] S. Fritzsche, I.P. Grant, Comput Phys. Commun. 103 (1997) 277. [2] M. Metcalf, J. Reid, Fortran 90/95 Explained (Oxford University Press, 1996). [3] S. Fritzsche, C.F. Fischer, C.Z. Dong, Comput. Phys. Commun., 124 (2000) 340. [4] F.A. Parpia, C.F. Fischer, I.P. Grant, Comput. Phys. Commun. 94 (1996) 249. [5] S. Fritzsche, C.F. Fischer, B. Fricke, At. Data Nucl. Data Tables 68 (1998) 149. [6] S. Fritzsche, B. Fricke, D. Geschke, A. Heitmann, J.E. Sienkiewicz, Astrophys. J. 518 (1999) 994.