Skip to content

ifilot/pyqint

Repository files navigation

PyQInt

build build docs Anaconda-Server Badge PyPI License: GPL v3

Purpose

PyQInt is a Python package for calculating one- and two-electron integrals as encountered in electronic structure calculations. Since integral evaluation can be quite computationally intensive, the evaluation is programmed in C++ and connected to Python using Cython.

PyQInt mainly serves as an educational package to teach students how to perform (simple) electronic structure calculations wherein the most difficult task, i.e. the integral evaluation, is already encapsulated in a handy set of routines. With PyQInt, the student can for example build their own Hartree-Fock routine. Some common electronic structure routine, most notably the Hartree-Fock algorithm, is also readily available.

Note Although PyQInt connects to a C++ backend, it is certainly not optimized for speed and might be (too) slow for anything outside of the calculation of the electronic structure of simple molecules.

Documentation

PyQInt comes with detailed documentation and examples, which can be found at https://pyqint.imc-tue.nl.

Features

The following molecular integrals are supported by PyQInt

  • Overlap integral
  • Kinetic integral
  • Dipole integral
  • Nuclear integral
  • Two-electron repulsion integral

as well as the following geometric derivatives

  • Overlap integral
  • Kinetic integral
  • Nuclear integral
  • Two-electron repulsion integral

PyQInt offers additional features such as

All routines are (automatically) tested and verified against several open-source as well as commercial programs that use cartesian Gaussian orbitals. Nevertheless, if you spot any mistake, please kindly open an issue in this Github repository.

In the image below, the (canonical) molecular orbitals as found using a restricted Hartree-Fock calculation for the CO molecule are shown.

Molecular orbitals of CO