Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aeev_v1_0.tar.gz(89 Kbytes)
Manuscript Title: 'tripleint.cc' : a program for 2-centre variational leptonic Coulomb potential matrix elements using Hylleraas-type trial functions, with a performance optimization study
Authors: M. Plummer, E.A.G. Armour, A.C. Todd, C.P. Franklin, J.N. Cooper
Program title: tripleint.cc
Catalogue identifier: AEEV_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 180(2009)2410
Programming language: Fortran 95 (fixed format).
Computer: Modern PC (tested on AMD processor) [1], IBM Power5 [2] Cray XT4 [3], similar.
Operating system: Red Hat Linux [1], IBM AIX [2], UNICOS [3].
Has the code been vectorised or parallelized?: Serial (multi-core shared memory may be needed for some large jobs).
RAM: Dependent on parameter sizes and option to use intermediate I/O. Estimates for practical use: 0.5-2GBytes (with intermediate I/O); 1-4GBytes (all-memory: the preferred option).
Keywords: leptonic Schrödinger equations, Hylleraas-type functions, multidimensional integrals, mixed analytic / numerical solution, accuracy, performance optimization study.
PACS: 31.15.-p, 31.15.-ac, 34.50.-s, 34.80.-i, 36.10.-k..
Classification: 2.7, 16.10.

Nature of problem:
The 'tripleint.cc' code evaluates three-particle integrals needed in certain variational (in particular: Rayleigh-Ritz and generalized-Kohn) matrix elements for solution of the Schrödinger equation with two fixed centres (the solutions may then be used in subsequent dynamic nuclear calculations). Specifically the integrals are defined by equation (16) in the main text and contain terms proportional to
                 rik × rjk/rij , i ≠j , i ≠ k , j ≠ k ,
with rij the distance between leptons i and j. The article also briefly describes the performance optimizations used to increase the speed of evaluation of the integrals enough to allow detailed testing and mapping of the effect of varying non-linear parameters in the variational trial functions.

Solution method:
Each integral is solved using prolate spheroidal coordinates and series expansions (with cut-offs) of the many-lepton expressions. 1-d integrals and sub-integrals are solved analytically by various means (the program automatically chooses the most accurate of the available methods for each set of parameters and function arguments), while two of the three integrations over the prolate spheroidal coordinates 'λ' are carried out numerically. Many similar integrals with identical nonlinear variational parameters may be calculated with one call of the code.

There are limits to the number of points for the numerical integrations, to the cut-offs variable itaumax for the many-lepton series expansions, and to the maximum powers of Slater-like input functions. For runs near the limit of the cut-offs variable and with certain small-magnitude values of variational non-linear parameters, the code can require large amounts of memory (an option using some intermediate I/O is included to offset this).

Unusual features:
In addition to the program, we also present a summary description of the techniques and ideology used to optimize the code, together with accuracy tests and indications of performance inprovement.

Running time:
The test runs take 1-15 minutes on HPCx [2] as indicated in section 5 of the main text. A practical run with 729 integrals, 40 quadrature points per dimension and itaumax = 8 took 150 minutes on a PC (eg, [1]): a similar run with 'medium' accuracy, eg for parameter optimizaton (see section 2 of the main text), with 30 points per dimension and itaumax = 6 took 35 minutes.

[1] PC: Memory: 2.72GB, CPU: AMD Opteron 246 dual-core, 2×2GHz, OS: GNU/Linux, kernel: Linux 2.6.9-34.0.2.ELsmp
[2] HPCx, IBM eServer 575 running IBM AIX , http://www.hpcx.ac.uk/ (visited May 2009)
[3] HECToR, CRAY XT4 running UNICOS/lc, http://www.hector.ac.uk/ (visited May 2009)