Skip to main content

Python bindings for the Open Quantum Platform (Fortran core + Python wrapper)

Project description

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

Legal Notice

See the separate LICENSE file.

Project details


Release history Release notifications | RSS feed

This version

1.1

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.

openqp-1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (50.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

openqp-1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (50.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

openqp-1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (50.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

openqp-1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (50.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

openqp-1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (50.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file openqp-1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for openqp-1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f18c118713aa7cd7ce73ed2318d4527ac7219ce058cc6991f7d0b213a5231062
MD5 92b29d8918720d4563c3815388f8b8ac
BLAKE2b-256 5b2d50aa0d3da4d7fd2a74b7075cde5c080f1a5614623cbe15e6d1b78b437492

See more details on using hashes here.

File details

Details for the file openqp-1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for openqp-1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6223cf5a3f624151d694c2ceb89d11436f8ff5feb9b763fc95a500d6987b37e6
MD5 bcb7d7f2c29d11c898701d8484007772
BLAKE2b-256 a8aa1f2a4375651bfd532e1f5865ff71c5e89c2a2edd61b7fab3ebc48ba05e56

See more details on using hashes here.

File details

Details for the file openqp-1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for openqp-1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 14cf00f9fca4870446c2d2c13bdba303690518ee18c77060aea2199e7d735f8d
MD5 9cb651d24be0f78438efa48ed23919b1
BLAKE2b-256 438a130f46dddffb0b7e36bda61954285ca84f2c38d44c96c768f6b60eea391c

See more details on using hashes here.

File details

Details for the file openqp-1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for openqp-1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ecd54db2c81e3217f5551b03ac9410ec31156d0b4a69e98418830d5fdf886818
MD5 18f801d381c22e63c9fb3d0e3074fc1e
BLAKE2b-256 ca4c284827a09b1a7d37b40ee28cd8a48b0d3b6258e604d24095890a49fc1df5

See more details on using hashes here.

File details

Details for the file openqp-1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for openqp-1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6f8ed19e8d6d3647af824fdc7699070aca4ed7d68af4c188f1ce44df4bd19bfd
MD5 5f6ab2938b680808870ffc8370e31ca9
BLAKE2b-256 59aa8ab8d9b10c78f980444a07cc9da07feddf3e923f311f935c8e1d7af8b26e

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