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] aemc_v1_0.tar.gz(4 Kbytes)
Manuscript Title: An effective algorithm for calculating the Chandrasekhar function
Authors: A. Jablonski
Program title: CHANDRAS
Catalogue identifier: AEMC_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 183(2012)1773
Programming language: Fortran 90.
Computer: Any computer with a FORTRAN 90 compiler.
Operating system: Linux, Windows 7, Windows XP.
RAM: 0.6 Mb
Keywords: Chandrasekhar function, Isotropic scattering, Photoelectrons, Auger electrons.
PACS: 34.80.-i, 72.10.-d.
Classification: 2.4, 7.2.

Nature of problem:
An attempt has been made to develop a subroutine that calculates the Chandrasekhar function with high accuracy, of at least 10 decimal places.
Simultaneously, this subroutine should be very fast. Both requirements stem from the theory of electron transport in condensed matter.

Solution method:
Two algorithms were developed, each based on a different integral representation of the Chandrasekhar function. The final algorithm is edited by mixing these two algorithms and by selecting ranges of the argument omega in which performance is the fastest.

Restrictions:
Two input parameters for the Chandrasekhar function, x and omega (notation used in the code), are restricted to the range: 0 <= x<= 1 and 0 <= omega <= 1, which is sufficient in numerous applications.

Unusual features:
The program uses the Romberg quadrature for integration. This quadrature is applicable to integrands that satisfy several requirements (the integrand does not vary rapidly and does not change sign in the integration interval; furthermore, the integrand is finite at the endpoints). Consequently, the analyzed integrands were transformed so that these requirements were satisfied. In effect, one can conveniently control the accuracy of integration. Although the desired fractional accuracy was set at 10-10, the obtained accuracy of the Chandrasekhar function was much higher, typically 13 decimal places.

Running time:
Between 0.7 and 5 milliseconds for one pair of arguments of the Chandrasekhar function