Skip to main content

An open source package for metastable electronic states in molecules.

Project description

OpenCAP: An open-source program for studying resonances in molecules.

Documentation
Build Status
Releases

OpenCAP is an open-source application aimed at extending the capabilities of electronic structure packages to describe metastable electronic states. We currently support an interface with the OpenMolcas, Pyscf, Q-Chem, Columbus, and PSI4 packages to compute resonance positions and widths using the complex absorbing potential method (CAP).

Please see the examples directory or our Getting Started Page to help get started on using the software.

For questions or support, please open an issue on GitHub, or contact us directly at gayverjr@bu.edu.

Documentation

We have separate documentation for the command line version (which is aimed more at developers) and the Python API (which is aimed more at users).

Installation

PyOpenCAP (Python module)

Install with pip (recommended)

pip install pyopencap
# or
pip3 install pyopencap

Precompiled Python wheels are available on Pypi for almost all Linux systems, and most MacOS systems, for Python versions 3.9 and later.

Build from source

Compiling PyOpenCAP from source requires first installing all of our dependencies.

For Mac/Linux users, any compiler which fully supports the C++17 standard should work (e.g GCC 7.x or later). If you are unsure, try updating to the latest version of your compiler.

If your operating system/Python environment is not covered by any of our pre-built wheels, the command pip install pyopencap will download the tarball from Pypi and try to compile from source. You can also clone the repository and install a local version:

git clone https://github.com/gayverjr/opencap.git

cd opencap

pip install .

Compiling from source will take several minutes. To monitor your progress, you can run pip with the --verbose flag.

Verify installation

To ensure that the installation was successful, return to your home directory, start a Python shell, and type:

import pyopencap

See the examples directory and our tutorial to help get you started.

OpenCAP (command line version)

Compiling OpenCAP requires installing all of our dependencies. Assuming these are all installed in locations visible to CMake, installation can proceed as follows:

Basic steps

These steps have been tested on MacOS 15.1 with GCC 15 installed from Homebrew.

First clone the git repo


git clone https://github.com/gayverjr/opencap.git

cd opencap/opencap

Then generate the Makefile using CMake


mkdir build

cd build

cmake -DCMAKE_INSTALL_PREFIX=/path/to/install/dir ..

Once the Makefile is generated, build and install the executable.

make

make install

MacOS/Linux

Any compiler which fully supports the C++17 standard should work (e.g GCC 7.x or later). If you are unsure, try updating to the latest version of your compiler.

For Linux users, depending on your distribution, you may also need to install Python3 development libraries e.g. sudo apt-get install python3.x-dev.

Verify installation

To verify your installation, run the tests in the build directory

make test

To run OpenCAP, specify an input file from the command line

/path/to/opencap input_file.in 

See the examples directory and our documentation to help get you started.

Dependencies

Building OpenCAP/PyOpenCAP from source requires working installations of the following:

  • C++ compiler with full C++17 language support and standard libraries (Warning: Default Apple Clang on MacOS is not fully supported)

  • Python3 interpreter and development libraries: version >= 3.10

  • CMake: version >= 3.12

  • HDF5: hierarchical data format, version >= 1.10

  • Eigen: linear algebra library, version >= 3.3

All of these dependencies are available through standard package managers such as Homebrew, Conda, and yum/apt-get on Linux.

The following packages are automatically built at the CMake step (no action required):

  • Numgrid: numerical integration library

  • h5pp: C++17 wrapper for HDF5

  • pybind11: C++ Python bindings

The following is included as part of the source distribution (no action required):

  • Date: Howard Hinnant's date and time library based on the C++11/14/17 header

  • asa239 C++ library which evaluates incomplete Gamma function from John Burkardt. Distributed under GNU LGPL license.

License

OpenCAP and PyOpenCAP are distributed under the MIT license.

Numgrid is distributed under the Mozilla Public License 2.0. The source code is available on GitHub.

Acknowledgements

This project is funded by the Molecular Sciences Software Institute.

MolSSI logo

We would like to thank Professor Thomas Sommerfeld for his generous contribution of C++ code for analytic box-CAP integrals. Please visit his repository for many implementations of L^2 methods for resonances!

We would like to thank Mushir Thodika from Temple University for his help in developing the interface with Columbus.

We would like to thank Prof. John Burkardt for his implementation of the Incomplete Gamma function. Many of his wonderful open source codes can be found at his website.

Project details


Download files

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

Source Distribution

pyopencap-1.2.8.tar.gz (7.9 MB view details)

Uploaded Source

Built Distributions

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

pyopencap-1.2.8-cp314-cp314-manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pyopencap-1.2.8-cp314-cp314-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

pyopencap-1.2.8-cp314-cp314-macosx_14_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

pyopencap-1.2.8-cp313-cp313-manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pyopencap-1.2.8-cp313-cp313-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

pyopencap-1.2.8-cp313-cp313-macosx_14_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

pyopencap-1.2.8-cp312-cp312-manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pyopencap-1.2.8-cp312-cp312-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

pyopencap-1.2.8-cp312-cp312-macosx_14_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

pyopencap-1.2.8-cp311-cp311-manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pyopencap-1.2.8-cp311-cp311-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

pyopencap-1.2.8-cp311-cp311-macosx_14_0_arm64.whl (4.8 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

pyopencap-1.2.8-cp310-cp310-manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pyopencap-1.2.8-cp310-cp310-manylinux_2_28_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

pyopencap-1.2.8-cp310-cp310-macosx_14_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file pyopencap-1.2.8.tar.gz.

File metadata

  • Download URL: pyopencap-1.2.8.tar.gz
  • Upload date:
  • Size: 7.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.10

File hashes

Hashes for pyopencap-1.2.8.tar.gz
Algorithm Hash digest
SHA256 ab796aa82e56c2d84933f4ffa3657ad8d910bba505690ccaf20a9cc670d939fe
MD5 0e993af4348c72d27c26d94d36179b19
BLAKE2b-256 5f594d1dd319a931e8c5e7183087b440ba121ef7f45c87d1cedc6668b5ae9413

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4b0ea56904a6daadf1ddada27f115690634e121f830b1a157502d729d94077cf
MD5 89eb89dd68029719d28a46f21d226fbb
BLAKE2b-256 1901e3ff6152fc4bcb0b9a4eb1c8c13bcb4bdbe06338a6d74de3eb7e0dd71f86

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 816bee08bc5bc1817a2ca138d468acdd017ce263c3f3bef61ef6ecb752512e7e
MD5 b269b1a940902573b8b54601d73ba02f
BLAKE2b-256 5d776be30841255e25649dd4aae5a8ffeb19fc09fa6cd854e2b87fde87ec0422

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8022397d63372b1a5a59ca67e6dc066b4534eee43ad584ef80a2a46dbfe14c45
MD5 e590bca243a3fb26a42f8d2dc71ee7b3
BLAKE2b-256 d6b8c029c8fa5d2bd43373cd50bdd806fcd331c5bbef1f780e223ea7a1065f8f

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d47b7da8fc168206fe3c4d83c848c961fc479e9b0eda591e9e753e0a9f1eeb81
MD5 abe1918c1b13adae7313174d54fa1095
BLAKE2b-256 1a22c0d12e4a33c01fe9c290a1717f14815b489a3eb74c23ad3b128e15aec4f1

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 de499290ddd705091e070add599a9be1075e51c3f963a07a3119bd739a5c151b
MD5 dff861492d449eae37e7fb5997a85be9
BLAKE2b-256 0c9aedba759b47349aeab277d2fef50455435545342955838857731c97d81091

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f73e768d9675a2b58a351d087767939e8121235dc1b1e0ab78c182b474797047
MD5 c55ca535fcd5af4d8ef0306866216721
BLAKE2b-256 7ba88b34979bc06d52b100b2bf4e4e9a4b07809c64a51fbef2922aca125d4001

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 18faee47c0daf0c0008e2d2d2e85e21a4ef336e8ff9035c01e09db567ae038e9
MD5 3890cc2ee8922f898dc511f608cbc73f
BLAKE2b-256 8c601e5f3c3c2e59e2ea58bf1fd5c9808f5c3d2a9bf7ad4dfa3c74fc59dd7508

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 11ccc5e1d2738454482ab014a0b29ba975156dc3c486bf1c47a8d1ec14ba2b1d
MD5 676620c2a63460f1e03651d98b5b8576
BLAKE2b-256 2680942bf988bf35f3d6d3df320606693b758c9b1a1c21e0149aba8b671a9803

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0c64410d55253a284f3a2fbd804b0c9010d1ae68f6b1fe6b1316e0361ec5b436
MD5 2242fd56a610c6ce9733068c681dac5f
BLAKE2b-256 6fb527fa0803987e9e2e2473bb669d960c4cae44bfc1abed9bc2065b03817c52

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 50e7d07b3d9b80cb50227995df9879b541b0824e514275917a626649d68c3972
MD5 58fd69845cbc33d5b7bf7bd46386e709
BLAKE2b-256 87c9c8439e9dcc68cf5cd1cab063a03c89adb4307b8d08aaf84f72e726c173d8

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 42fe0990cc4bed8423d7db733b9d7fc82f7965e1f3fd5739c3ee10128b07165c
MD5 5c7f6696e0c62941f624e9d0acfbe952
BLAKE2b-256 7a7382f429d947df110eb8650359da13f1e0c32bb3756505ecd6b92258f6c0bc

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 9d7993d8b0e04f7c7e6949b50458ff5169d214525ff9978db382cbc418340ae8
MD5 40c4c0f530ea5cc39dabe0810406e00a
BLAKE2b-256 67aa9c5123120d4d5b08c3ae333e58af6dcc8553a7fb8ed564be329e356b283f

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ace159d8dbbb596449551815271601bb891897470c3362d24642b220ba7455a5
MD5 fa0efca21d52f045dd81e1527d02370e
BLAKE2b-256 e38b4dab48548902529b017cf0618fe208aa251daef106d8c59bbe994a3f7973

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4d6579b78ee30b51e5bc7349fa0e3a4b12d563402c643a3bf429d5a7b2c75c98
MD5 4c0bc6e7c3d6b24af0f2f855d0347802
BLAKE2b-256 f9c659dca122213e90d09af20d8a700e0f10eaa4af5cee962678d0c0f5f5808c

See more details on using hashes here.

File details

Details for the file pyopencap-1.2.8-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyopencap-1.2.8-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a0486c1ba801490a71d15c1d101747b68f5fd35b54fdb49879e2bb5e1c611661
MD5 1b674821d832333bc934068db5be6379
BLAKE2b-256 127cb28b84096fb702000545e38984a3e811caf422a61e77161ab7cef12da945

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