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 pybind11.

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:

Filip Brzęk, Rahul Chakraborty, Kacper Cieślak, Seyedehdelaram Jahani, Aleksandra Leszczyk, Artur Nowak, Emil Sujkowski, Julian Świerczyński, Somayeh Ahmadkhani, Katharina Boguslawski, Dariusz Kędziera, Maximilian H. Kriebel, Paweł Tecmer, Piotr Szymon Żuchowski, PyBEST 1.3.2, 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

If you're not sure about the file name format, learn more about wheel file names.

pybest-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (103.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pybest-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (103.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pybest-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (103.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pybest-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (103.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pybest-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (103.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file pybest-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pybest-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8bd7bee7442da4c3ed556714bed1f952bcf111b848572e910d8ea7a8396f988c
MD5 3f417dbc4840efcd74d5b22104bf979d
BLAKE2b-256 c360aaf78e90c8fa5c579443626398b33028ffbdbe53943bafb271a876889cae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pybest-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 17d0a4163aabdc9077117945ce627e3c721e30ea9139226c4691322130c58487
MD5 97ca57e76bff917629f4510e3380a1c3
BLAKE2b-256 c65bc2f89863867b883ed954b254ff602ab3b582012d058839d4803a1f27b6b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pybest-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 535416b7f62ec595a906c405994ff987945dd128a92dbee790ce7faaeadc3f26
MD5 00ce50b3457af4aaee415a849c9d018b
BLAKE2b-256 63d9aaead6927721a8575951605d92cc58ab2184e08533263ee5ad90d4f05e86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pybest-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7eae0f83cb7c2f7b4ede792bc6d7badace8b607e202cf16798e82165c5d1528e
MD5 e3f2c6f8a2b9a733cff372aed55c1d48
BLAKE2b-256 a8426509c11a08b98dbdfdf26962705340fe1666e6d9a0e2e9d6bac2265aaaec

See more details on using hashes here.

File details

Details for the file pybest-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pybest-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b53cbadb977c371f2aeea445f062b0002cee2ef47c599180f61dd79cd86b5ac9
MD5 5ddaf342b72063987a3ef5b2ca744b07
BLAKE2b-256 1eae75c6b92056d7d403453e7d5fb568596eb465d0ca348d326d57c30bd8cbc4

See more details on using hashes here.

Supported by

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