Skip to main content

Open Quantum Platform: OpenQP

Open Quantum Platform (OpenQP) is a quantum chemical platform featuring cutting-edge capabilities like Mixed-Reference Spin-Flip (MRSF)-TDDFT with an emphasis on open-source ecosystem.

Key Features

  • Autonomous Modules of Quantum Chemistry Theories for Easy Interoperability
  • Flexible prototyping through a Python wrapper, PyOQP
  • Ground and Excited State Properties by MRSF-TDDFT
  • Nonadiabatic Coupling based on TLF Technology using MRSF-TDDFT
  • New Exchange-Correlation Functionals of DTCAM series for MRSF-TDDFT
  • Ground State Properties by HF and DFT theories
  • Geometry Optimization, Transition State Search, and Conical Intersection Search by SciPy and DL-Find
  • PyRAI2MD Integration to support Artificial Intelligence Ab Initio Molecular Dynamics
  • LibXC Integration to support a variety of exchange-correlation functionals
  • basis_set_exchange Integration to support a variety of basis sets
  • libecpint Integration to support a variety of Effective Core Potentials
  • Support for Molden File Format for visualization, compatible with many graphic software tools
  • DFT-D4 Dispersion Correction
  • OpenMP and MPI Parallelization and BLAS/LAPACK Optimization for high performance

Upcoming Features

Quickstart

  • Ready to Use Docker Image of openqp/openqp
  • Building from Source Files Using the Instructions Below.

Requirements

  • GCC, G++, Gfortran: Version >= 8
  • CMake: Version >= 3.25
  • cffi: Perform pip install cffi
  • ninja (optional)
  • MPI Library: OpenMPI For MPI Support. Consult detailed documentation for other MPI libraries

Download the Source Files

git clone https://github.com/Open-Quantum-Platform/openqp.git

Compile

OpenMP Support
cd openqp
cmake -B build -G Ninja -DUSE_LIBINT=OFF -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_INSTALL_PREFIX=. -DENABLE_OPENMP=ON -DLINALG_LIB_INT64=OFF
ninja -C build install
cd pyoqp
pip install .
OpenMP and MPI Support
cd openqp
cmake -B build -G Ninja -DUSE_LIBINT=OFF -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_Fortran_COMPILER=mpif90 -DCMAKE_INSTALL_PREFIX=. -DENABLE_OPENMP=ON -DLINALG_LIB_INT64=OFF -DENABLE_MPI=ON
ninja -C build install
cd pyoqp
pip install .
OpenMP and MPI Support using make
cd openqp
cmake -B build -DUSE_LIBINT=OFF -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_Fortran_COMPILER=mpif90 -DCMAKE_INSTALL_PREFIX=. -DENABLE_OPENMP=ON -DLINALG_LIB_INT64=OFF -DENABLE_MPI=ON
make -C build install
cd pyoqp
pip install .
  • Use -DUSE_LIBINT=ON to replace the default ERI based on Rys Quadrature with libint.
  • Use -DLINALG_LIB_INT64=OFF to ensure compatibility with third-party software like libdlfind compiled with 32-bit BLAS.

Environmental Settings

export OPENQP_ROOT=/path/to/openqp                           # Path to the Root of openqp
export OMP_NUM_THREADS=4                                     # The number of cores to be used for OpenMP runs
export LD_LIBRARY_PATH=$OPENQP_ROOT/lib:$LD_LIBRARY_PATH

Special Environmental Settings for MKL Math Library:

export MKL_INTERFACE_LAYER="@_MKL_INTERFACE_LAYER@"
export MKL_THREADING_LAYER=SEQUENTIAL

Test

openqp --run_tests all     # Run all tests from all folders in examples

Run

For OpenMP or sequential run:

openqp any_example_file.inp

For OpenMP and MPI run:

mpirun -np number_of_mpi openqp any_example_file.inp

Detailed Documentation

For more in-depth information, visit:

Input Generator

Easily create input files for OpenQP using our Web-based Input Generator.

Citing OpenQP

If you use OpenQP in your research, please cite the following papers:

Contributors

See the separate LICENSE file.

Metadata

Release files for PyOpenQP 1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for PyOpenQP 1.1
File
pyopenqp-1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyopenqp-1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
pyopenqp-1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
pyopenqp-1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyopenqp-1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details

Total release size: 253.1 MB

Release files / pyopenqp-1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopenqp-1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 50.6 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ae78719d88b007140316819c00d79e60cdc034067ff81982c9dce6b823544f78
BLAKE2b-256 checksum
How to use checksums
2f8c01d3577d202b7d1ddcfb1e6c0371aeb72270111879bb1ccefd171320a5ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6

Release files / pyopenqp-1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopenqp-1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 50.6 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
70da6d286544f9702e93c333560327037979346362e3e477a86fa4b0dd396661
BLAKE2b-256 checksum
How to use checksums
34ab52bda7826aa65681a24794b78688d9babca5d58c4263aeb23eb5c9bd4a7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6

Release files / pyopenqp-1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopenqp-1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 50.6 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6b0a66f21bb0ab6105bad9d8df6a2f2211bc86e00d00cdf529243a6734b5a724
BLAKE2b-256 checksum
How to use checksums
c674c11c4629a251f1298cfd1347adf60bcb793c40f95a8a9c447fb08dee4fae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6

Release files / pyopenqp-1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopenqp-1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 50.6 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
81a257ea27924faaaf4a6fd44f3ffcb823bbbcec6fd4eda7fe426be37c078fb3
BLAKE2b-256 checksum
How to use checksums
5998858192aae38d974576765cb3917e6bed02cb4c0f35cd012c1d03e9951e55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6

Release files / pyopenqp-1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopenqp-1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 50.6 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4aadfd4bb1705d37b4bbaf6262e72785e7c74c4e81928cd28e2d8c6cacbeb42d
BLAKE2b-256 checksum
How to use checksums
2ec14187c9822e21dfddbcc2a6d3a4873089f8a1e5da7bf46e8df2ff3bdea2f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6

Release history Release notifications | RSS feed

This release

1.1 This release

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page