Published January 21, 2026 | Version 4.0.0
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

This library is used by the UKRmol+ codes but has a general applicability and has been interfaced with other codes. It follows the Fortran 2003 standard and has been written as a highly flexible object-oriented code.

Capabilities

  • Evaluation of various types 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.

General information for version 4.0.0

  • The new release comes with the option to run the code immediately without the need to compile it manually by using one of the two prepared computing environments: (1) Docker container (docker_image_gbtolib-4.0.0.zip) and (2) Conda environment. Detailed instructions for using and setting up these environments are provided in the conda/README.md file. Note that the Docker container is known to run without problems in MPI mode on a single computing node. For MPI runs across nodes we strongly advise you to compile the code yourself on your platform. Follow the instructions in the main README.md file.
  • The current code implements a number of significant performance improvements. The performance of the new version with respect to the previous ones is illustrated in the figure provided (performace_improvements_illustration.zip). The benchmark was performed for a representative calculation of molecular integrals for the CO2 molecule with a large B-spline type basis for the continuum.
  • A detailed description of the new features and fixes is below.

New features

  • Implementation of Effective Core Potentials

  • Enable MPI build without MPI compiler wrappers

  • Interface for loading GBTO MO basis information and 2-el integrals in ADC codes

  • Implementation of BGGG semi-analytic integrals and 2p continuum integrals

  • Implemented triple overlap integrals over an arbitrary combination of GTO and BTO functions

  • Poisson method for 2-electron integrals implemented

  • Enable disk mapping for two-electron integrals over atomic orbitals

  • Allow selection of Molden orbitals by occupation

  • Compact indexing of AO integrals

  • DALTON Molden file support

  • Enable scratch use in sparse integral transformation

  • A new program “orbitals_to_cube” for sampling of orbitals into Gaussian CUBE format

  • New build options: Conda, Docker

Bug fixes

  • A combined ALLOCATED(X) check and SIZE(X) comparison has been split into two separate IF conditions to avoid calling SIZE(X) with a possibly non-allocated array X.

  • Use double precision walltime in omp_get_wtime

  • Support 32-bit MPI in large allgatherv

  • Correct CGTO shell order in written Molden files + allow writing in spherical basis

  • Use TYPE instead of CLASS for non-polymorphic argument

  • Fix dimension of angular_integrals_tmp

  • Reset dummy INTENT(OUT) arguments in MPI module

  • Replace a hard-coded value by a predefined MPI constant

  • Fixing r2 grid in legendre_grid_r1_r2_obj

  • Do not finalize uninitialized integral storage

  • Avoid IFX deadlock in sort_intermediate_integrals

  • Fix CAS in C1 test Psi4 inputs

  • Synchronize orthogonalized MOs in MPI mode

  • Avoid knot interpolation at endpoints

  • Fix two calls to gl_expand_A_B

Optimizations of speed and memory use

  • Improve load balancing in CGTO pw expansion precomputing

  • Evaluate molecular orbital in parallel

  • Distribute 1e transformation of integrals

  • Finalize AO 1e integrals earlier

  • Remove w1_w2 array

  • Optimize Ylm calculation by factorization

  • Avoid a few OpenMP critical sections in 2p integrals

  • Threaded evaluation of BB 1el integrals

  • Parallelize complex Gaunt precalculation

  • Add threading also to CMS routines for BGBG integrals

  • Reduce intermediate storage in sparse transformation

  • Jointly evaluate BGGG and BBGG ints also for mixed method 1

  • Add threading to the last part of omp_calculate_CGTO_pw_coefficients_analytic

  • Sort also the final integrals in parallel

Other improvements

  • Use ISO/IEC 80000 symbol for memory size

  • add PCCHF tests for electron scattering

  • Increase verbosity of basis_read

  • Remove parameter max_contr_len

  • Simplify install path handling in CMake scripts

  • Store LOGICAL "use_symmetry" in moints as integer

  • Construct B-spline grid as linear interpolation

  • Do not require C++ in CMake scripts

  • Avoid passing global variables to program routines

  • Use 3.5 as minimum version of CMake

  • Improve error message on failure of MPI_File_set_view

  • Define local masters comm in mpi_mod

  • Avoid CMake 3.10 deprecation warning

  • Report BLAS integer size

  • Replace legacy Cilk directive with OpenMP counterpart

  • Print more details when "Sym=" not present in molden

  • Polish memory mapping of files in Windows

  • Changes to support addition of enhancement factors for positron scattering

Notes

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

Files

GBTOLib-4.0.0.zip

Files (343.7 MB)

Name Size Download all
md5:346604334f0edc55e86a5995aaa8e577
339.1 MB Download
md5:0cfa73f3bcda6d2d8788d3c0298a55f1
4.5 MB Preview Download
md5:3202e45e0a8da46b90c55cc888c6088e
132.7 kB Preview Download

Additional details

Dates

Created
2026-01-21
Release 4.0.0

Software

Repository URL
https://gitlab.com/Uk-amor/UKRMol/GBTOLib
Programming language
Fortran
Development Status
Active