Getting Started

Using gbasis is fairly easy. The most common method is to use the get_gobasis method. Provide the coordinates, atomic numbers, and basis set and it will return an instance of GOBasis, which can be used to get integrals.

import numpy as np
from gbasis import get_gobasis

coords = np.array([[0,0,0],
                   [0,0,1.47]])
atnums = np.array([1,1])
basis = "sto-3g"

gb = get_gobasis(coords, atnums, basis)
gb.compute_overlap()

Warning

All HORTON packages use Bohr for coordinates.

If the basis set specified is not packaged, you may provide your own in a file:

from gbasis import GOBasisFamily

fam = GOBasisFamily("MyBasisSet*", "path/to/basis.nwchem")
gb = get_gobasis(coords, atnums, fam)

The code can accept nwchem or gbs basis sets.

The library can also specify basis sets on particular atoms. See python-api for more usage scenarios.

Calculating Integrals

Gbasis provides a variety of one and two electron integrals.

One electron integrals (coded in C++):

  • Overlap
  • Kinetic
  • Nuclear Attraction
  • Erf Attraction
  • Gauss Attraction
  • Multipole Moment

Two electron integrals (using LibInt):

  • Electron Repulsion
  • Erf Repulsion
  • Gauss Repulsion
  • RAlpha Repulsion
  • Cholesky Electron Repulsion
  • Cholesky Erf Repulsion
  • Cholesky Gauss Repulsion
  • Cholesky RAlpha Repulsion

Functions on grids

Additionally, GBasis can compute various functions on a user-defined grid.

  • Orbitals
  • Orbital gradients
  • Electron density (via density matrix)
  • Electron density gradient (via density matrix)
  • Positive definite kinetic energy density (via density matrix)
  • Electron density Hessian (via density matrix)
  • Electron density Laplacian (via density matrix)
  • Hartree potential (via density matrix)
  • Electrostatic potential (via density matrix)

Packaged Basis Sets

The following basis sets have been shipped with GBasis. You can easily add your own .nwchem format basis sets though.

Note that the basis set names are case-insensitive in GBasis. These basis sets were taken from the EMSL library (https://bse.pnl.gov/bse/portal). When publishing results obtained with these basis sets, please cite the following references [feller1996] and [Didier2007].