Published June 24, 2021 | Version 3.0.3
Software Open

GBTOlib: a high-performance library for evaluation of molecular integrals

  • 1. Charles University, Prague, Czech Republic
  • 2. The Open University, Milton Keynes, United Kingdom

Description

On 15 Dec 2020 the first version of the GBTOlib library has been released for the public. This library is used by the UKRmol+ codes but has a general applicability and has been written to allow interfacing with other codes.

Capabilities

  • Evaluation of molecular integrals in the basis of atom-centered Gaussian orbitals and center-of-mass centered B-splines and/or Gaussians.

  • The center-of-mass (i.e. continuum) basis can be built from either Gaussians, B-splines or a combination of the two.

  • An arbitrary angular momentum for the continuum basis.

  • Transformation of the atomic integrals into basis of molecular orbitals.

  • Orbital orthogonalization using Gramm-Schmidt and/or Symmetric orthogonalization.

  • Flexible configuration of the library allowing it to be ran on various machines ranging from single-node workstations to massively-parallel HPC architectures.

  • Possibility to configure the library to use quadruple precision arithmetics and achieve higher than double precision of the actual integrals calculated.

  • Input of molecular geometry, Gaussian basis and orbitals via the standard MOLDEN file.

Notes for version 3.0

  • The main improvement in this version is the implementation of the MPI (distributed) evaluation of the mixed BTO/GTO integrals and the subsequent sparse integral transformation. In principle this allows to run arbitrarily large calculations using BTOs without an intermediate I/O only by increasing the total number of nodes (total memory) available for the calculation.
  • Version 3.0.1 resolves illegal memory accesses that may appear in calculations using threading (see below).

Features added in this version:

  • Implemented MPI evaluation of the mixed BTO/GTO integrals.
  • Implemented MPI version of the sparse integral transformation.
  • Renaming of the modules to ensure unique and uniform naming: all GBTOlib modules now carry the _gbl suffix.
  • Optional calculation of exponentially damped dipole matrix elements implemented for all types of atomic integrals; new parameter in namelist process_control
  • scatci_integrals now allows reuse of previously calculated AO/MO using basis_input in namelist process_control to indicate file path; allows sign-consistent calculations
  • Molecular orbitals in the Molden format can now be written even if BTO basis is used (only GTO contribution considered); this is mostly useful in connection with UKRmol+ to write out the Dyson orbitals from calculations including BTOs.
  • Backward compatibility with v1.0 integral files implemented
  • scatci_integrals now exits early if integral file exists
  • Verbosity control for GBTOlib implemented and keyword added to redirect output to terminal
  • Some keywords added to documentation
  • Some improvements to memory allocation
  • Changes to what is/is not printed by default: different verbosity levels (1-4) can now be selected using the 'verbosity' flag in the namelist process_control for scatci_integrals.
  • Change of intent of some variables; avoids compiler warning when compiling with Intel Fortran 2020
  • Minimal basis test for H2 added
  • Bugs corrected:
    • to prevent memory leak in free_scattering_gbl module
    • accurate memory allocation in routine eval_CGTO_shell_pair_pw_expansion to avoid invalid memory acces
    • to avoid integer overflow (in routine eval_boys) in LP64 mode
    • so evaluation of amplitudes for irreducible representations without orbitals is skipped
    • in integrals_D2h_photoionization_CC_parallel test when 32-bit MPI library is used
    • when writing of a MOLDEN file when equivalent atoms are presentand when the order of the atoms does not match the order of the centers of the GTOs in the basis.

Bugfixes in v 3.0.1

  • Fixed illegal memory accesses when threading due to incorrect use of thread-unsafe routines for spherical harmonics (cgto_pw_expansions_mod.f90, bto_gto_integrals_mod.f90).
    • This fix included optimizations of the range of angular momenta for which some intermediate quantities are needed.
  • Fixed a bug in saving of the GTO basis set and the molecular orbitals to disk (molden_mod.f90). This affected UKRmol+ photoionization calculations for molecules with an atom on the center of mass (i.e. coinciding with the center of the continuum basis set).
  • Added tests for mixed BTO/GTO basis sets and for molecules with an atom on the center of mass.

Bugfixes in v 3.0.2

  • Fixed integral indexing function (molecular_basis_obj%integral_index) to ensure that indices for 2-electron integrals of the type (AB|CD) and (CD|AB) are always the same as they should be. Previously the case iCD >= iAB was producing index 0 leading to errors in Hamiltonian builds for Close-Coupling calculations in mpi-scatci.

Bugfixes and notes for v 3.0.3

  • Inclusion of test files for PCCHF model (see 'A polarization-consistent R-matrix model: application to the photoionization of molecules' T. Meltzer and. Masin, JPB) implemented in UKRmol+
  • Increased format width when printing the number of integrals read from the moints file
  • Minor improvements to documentation
  • Better error reporting when running the tests
  • Bug corrected: bug that caused positron calculations to fail when recent version of the Intel compiler used corrected

Notes

Software development supported by EPSRC, CCPQ, UK-AMOR, Czech Science Foundation, Charles University and others.

Files

GBTOLib-3.0.1.zip

Files (17.1 MB)

Name Size Download all
md5:8d82532ac5e2c44397ca1edae141e6f8
4.3 MB Preview Download
md5:83315b82a881f35c37d08d839d53d6ea
4.3 MB Preview Download
md5:722fedcbb4c0a72cc9f1c223182fb382
4.3 MB Preview Download
md5:a043405af27c79e93db81409bd21f7e5
4.2 MB Preview Download

Additional details

Related works

Is part of
Software: 10.5281/zenodo.4120705 (DOI)
Software: 10.5281/zenodo.4120626 (DOI)
Is referenced by
Software documentation: 10.1016/j.cpc.2019.107092 (DOI)
Software documentation: 10.1016/j.cpc.2019.107062 (DOI)