gbasis
is a pure-Python package for evaluating and analytically integrating Gaussian-type orbitals
and their related quantities. The goal is to build a set of tools to the quantum chemistry community
that are easily accessible and easy to use as to facilitate future scientific works.
Since basis set manipulation is often slow, Quantum Chemistry packages in Python often interface to
a lower-level lanaguage, such as C++ and Fortran, for these parts, resulting in a more difficult
build process and limited distribution. The hope is that gbasis
can fill in this gap without a
significant difference in performance.
Note: This is not supported yet.
pip install --user gbasis
Note: This is not supported yet.
pip install gbasis -c theochem
To install gbasis
by itself,
git clone https://github.com/theochem/gbasis.git
cd gbasis
pip install --user -e .[dev]
To install gbasis
with pyscf
,
git clone https://github.com/theochem/gbasis.git
cd gbasis
pip install --user -e .[dev,pyscf]
To install gbasis
with iodata
,
pip install --user cython
pip install --user git+https://github.com/theochem/iodata.git@master
git clone https://github.com/theochem/gbasis.git
cd gbasis
pip install --user -e .[dev,iodata]
To use gbasis.integrals.libcint
, the user must run the following script to build
and install libcint
into the gbasis/integrals
directory,
tools/install_libcint.sh
This script depends on the following packages:
qcint
package is used for libcint
.
If this doesn't work on your computer, then run the script with the environment
variable USE_LIBCINT=1
to use the regular libcint
package:
USE_LIBCINT=1 tools/install_libcint.sh
Note that iodata
must be installed separately. cython
is a dependency of iodata
.
To test the installation,
tox -e qa
Note that the interfaces to pyscf
and iodata
are not tested in this environment. To test the
interface to pyscf
, run
tox -e pyscf
and to test the interface to iodata
, run
tox -e iodata
Following features are supported in gbasis
:
gbasis.parsers.parse_gbs
)gbasis.parsers.parse_nwchem
)iodata
(gbasis.wrappers.from_iodata
)pyscf
(gbasis.wrappers.from_pyscf
)gbasis.eval.evaluate_basis
)gbasis.eval_deriv.evaluate_deriv_basis
)gbasis.density.evaluate_density
)gbasis.density.evaluate_deriv_density
)gbasis.density.evaluate_density_gradient
)gbasis.density.evaluate_density_laplacian
)gbasis.density.evaluate_density_hessian
)gbasis.stress_tensor.evaluate_stress_tensor
)gbasis.stress_tensor.evaluate_ehrenfest_force
)gbasis.stress_tensor.evaluate_ehrenfest_hessian
)gbasis.density.evaluate_posdef_kinetic_energy_density
)gbasis.density.evaluate_general_kinetic_energy_density
)gbasis.electrostatic_potential.electrostatic_potential
)gbasis.overlap.overlap_integral
)gbasis.overlap_asymm.overlap_integral_asymmetric
)gbasis.moment.moment_integral
)gbasis.kinetic_energy.kinetic_energy.integral
)gbasis.momentum.momentum_integral
)gbasis.angular_momentum.angular_momentum_integral
)gbasis.point_charge.point_charge_integral
)gbasis.point_charge.point_charge_integral
)gbasis.electron_repulsion.electron_repulsion_integral
)This software was developed using funding from a variety of international sources including, but not limited to: Canarie, the Canada Research Chairs, Compute Canada, the European Union's Horizon 2020 Marie Sklodowska-Curie Actions (Individual Fellowship No 800130), the Foundation of Scientific Research--Flanders (FWO), McMaster University, the National Fund for Scientific and Technological Development of Chile (FONDECYT), the Natural Sciences and Engineering Research Council of Canada (NSERC), the Research Board of Ghent University (BOF), and Sharcnet.