Giter VIP home page Giter VIP logo

gbasis's Introduction

gbasis

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.

Dependencies

  • numpy >= 1.10
  • scipy >= 1.0

Installation

From PyPi

Note: This is not supported yet.

pip install --user gbasis

From Conda

Note: This is not supported yet.

pip install gbasis -c theochem

From GitHub Repository

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]

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

Features

Following features 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)

gbasis's People

Contributors

kimt33 avatar wilhadams avatar xiaominhc avatar farnazh avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.