CESD99, a new version to represent atomic wave functions in a determinant basis. S. Fritzsche, J. Anton.

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.


 [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.