Code Overview and Documentation

B-spline atomic R-matrix code (BSR)

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.

Convergent Close Coupling (CCC)

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).

R-matrix with time-dependence (RMT)

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.

time-dependent Recursive indeXing (tRecX)

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

UK Molecular R-matrix (UKRmol+)

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 [RMT_cpc].

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.


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.

  • Main developers: V. Borras, J. González-Vázquez, and F. Martin
  • XChem website

Please refer to Bibliography for further information about these codes.