https://github.com/theochem/gbasis
Python library for analytical evaluation and integration of Gaussian-type basis functions and related quantities.
https://github.com/theochem/gbasis
Last synced: over 1 year ago
JSON representation
Python library for analytical evaluation and integration of Gaussian-type basis functions and related quantities.
- Host: GitHub
- URL: https://github.com/theochem/gbasis
- Owner: theochem
- License: lgpl-3.0
- Created: 2019-01-29T17:52:08.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-10-02T01:36:04.000Z (almost 2 years ago)
- Last Synced: 2025-03-29T10:05:20.180Z (over 1 year ago)
- Language: Jupyter Notebook
- Homepage: http://gbasis.qcdevs.org/
- Size: 12.9 MB
- Stars: 45
- Watchers: 13
- Forks: 24
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# GBasis
[](https://python.org/downloads)
[](https://github.com/theochem/gbasis/actions/workflows/pytest.yaml)
[](https://codecov.io/gh/theochem/gbasis)
[](https://pypi.python.org/pypi/qc-gbasis/)

[](https://github.com/theochem/gbasis/actions/workflows/build_website.yaml)
## About
`gbasis` is a pure-Python package for analytical integration and evaluation of Gaussian-type orbitals
and their related quantities. The goal is to build a set of tools for the quantum chemistry community
that are easily accessible and extendable to facilitate future scientific works.
Since basis set manipulation is often slow, quantum chemistry packages in Python often interface to
a lower-level language, such as C++ and Fortran, resulting in a complicated build process and limited
distribution. The hope is that `gbasis` can fill in this gap without a significant difference in performance.
See [the `gbasis` website](https://gbasis.qcdevs.org/) for more information, tutorials and examples,
and API documentation.
## Citation
Please use the following citation in any publication using `gbasis` library:
> **"GBasis: A Python Library for Evaluating Functions, Functionals, and Integrals Expressed with
> Gaussian Basis Functions.\"**,
> T. D. Kim, L. Pujal, M. Richer, M. van Zyl, M. Martínez-González, A. Tehrani, V. Chuiko,
> G. Sánchez-Díaz, W. Sanchez, W. Adams, X. Huang, B. D. Kelly, E. Vöhringer-Martinez,
> T. Verstraelen, F. Heidar-Zadeh, and P. W. Ayers,
> [J. Chem. Phys. 161, 042503 (2024)](https://doi.org/10.1063/5.0216776).
## Installation
To install the latest release of `qc-gbasis`, run as follows:
```bash
python -m pip install qc-gbasis
```
See https://gbasis.qcdevs.org/installation.html for full details.
## Contributing
We welcome contributions of all kinds, such as new features,
improvements, bug fixes, and documentation clarifications. Please read
our [Contributor Guide](https://iodata.qcdevs.org/contributing.html) and
[Code of Conduct](https://github.com/theochem/.github/blob/main/CODE_OF_CONDUCT.md)
for more details.
## Feature List (Partial)
This is a partial list of the features that are supported in `gbasis`:
### Importing basis set
- from Gaussian94 basis set file (`gbasis.parsers.parse_gbs`)
- from NWChem basis set file (`gbasis.parsers.parse_nwchem`)
- from `iodata` (`gbasis.wrappers.from_iodata`)
- from `pyscf` (`gbasis.wrappers.from_pyscf`)
### Evaluations
- of basis sets (`gbasis.eval.evaluate_basis`)
- of arbitrary derivative of basis sets (`gbasis.eval_deriv.evaluate_deriv_basis`)
- of density (`gbasis.density.evaluate_density`)
- of arbitrary derivative of density (`gbasis.density.evaluate_deriv_density`)
- of gradient of density (`gbasis.density.evaluate_density_gradient`)
- of Laplacian of density (`gbasis.density.evaluate_density_laplacian`)
- of Hessian of density (`gbasis.density.evaluate_density_hessian`)
- of stress tensor (`gbasis.stress_tensor.evaluate_stress_tensor`)
- of Ehrenfest force (`gbasis.stress_tensor.evaluate_ehrenfest_force`)
- of Ehrenfest Hessian (`gbasis.stress_tensor.evaluate_ehrenfest_hessian`)
- of positive-definite kinetic energy (`gbasis.density.evaluate_posdef_kinetic_energy_density`)
- of general form of the kinetic energy (`gbasis.density.evaluate_general_kinetic_energy_density`)
- of electrostatic potential (`gbasis.electrostatic_potential.electrostatic_potential`)
### Integrals
- overlap integrals of a basis set (`gbasis.overlap.overlap_integral`)
- overlap integrals between two basis sets (`gbasis.overlap_asymm.overlap_integral_asymmetric`)
- arbitrary multipole moment integral (`gbasis.moment.moment_integral`)
- kinetic energy integral (`gbasis.kinetic_energy.kinetic_energy.integral`)
- momentum integral (`gbasis.momentum.momentum_integral`)
- angular momentum integral (`gbasis.angular_momentum.angular_momentum_integral`)
- point charge interaction integral (`gbasis.point_charge.point_charge_integral`)
- nuclear-electron attraction integral (`gbasis.point_charge.point_charge_integral`)
- electron-electron repulsion integral (`gbasis.electron_repulsion.electron_repulsion_integral`)