CPPE is an open-source, light-weight C++ and Python library for Polarizable Embedding (PE)1,2 calculations. It provides an easy-to-use API to implement PE for ground-state self-consistent field (SCF) calculations and post-SCF methods. A convenient Python interface is also available.
CPPE enables PE calculations in the following programs:
Examples for the open-source Python-driven programs can be found here.
The easiest way to install CPPE is via pip
:
pip install cppe
Note that CPPE will be built from source and a C++14 compatible compiler is required (see below). If the compiler supports OpenMP, it will also be enabled for the CPPE build.
Manual builds can be done using CMake by running
git clone https://github.com/maxscheurer/cppe
cd cppe; mkdir build; cd build
cmake ..
make -j4
Alternatively, CPPE can be installed using the setup.py
script with
git clone https://github.com/maxscheurer/cppe
cd cppe
python setup.py install
If the Python interface should be built, specify the CMake option
-DENABLE_PYTHON_INTERFACE=ON
. If pybind11
is not installed, CMake
will automatically download pybind11
and install it locally.
Installing through setup.py
will always build the Python interface.
- C++ 14 compiler
- Python >= 3.6 (interpreter and development packages)
The tests can be run with
python setup.py build_ext -i; python setup.py test
for the setup.py
build, or
source setup_environment.sh; py.test
for the CMake build.
The journal article describing CPPE can be found here.
CPPE: An Open-Source C++ and Python Library for Polarizable Embedding
Maximilian Scheurer, Peter Reinholdt, Erik Rosendahl Kjellgren, Jógvan Magnus Haugaard Olsen, Andreas Dreuw, and Jacob Kongsted;
Journal of Chemical Theory and Computation 2019 15 (11), 6154-6163,
DOI: 10.1021/acs.jctc.9b00758
1 Olsen, J. M., Aidas, K., & Kongsted, J. (2010). Excited States in Solution through Polarizable Embedding. J. Chem. Theory Comput., 6 (12), 3721–3734. https://doi.org/10.1021/ct1003803
2 Olsen, J. M. H., & Kongsted, J. (2011). Molecular Properties through Polarizable Embedding. Advances in Quantum Chemistry (Vol. 61). https://doi.org/10.1016/B978-0-12-386013-2.00003-6