Pure spin-angular momentum coefficients for non-scalar one-particle operators in jj-coupling. G. Gaigalas, S. Fritzsche.

PROGRAM SUMMARY
Title of program: ANCO(2)
Catalogue identifier: ADQO
Ref. in CPC: 148(2002)349
Distribution format: tar gzip file
Operating system: IBM AIX 6.2.2+, Linux 7.1
High speed store required: 200K words
Number of bits in a word: 32
Number of lines in distributed program, including test data, etc: 208558
Keywords: Atomic many-body perturbation theory, Complex atom, Configuration interaction, Effective Hamiltonian, Multiconfiguration Dirac-Fock, Photoionization, Racah algebra, Matrix element reduced, Relativistic, Second quantization, Spin-angular coefficients, Tensor operators, Transition probabilities, 9/2-subshell, Atomic physics, Structure.
Programming language used: Fortran
Computer: IBM RS 6000 , PC Pentium II , AMD Athlon K7 .

Other versions of this program:

 Cat. Id.  Title                             Ref. in CPC
 ADOO      ANCO                               139(2001)263                   
 

Nature of physical problem:
The matrix elements of a one-electron tensor operator A^**k of (any) rank k with respect to a set of configuration state functions (CSF) |gammaiJiPi> can be written as Sigmaij(tij**k(ab)(a|A^**k|b)) where the spin-angular coefficients tij**k(ab) are independent of the operator A^**k; i, j are CSF labels and a, b specify the interacting orbitals. A combination of second-quantization and quasispin methods has been utilized in order to derive and to obtain these angular coefficients for one-electron tensor operator of any rank [3]. Operators of non-scalar rank, k>0, occur frequently, for instance, in the study of transition probabilities, photoionization and electron capture processes, alignment transfer, collision strengths, and elsewhere.

Reasons for the new version:
The RATIP package [2] has been found an efficient tool during recent years, in order to exploit the (relativistic atomic) wave functions from the GRASP92 program [4] for the computation of atomic properties and processes. Apart from a more efficient set-up of the (Dirac-Coulomb-Breit) Hamiltonian matrix [5], the RATIP program now supports large-scale computations of transition probabilities within a relaxed orbital basis [6], Auger rates and angular anisotropy parameters [7], and of several other quantities. For these properties, the spin-angular coefficients for scalar one- and two- particle operators are sufficient, as are obtained from the previous version of ANCO [1]. However, in order to extend the range of (possible) applications also to other processes such as the atomic photoionization, (radiative) electron capture, or photoexcitation and alignment studies, non-scalar one-particle operators will occur and need to be treated efficiently. With the presently revised version of ANCO, we provide the spin-angular coefficients for such operators, making use of the modern design of the RATIP package in Fortran 90/95 [8]. Similarly as for all previously implemented components of this package, the revised ANCO program facilitates the use of large wave function expansions of several ten thousand CSF or even more in the future.

Summary of revisions:
When compared with the previous CPC version of the ANCO program [1], the following modifications and (new) capabilities have been added: (1) The module rabs_recoupling has been enlarged to include further expressions from Ref. [9], i.e. Eqs (14) and (19). These expressions are incorporated into the routines recoupling_matrix_1p_shell for calculating the recoupling matrix for the case of CSF with one open shell and into recoupling_matrix_2p_shells for CSF with two open shells, respectively. Moreover, the subroutine recoupling_C_3 has been added to derive the C3 coefficients, cf. [9, Eq. (17)]. (2) Several procedures have been added also to the module rabs_anco to enable the user with a simple and direct access to the spin-angular coefficients. For example, the two routines anco_calculate_csf_pair_1p and anco_calculate_csf_matrix_1p provide these coefficients for any one-particle operator with specified rank, either for a single pair of CSF or for a whole array of such functions, respectively. Both procedures make use of the subroutines anco_one_particle_diag for the diagonal matrix elements and anco_one_particle_off otherwise. In anco_calculate_csf_matrix_1p, the spin-angular coeffecients are calculated for any rank k>=0 either for the whole matrix or for a sub-matrix with rows from (given) row_low ... row_up and columns from col_low ... col_up. While the procedure anco_calculate_csf_pairs_1p returns no_T_coeff coefficients directly in the array anco_T_list, the coefficients of a whole CSF array are returned in the derived data structure anco_pair_list; see the header of the module rabs_anco for further details. (3) The definition and set-up of properly derived data types in [1] has definitely helped facilitate the data exchange between different components of the RATIP package. These data structures have been used also for extending the ANCO program. For the one-particle coefficients, for example, the derived type type :: anco_T_coeff integer :: nu type(nkappa) :: a, b real(kind=dp) :: T end type anco_T_coeff were introduced already in our previous version, where we used nu=0 to designate the scalar interaction. The integer nu now indicates simply the rank of the (one-particle) tensor. In further applications of RATIP, therefore, these coefficients can be easily accessed if the module rabs_anco is properly used by the additional code. (4) A few minor changes are made also in the (interactive) dialog which controls the program as well as for the printout of the spin-angular coefficients. One additional question in the dialog: Generate one-electron angular coefficients for non-scalar interactions? can first be answered with n or N - if non-scalar coefficients are not requested. If answered by y or Y, the additional question: Generate GRASP92-like d coefficients for non-scalar interactions? arises and helps the user to select GRASP92-like dab**k(rs) coefficients, such as previously obtained from the MCT component of GRASP, or 'pure' angular coefficients (as utilized within RATIP). Finally, the prompt Enter the rank of the tensor: requests the user to specify the rank of the one-particle operator. (5) As previously, the ANCO program generates two output files; while the .sumANCO summary file provides a short summary of the computations, the spin-angular coefficients and all necessary quantum numbers for their classification are stored in the .vnu file. The format for printing the drs**k(ab) and rrs**k(ab) is very similar to each other, apart from the sorting process which is used in GRASP92 [4] and which is not done by ANCO. As before, the source code of the ANCO component is distributed together with the source of all other components of RATIP in order to facilitate the installation and to save the user from additional adaptions to be made. The whole package is provided as a compressed Ratip_anco.tar.Z archive file. On a UNIX (or any compatible) system, the two commands uncompress Ratip_anco.tar.Z and tar xvf Ratip_anco.tar will reconstruct the file structure. The obtained ratip root directory then obtains the source code, the file make-anco for generating the executable xanco and the subdirectory test-anco for the test example. Details of the installation are explained also in the Read.me file in the ratip root directory.

Restrictions:
For all subshells with j>=11/2 (i.e. h11/2-, i-, ... electrons), the maximal number of equivalent electrons is restricted to two.

Typical running time:
This strongly depends on the system and the size of the wave function expansion to be considered. Our test case, which is distributed with the code in the subdirectory test-anco, required 32 s on a 1400 MHz AMD Athlon K7/1400T. Typically, ANCO calculates about 10,000 angular coefficients per second.

Unusual features:
ANCO has been designed as component of the RATIP package [2] for calculating a variety of relativistic atomic transition and ionization properties. Owing to the careful use of allocatable and pointer arrays, there is (almost) no restriction of the size or any dimension of the the "physical problem" apart from the computer resources themselves.

Additional comments:
Number of bits in a word: All real variables are parameterized by a selected kind parameter. Currently this parameter is set to double precision (two 32-bit words) for consistency with other components of the RATIP package [2]. New version: The new version supersedes the previous one. Apart from scalar one- and two-particle tensor operators, the program now supports also non-scalar one-particle operators a^**k for any rank k>0.

References:

 [1] G. Gaigalas, S. Fritzsche, I.P. Grant, Comput. Phys. Comm.          
     139 (2001) 263.                                                     
 [2] S. Fritzsche, J. Elec. Spec. Rel. Phen. 114-116 (2001) 1155.        
 [3] G. Gaigalas, Lithuanian Phys. J. 39 (1999) 63.                      
 [4] F.A. Parpia, C.F. Fischer, I.P. Grant, Comput. Phys. Comm.          
     94 (1996) 249.                                                      
 [5] S. Fritzsche, C.F. Fischer, G. Gaigalas, Comput. Phys. Comm (2002), 
     in print.                                                           
 [6] S. Fritzsche, C.F. Fischer, C.Z. Dong, Comput. Phys. Comm.          
     124 (2000) 343.                                                     
 [7] K. Ueda, Y. Shimizu, H. Chiba, M. Kitajima, H. Tanaka, S. Fritzsche,
     N.M. Kabachnik, J. Phys. B 34 (2001) 107.                           
 [8] M. Metcalf, J. Reid, Fortran 90/95 Explained, Oxford University     
     Press, 1996.                                                        
 [9] G. Gaigalas, Z. Rudzikas, C.F. Fischer, J. Phys. B 30 (1997) 3747.