Skip to main content

PyBEST: Pythonic Black-box Electronic Structure Tool.

Project description

PyBEST is a Pythonic Black-box Electronic Structure Tool, written primarily in the Python programming language with additional parts written in C++ (interfaced using nanobind.

PyBEST is a fully-fledged modern electronic-structure software package, developed at NCU in Torun, released under the GNU General Public License. The package provides an efficient and reliable platform for electronic structure calculations at the interface of chemistry and physics using unique electronic structure methods. PyBEST is easy to use and easy to code in.

For more information, see our official homepage. You will also find there various versions of PyBEST to download and install including the most recent version of this documentation.

Main Features

Compatibility

  • Integrating the LibInt2 library.

  • Adapting a modular structure to easily combine PyBEST with custom developments.

  • GPU-accelerated computing using the Cupy library

Electronic Structure Methods

  • Hamiltonians (various one- and two-electron integrals)

    • The electronic Schrödinger Hamiltonian in atom-centered Gaussian basis sets

      • One- and two-electron integrals computed with LibInt2

        • overlap, kinetic energy, nuclear, multipole, electron repulsion integrals (ERI)
      • pVp integrals

      • Cholesky-decomposed ERI

      • Douglas-Kroll-Hess Hamiltonian (DKH2)

      • Point-charge integrals

      • Static embedding potential integrals

    • Model Hamiltonians

      • 1-dimensional Hubbard model Hamiltonian (with and without periodic boundary conditions)

      • 1-dimensional contact interactions in an arbitrary external potential

    • User-provided Hamiltonians

      • Molpro's FCIDUMP format
  • Hartree-Fock theory:

    • Restricted and unrestricted orbitals

    • Various DIIS algorithms

  • Configuration Interaction methods

    • Configuration Interaction Singles (CIS)

    • Configuration Interaction Doubles (CID)

    • Configuration Interaction Singles and Doubles (CISD)

  • Coupled Cluster-type methods

    • pair-Coupled Cluster Doubles (pCCD), also known as the Antisymmetry Product of 1 reference-orbital Geminals (AP1roG)

    • Linearized Coupled Cluster Doubles (LCCD)

    • Linearized Coupled Cluster Singles and Doubles (LCCSD)

    • pCCD-LCCD (pCCD with an LCCD correction on top of it)

    • pCCD-LCCSD (pCCD with an LCCSD correction on top of it)

    • pCCD-CCS (pCCD with a Coupled Cluster Singles correction on top of it)

    • Coupled Cluster Doubles (CCD) in any restricted orbital basis

    • Coupled Cluster Singles and Doubles (CCSD) in any restricted orbital basis

    • Frozen-pair Coupled Cluster Doubles (fpCCD)

    • Frozen-pair Coupled Cluster Singles Doubles (fpCCSD)

    • Tailored Couples Cluster Singles Doubles (tCCSD)

  • Perturbation theory

    • Moller-Plesset Perturbation Theory of second order (MP2)

    • Symmetry Adapted Perturbation Theory (SAPT)

      • the SAPT0 un-coupled flavour for spin-restricted HF orbitals
    • Various Perturbation Theory models of second order with an pCCD reference function

      • PT2SDd (diagonal zero-order Hamiltonian, single determinant as dual state) with Doubles and Singles and Doubles

      • PT2MDd (diagonal zero-order Hamiltonian, pCCD as dual state) with Doubles and Singles and Doubles

      • PT2SDo (off-diagonal zero-order Hamiltonian, single determinant as dual state) with Doubles and Singles and Doubles

      • PT2MDo (off-diagonal zero-order Hamiltonian, pCCD as dual state) with Doubles and Singles and Doubles

      • PT2b (off-diagonal zero-order Hamiltonian, pCCD as dual state, full Hamiltonian as perturbation operator) with Doubles and Singles and Doubles including/excluding electron pairs

  • Equation of Motion Coupled Cluster methods

    • Equation of Motion CCS (EOM-CCS equivalent to CIS)

    • EOM-pCCD

    • EOM-pCCD+S (single excitation are included in the EOM ansatz only, while the CC ansatz is restricted to pCCD)

    • EOM-pCCD-CCS

    • EOM-LCCD

    • EOM-LCCSD

    • EOM-pCCD-LCCD

    • EOM-pCCD-LCCSD

  • Ionization Potential Equation of Motion Coupled Cluster methods

    • IP-pCCD with 1 hole and 2 hole 1 particle operators ($S_z = 0.5, 1.5$)

    • DIP-pCCD with 2 hole and 3 hole 1 particle operators ($S_z = 0.0, 1.0, 2.0$)

Post-Processing

  • Orbital entanglement and correlation analysis

    • for a pCCD reference function

    • for a pCCD-LCC reference function

  • Orbital localization

    • Pipek-Mezey orbital localization
  • Property calculations

    • Dipole moment with HF, pCCD, PCCD-LCC wavefunctions

    • Quadrupole moment with HF, pCCD, PCCD-LCC wavefunctions

Citing PyBEST

Please, refer to PyBEST as follows:

Saman Behjou, Filip Brzęk, Rahul Chakraborty, Kacper Cieślak, Antonina Dobrowolska, Seyedehdelaram Jahani, Zahra Karimi, Michał Kopczyński, Aleksandra Leszczyk, Artur Nowak, Lena Szczuczko, Emil Sujkowski, Julian Świerczyński, Somayeh Ahmadkhani, Katharina Boguslawski, Dariusz Kędziera, Maximilian H. Kriebel, Paweł Tecmer, Piotr Szymon Żuchowski, PyBEST 2.0.0, 2024

If you use PyBEST, please cite the following:

Katharina Boguslawski, Filip Brzęk, Rahul Chakraborty, Kacper Cieślak, Seyedehdelaram Jahani, Aleksandra Leszczyk, Artur Nowak, Emil Sujkowski, Julian Świerczyński, Somayeh Ahmadkhani, Dariusz Kędziera, Maximilian H. Kriebel, Piotr Szymon Żuchowski, Paweł Tecmer, "PyBEST: Improved functionality and enhanced performance", Computer Physics Communications, 297, 2024, https://doi.org/10.1016/j.cpc.2023.109049.

Katharina Boguslawski, Aleksandra Leszczyk, Artur Nowak, Filip Brzęk, Piotr Szymon Żuchowski, Dariusz Kędziera, Paweł Tecmer, "Pythonic Black-box Electronic Structure Tool (PyBEST). An open-source Python platform for electronic structure calculations at the interface between chemistry and physics", Computer Physics Communications, 264, 2021, https://doi.org/10.1016/j.cpc.2021.107933.

Contact Information

If you have questions, please send them to our developer e-mail address pybest@umk.pl

Alternatively, you may directly contact the authors of a specific part of PyBEST.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pybest-2.0.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (59.3 MB view details)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ x86-64

pybest-2.0.0-cp312-abi3-macosx_13_0_arm64.whl (95.4 MB view details)

Uploaded CPython 3.12+ macOS 13.0+ ARM64

pybest-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (59.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pybest-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (59.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pybest-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (59.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

File details

Details for the file pybest-2.0.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.0.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d56dab537b48659b6c76e1e93c5684db1db1e2d15f323fd8b3ac0be64c80cf64
MD5 3c9105b975416b775a4b6d6da62ca254
BLAKE2b-256 7a5b8aeab284c8f8e17d27c352e2e51b33c16b58bd7fa050ca417b84fe791f43

See more details on using hashes here.

File details

Details for the file pybest-2.0.0-cp312-abi3-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for pybest-2.0.0-cp312-abi3-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 db729a729ed11bf59fdf899b8e1430679798cfe9fc397f7a4bea1ac71637fb28
MD5 a4a54534d85db12c847ffd5827e51188
BLAKE2b-256 b9a90943719e10f80316008ec56eef67f36cb04c7bdb5decae4adc2565784314

See more details on using hashes here.

File details

Details for the file pybest-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b33b26e18df5e63dae4216ca55313fae54dacc2018efafd5a669b1d6eab1a430
MD5 5ef76d85be4dc12697377bb47457c3be
BLAKE2b-256 b3b9c433c0265a5564c2c14bcb45667d8d023f8dce710ad42307307cd0344b28

See more details on using hashes here.

File details

Details for the file pybest-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6637d1689a9958709f6bd2b1f0a8933a37fcfc34b38a27179530dbced740f7d7
MD5 be680a0bb7eb512f2d4abe861f30ec58
BLAKE2b-256 f1a56120f565bcae78f5229ca2c29b5d0f6c0e415fb5a0ed99c6819889dde1f0

See more details on using hashes here.

File details

Details for the file pybest-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pybest-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cfd2948b0bc2865060dad1d2901a9107fcdf72b56c644e8b8b01b407442211d3
MD5 4a778aa44fcf880286c2dce95fe97d96
BLAKE2b-256 4514640fefe675fba8124cd714406f11108a53586e0be312fe25ad2c9197c3df

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page