Code Overview

and Documentation

The B-spline R-matrix (BSR) approach is an alternative formulation of the well-known R-matrix method developed in Belfast under the long-term leadership of Philip Burke. The program computes transition-matrix elements for electron collisions with many-electron atoms and ions as well as photoionization processes at varying levels of sophistication. From these, cross sections and other experimentally observable quantities can be obtained. Atomic structure information can also be generated with BSR through energy levels and oscillator strengths. The BSR method and the accompanying computer code were developed by Oleg Zatsarinny in the Bartschat group at Drake University.

The published BSR code is a serial version, written using the non-relativistic and semi-relativistic (Breit-Pauli) frameworks. Improvements over the original incarnation of the R-matrix method include: 1) a B-spline basis for the radial functions, considerably enhancing the range and accuracy of the original R-matrix method, and 2) a set of non-orthogonal bound and continuum orbitals enabling high levels of accuracy to be achieved with compact configuration expansions. These improvements allow BSR to describe truly complex systems, e.g., electron scattering from heavy noble gases. The BSR code has also been adapted to study time-dependent electron dynamics such as attosecond photoionization delays in neon and extended to treat fully-relativistic (Dirac) coupling schemes.


In the B-spline version of a general Dirac-Hartree-Fock program, the usual differential equatinos are replaced by a set of generalized-eigenvalue problems of the form (Hᵃ − εₐₐB)Pₐ = 0 where Hₐ and B are the Hamiltonian and overlap matrices, respectively, and Pₐ is the 2-component relativistic orbital expanded in a B-spline basis. A default universal grid allows for flexible adjustment to different nuclear models. When two orthogonal orbitals are both varied, the energy must be stationary with respect to orthogonal transformations. At such a stationary point, the off-diagonal Lagrange multipliers may be eliminated through projection operators. However, the default is to omit rotations. The self-consistent field procedure exhibits excellent convergence.

Several atomic states can be considered simultaneously, including some configuration interaction calculations. The program provides several options for the treatment of Breit interaction and QED corrections.

Information about atoms up to Z = 104 (subshells and their occupation, for example) is stored by the program. Along with a simple interface through command-line arguments, this information allows the user to run the program with minimal initial preparations. The command dbsr hf Be computes the relativistic DHF results for the atom Be (Z = 4) using default parameters. By definition, a Hartree-Fock calculation is for a single configuration (possibly in non-relativistic notation), but with a non-default option, the program will perform an Extended Average Level (EAL) calculation for all the configurations in an input file. The Virial Theorem is displayed as a final check the final total energy. For relativistic calculations, V/T = -1 for an exact calculation.

  • Main Developers: O. Zatsarinny and C. Froese Fischer
  • Code is written in Fortran 95
  • Contact: and
  • CPC DBSR HF paper - Code description
  • GitHub Open Access Repository - Latest source code and examples

The Convergent Close Coupling method provides a very efficient approach to the calculation of a number of (anti)electron- (anti)proton- and photon-impact collision processes in quasi one- and two-electron atomic and molecular systems. The present installation handles atomic targets and light projectiles.

The basic idea is solving the close-coupling Lippmann-Schwinger equations in momentum space. The target basis, which constitutes a complete, but discrete set of functions, is capable of describing both the bound and free states of the target. Hence, the method is capable of describing both excitation and ionization of the target when applied in a consistent manner. Numerically, the close-coupled Lippmann-Schwinger equations are reduced to a very large set of complex, algebraic equations by introducing numerical quadrature. The solution of these equations may be solved in parallel using methods such as ScaLAPACK.

  • Main Developers: Igor Bray, Dmitry Fursa, Alisher Kadyrov and collaborators at Curtin University.
  • The code is written in Fortran using a hybrid OpenMP/MPI approach.
  • Contact: Igor Bray
  • CCC website
  • CCC inputs from the NIST AMPGateway Workshop, December 2019


The ePolyScat codes compute electron-molecule scattering and molecular photoionization cross sections [1,2] within the fixed-nuclei approximation. Using the adiabatic approximation, it is possible to extract ro-vibrationally resolved cross sections. The code uses simple, single configuration initial and target states wave functions, and the final continuum state is limited to a single electronic state. The interaction potential between the electron and the molecule is then given by the static-exchange potential, which can be modified by approximate functionals to describe target polarization effects. The calculations are performed in the full symmetry point group for the molecular geometry, including both abelian and many non-abelian point groups. An external source of bound molecular orbitals is required for ePolyScat, and these orbitals may be obtained from GAUSSIAN, GAMESS(US), MESA, and from MOLPRO using a molden file. The continuum wave functions are obtained as single-center expansions using products of symmetry-adapted angular harmonics and radial functions represented on a grid of points. The size of the single-center expansion is controlled by a maximum angular momentum parameter, and the density of the radial grid is controlled by a maximum energy parameter.

  • Developers: R. R. Lucchese, A. P. P. Natalense, J. Lopez Dominguez, N. Sanna, and F. A. Gianturco.
  • The code is written in Fortran2003 and uses MPI and LAPACK libraries. The current version can efficiently use up to about 32 processes but requires at least two.
  • The source code is available by request from Robert Lucchese.
  • On-line documentation. Contains many examples of electron scattering and molecular photoionization calculations and includes defining environment variables, and the use of the Makefile to compile the program.
  • ePolyScat website

[1] A. P. P. Natalense and R. R. Lucchese, Cross section and asymmetry parameter calculation for sulfur 1s photoionization of SF6, J. Chem. Phys. 111 (12), 5344 (1999).

[2] F. A. Gianturco, R. R. Lucchese, and N. Sanna, Calculation of low-energy elastic cross sections for electron-CF4 scattering, J. Chem. Phys. 100 (9), 6464 (1994).


GRASP is a collection of programs for determining wave functions for bound atomic state functions (ASF) which are then used in the prediction of atomic properties such as transition probabilities, hyperfine effects, and isotope shifts, as well as energy related properties such as electron affinities, excitation energies, and ionization potentials. The underlying atomic theory is Dirac theory as described by I. P. Grant in his book. The first version the present code implementing the same program structure as the non-relativistic atomic structure package, ATSP, was written in 1992 by F. A. Parpia. The calculation assumes that wave functions are represented by a linear combination of configuration state functions (CSFs) of given J and parity and that the CSFs are built from spin-angular and radial functions. The variational principle for a stationary energy is used to define expansion coefficients and radial functions. In the variational process the Dirac-Coulomb Hamiltonian is used which may include the effect of a finite nucleus. Other effects such as transverse photon (Breit), QED, or higher-order correlation effects may be included in a subsequent configuration interaction (RCI) program. Conceptually, CSFs are linear combination of Slater determinants, but in this package all matrix elements are evaluated using Spin-Angular theory as developed by Rudzikas and Gaigalas of Vilnius University, Lithuania. Sets of radial functions for a wave function are orthonormal. Biorthogonal transformations are used to compute transition probabilities between atomic states so that matrix elements can be evaluated between orthonormal sets. Radial equations are solved using finite-difference methods and expansions are computed using an iterative eigen-solver developed by A. Stathopoulos for sparse matrices. MPI versions distribute the calculation by columns of the interaction matrix in RCI, and the outermost loop in transition calculations.

Test runs and examples are included with the source code.

  • Main Developers: C. Froese Fischer, P. Jönsson, G. Gaigalas, J. Bieroń
  • Code is written in Fortran. Serial and MPI parallelized versions available.
  • Contact: and
  • CPC GRASP paper - Code description
  • GitHub Open Access Repository - Latest source code
  • GitHub Open Access Repository - GRASP Published source code and manual
  • Computational Atomic Structure by C. Froese Fischer, T. Brage, and P. Jönsson, describes non-relativistic calculations that are similar to relativistic procedures, in principle.


RMT is a programme which solves the time-dependent Schrödinger equation for general, multielectron atoms, ions and molecules interacting with laser light. As such it can be used to model ionization (single-photon, multiphoton and strong-field), recollision (high-harmonic generation, strong-field rescattering) and, more generally, absorption or scattering processes with a full account of the multielectron correlation effects in a time-dependent manner. Calculations can be performed for targets interacting with ultrashort, intense laser pulses of long wavelength and arbitrary polarization. Calculations for atoms can optionally include the Breit–Pauli correction terms for the description of relativistic (in particular, spin–orbit) effects.The code is written in Fortran, and invokes both distributed and shared memory parallelism via MPI and OpenMP.

License: GNU General Public License 3

Acknowledgements: RMT is part of the UK-AMOR suite, and can be obtained for free from The development of RMT has benefited from computational support from CoSeC, the Computational Science Centre for Research Communities, through CCPQ. Funding from the EPSRC under Grants No. EP/P022146/1, No. EP/P013953/1, No. EP/R029342/1, and No. EP/T019530/1.


In this program, the non-relativistic radial functions are expanded in a B-spline basis. As a result, the usual differential equations can be replaced by systems of non-linear, generalized-eigenvalue equations of the form (Hᵃ − εₐₐB)Pₐ = 0, where a designates the orbital. In this form the off-diagonal Lagrange multipliers must first be eliminated through projection operators. When two orthogonal orbitals of the same symmetry are both varied, the orbitals need to be rotated for a stationary solution before projection operators are applied. For multiply occupied shells, and when multiple shells are improved at the same time, Newton-Raphson method for updating all orbitals has better numerical properties and a more rapid rate of convergence than the eigenvalue process. Both ground and excited states may be computed using a default universal grid.

Spline expansions facilitate the mapping of a solution from one grid to another. The concept of two phases was introduced. In the first phase, a low-order spline with a small number of grid-points was used, so that the program could “learn” the values of parameters, like the range of an orbital, and then switches to higher-order splines with more grid points to improve accuracy. Finally, the Virial Theorem is applied to display the ratio V/T which should be -2 for an exact calculation.

The time-dependent Recursive indeXing method for strong-field interactions with atoms and moleculesbtRecX is a C++ code for solving generalized inhomogeneous time-dependent Schrödinger-type equations idΨ /dt = H[t, Ψ ] + Φ in arbitrary dimensions and in a variety of coordinate systems. The operator H[t, Ψ] may have simple non-linearities, as in Gross-Pitaevskii and Hartree(-Fock) problems.

Primary application of tRecX has been for non-perturbative strong-field single and double photo-electron emission in atomic and molecular physics. The code is designed for large-scale ab initio calculations, for exploring models, and for advanced teaching in computational physics.

License: GNU General Public License 2


UKRmol+ is an implementation of the time-independent R-matrix method for molecules. The suite determines scattering data (e.g. integral cross sections, resonance parameters, vibrational excitation cross sections for diatomic molecules) for low energy electron and positron collisions, photoionization observables, and permanent and transition dipole moments between bound and continuum states that can be used to model further photon-induced processes, for example, by means of the R-matrix with time approach and software.

UKRmol+ requires external quantum chemistry codes (e.g. Molpro) to provide target molecular orbitals used to build multi-configurational, multicentric wavefunctions. Gaussian and/or B-spline basis functions are used to represent the continuum; all integral operations (evaluation, transformation, etc.) in the mixed basis are carried out using the GBTOlib, a high-performance library for evaluation of molecular integrals.

The suite contains about a dozen programs, some serial, some multi-threaded, and some employing MPI. The source codes together with CMake scripts for the configuration, compilation, testing and installation of the suite are freely available as a tarball from Zenodo.

  • Main Developers: Zdeněk Mašín, Jakub Benda, Jimena D. Gorfinkiel, Jonathan Tennyson, Alex G. Harvey and many colleagues who have contributed to the development of the UK Molecular R-matrix codes over many years
  • The code is written in Fortran 95 with use of some Fortran 2003 features and uses OpenMP and optionally MPI.
  • Contact:
  • Source code
  • CPC UKRmol+ paper
  • Examples from the NIST AMPGateway Workshop, December 2019
  • Further information


XChem is a solution for an all-electron ab-initio calculation of the electronic continuum of molecular systems. XChem combines the tools of quantum chemistry (as implemented in Molcas) and scattering theory to accurately account for electron correlation in the single-ionization continuum of atoms, small and medium-size molecules.

  • Developers: C. Marante, M. Klinker, L. Argenti, V. Borrás, I. Corral, J. González-Vázquez and F. Martín.
  • XChem website