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.