Source-linked AI summary

BAGEL: Brilliantly Advanced General Electronic-structure Library

Toru Shiozaki

arXiv:1707.03771v1physics.chem-ph

TL;DR

Electronic-structure packages must support evolving parallel hardware and advanced multireference calculations. This article reviews BAGEL’s parallel, open-source implementation, including CASPT2 gradients, relativistic Dirac-based methods, and a platform for new theories.

  • Problem

    Electronic-structure software needs to accommodate modern parallel computer hardware while supporting advanced multireference electronic-structure methods.

  • Method

    The article reviews BAGEL’s parallel C++ and MPI/thread implementation, electronic-structure features, SMITH3 code generation, and theory-development capabilities.

  • Results

    BAGEL provides analytical multistate CASPT2 gradients and derivative couplings, four-component Dirac relativistic methods, and parallel implementations distributed as open-source software.

  • Takeaways & Limitations

    BAGEL combines production electronic-structure methods with an openly modifiable, parallel platform for implementing and using new theories.

Abstract

from arXiv · show

On behalf of the development team, I review the capabilities of the BAGEL program package in this article. BAGEL is a newly-developed full-fledged program package for electronic-structure computation in quantum chemistry, which is released under the GNU General Public License with many contributions from the developers. The unique features include analytical CASPT2 nuclear energy gradients and derivative couplings, relativistic multireference wave functions based on the Dirac equation, and implementations of novel electronic structure theories. All of the programs are efficiently parallelized using both threads and MPI processes. We also discuss the code generator SMITH3, which has been used to implement some of the programs in BAGEL. The developers' contributions are listed at the end of the main text.

I. INTRODUCTION

BAGEL was developed as an open-source electronic-structure package designed for modern parallel hardware. Its implementation combines C++ object-oriented design, threads, MPI processes, and code generation for efficient computation.

  • I. INTRODUCTION: BAGEL was motivated by changes in supercomputer architecture, including distributed node memory and substantially larger per-node memory.These hardware trends expanded what could be stored in memory and encouraged software designed specifically for modern parallel systems.
  • I. INTRODUCTION: The package is written in C++, whose object-oriented design was considered compatible with modern parallel computing.
  • I. INTRODUCTION: All BAGEL programs are parallelized with both threads and MPI processes.Intra-node threading uses task queues backed by C++11 std::thread or OpenMP.
  • I. INTRODUCTION: SMITH3 generates efficient parallel C++ code for complex algebraic expressions, including CASPT2 nuclear energy gradients.Generated programs use MPI3 remote memory access for parallelization.
  • I. INTRODUCTION: BAGEL is distributed under the GNU General Public License, allowing users to download, modify, and redistribute the package under the same license.The package depends on BLAS, Lapack/ScaLapack, and BOOST and supports compliant MPI C++11/MPI3 compilers.

II. PROGRAM FEATURES

BAGEL provides standard electronic-structure and molecular-geometry functionality alongside interfaces for external solvers, dynamics programs, and Molden files. The section also illustrates user input for CASPT2 geometry optimization.

  • II. PROGRAM FEATURES: BAGEL summarizes its algorithms as using density fitting throughout.
  • II. PROGRAM FEATURES: Its standard-algorithm infrastructure includes a parallel Fock builder based on density fitting.The cited example uses eight benzene molecules with the cc-pVTZ basis and corresponding JKFIT auxiliary basis.
  • II. PROGRAM FEATURES: CASSCF can communicate active Hamiltonians and reduced density matrices with external FCI solvers such as NECI and DMRG interfaces.The NECI interface enables CASSCF calculations with very large active spaces using FCI-QMC.
  • II. PROGRAM FEATURES: Geometry optimization supports equilibrium structures, transition states, and minimum-energy conical intersections, with interfaces for on-the-fly ab initio dynamics.BAGEL also computes nuclear Hessians, harmonic vibrational frequencies, and infrared absorption spectra.
  • II. PROGRAM FEATURES: Molden files can store or provide molecular orbitals, vibrational frequencies, and geometry-optimization information for BAGEL calculations.This interface can help impose spatial symmetry because BAGEL does not currently use point-group symmetry.
  • II. PROGRAM FEATURES: Figure 1 presents sample JSON input for CASPT2 geometry optimization of benzene with the full π active space.

B. CASPT2 nuclear gradients and derivative couplings

BAGEL addresses the longstanding implementation challenge of analytical CASPT2 nuclear gradients by using automatic code generation. It supports multistate gradients and derivative couplings for nonadiabatic applications.

  • B. CASPT2 nuclear gradients and derivative couplings: Analytical CASPT2 nuclear energy gradients were implemented in BAGEL after complexity associated with full internal contraction had delayed their realization.The implementation used an automatic code-generation approach.
  • B. CASPT2 nuclear gradients and derivative couplings: BAGEL implements nuclear energy gradients for MS-CASPT2 and XMS-CASPT2, together with derivative couplings between their states.
  • B. CASPT2 nuclear gradients and derivative couplings: CASPT2 first-order wave functions use fully internally contracted basis functions whose size scales polynomially with the number of active orbitals.
  • B. CASPT2 nuclear gradients and derivative couplings: The computational cost of CASPT2 nuclear-gradient evaluation is typically 2–3 times the cost of the energy calculation.
  • B. CASPT2 nuclear gradients and derivative couplings: The computed nuclear forces and derivative couplings support on-the-fly nonadiabatic dynamics studies.The sample input is shown in Figure 1.

C. Relativistic multireference wave functions

BAGEL implements relativistic multireference wave-function methods in the four-component Dirac formalism and serves as a compact platform for adding new electronic-structure theories.

  • C. Relativistic multireference wave functions: BAGEL supports Dirac–Coulomb, Dirac–Gaunt, and Dirac–Breit interactions within four-component relativistic multireference methods.Density fitting is used in the Fock build and molecular-orbital transformation.
  • C. Relativistic multireference wave functions: Its relativistic CASSCF implementation uses second-order optimization and quaternion diagonalization to impose time-reversal symmetry.The program can perform minimax optimization for molecules with 100 atoms and a few heavy elements.
  • C. Relativistic multireference wave functions: Relativistic CASPT2 and MRCI methods, including multistate variants, are built on the relativistic CASSCF program.These computations can provide EPR Hamiltonian parameters such as zero-field splitting tensors.
  • C. Relativistic multireference wave functions: BAGEL’s compact code enables efficient implementation of new theories and algorithms as production code.Active space decomposition methods have been implemented, and researchers outside the development team have used BAGEL as a development platform.

III. IMPLEMENTATION DETAILS

BAGEL’s density fitting utilities provide distributed-memory tensor operations that support molecular-orbital transformations, contractions, and basic linear algebra. These operations are efficiently parallelized and express numerous density-fitting quantum-chemical algorithms.

  • Three-index density-fitting tensors are kept in distributed memory, forming the basis of BAGEL’s flexible and compact implementation.
  • The utilities support index transformation for molecular-orbital and atomic-orbital back transformations.
  • They provide contractions between two density-fitting objects and between density matrices and density-fitting objects.
  • Specialized operations handle two-particle density matrices with closed orbitals, while level-1 BLAS-like scaling, addition, and dot products are also available.
  • Numerous density-fitting algorithms, including HF, CASSCF, and Z-vector equations, can be expressed using these utility operations.

B. Molecular integrals

BAGEL implements standard molecular integrals and their geometric derivatives, alongside specialized two-electron and one-electron integrals for spin, hyperfine, multipole, and relativistic applications.

  • Electron-repulsion integrals and geometric derivatives are evaluated with the Rys-quadrature algorithm, with efficiency comparable to Libint.
  • BAGEL also optionally supports Libint for molecular-integral evaluation.
  • Available integrals include two-electron spin–spin coupling integrals and one-electron dipole, higher-order multipole, hyperfine-coupling, and ECP integrals.
  • Standard molecular integrals are implemented for gauge-including atomic orbitals, with APIs based primarily on shell objects.

C. Code generator SMITH3

SMITH3 converts second-quantized equations into tensor expressions and compilable parallel C++ code, supporting complex multiconfigurational electronic-structure implementations.

  • SMITH3 translates second-quantized equations into tensor expressions and then into compilable parallel C++ code.
  • The generator supports spin-free and spin-orbital expressions with multiconfigurational reference functions.
  • SMITH3 has been used to implement complex algebraic expressions, including CASPT2 nuclear energy gradient evaluation.
  • Its generated programs use tiling for tensors in memory and MPI3 remote memory access for one-sided inter-node communication.

IV. DEVELOPER CONTRIBUTIONS

The BAGEL development effort was distributed across developers, with contributions spanning electronic-structure methods, gradients, relativistic programs, optimizers, interfaces, and documentation.

  • Toru Shiozaki implemented density fitting, molecular integrals, major non-relativistic methods, several nuclear gradients, and Z-vector equations.
  • Matthew K. MacLeod and Toru Shiozaki developed state-specific CASPT2 nuclear energy gradients, later extended to XMS-CASPT2 and derivative couplings.
  • The relativistic Dirac–Hartree–Fock program was developed by Toru Shiozaki with contributions from Matthew S. Kelley.
  • Relativistic CASSCF, CASPT2, and MRCI development included contributions from Jefferson E. Bates, Toru Shiozaki, and Ryan D. Reynolds, including multistate variants and EPR parameter extraction.
  • Jae Woo Park implemented geometry optimizers and dynamics-program interfaces, while Shane M. Parker and Inkoo Kim developed ASD algorithms and Ryan D. Reynolds wrote the GIAO code.
  • Multiple developers contributed to writing the BAGEL manual.

V. CONCLUSION

BAGEL is an efficient, full-fledged electronic-structure package for modern parallel hardware, combining distinctive advanced methods with broad parallelization and open licensing.

  • BAGEL implements CASPT2 nuclear energy gradients and relativistic multireference wave-function methods alongside standard algorithms.
  • Every BAGEL component is parallelized using both threads and MPI processes.
  • BAGEL is distributed under the GNU General Public License Version 3+, permitting users and developers to download, modify, and redistribute it under the same license.

VI. FURTHER READING

The BAGEL Manual provides detailed input syntax, available options, and references for the underlying methods.

  • The BAGEL Manual documents input syntax, available options, and references to the underlying methods.
Loading 1707.03771v1…