Interface to CPPE by M. Scheurer¶
Code author: Maximilian Scheurer
Section author: Maximilian Scheurer
Module: Keywords, PSI Variables
PSI4 contains code to interface to the CPPE library developed by M. Scheurer. The CPPE library requires no additional licence, downloads, or configuration. The library allows for calculations in solution with the polarizable embedding model (PE), an explicit, fragment-based solvent model [Olsen:2010:3721].
For a general tutorial on how to prepare/perform PE calculations, read the tutorial review.
Installation¶
Binary
CPPE is available as a conda package for Linux and macOS (and Windows, through the Ubuntu shell).
If using the PSI4 binary, CPPE has already been installed alongside.
If using PSI4 built from source, and anaconda or miniconda has already been installed (instructions at Quick Installation), CPPE can be obtained through
conda install cppe -c psi4
. Then enable it as a feature with ENABLE_cppe, hint its location with cppe_DIR, and rebuild PSI4 to detect CPPE and activate dependent code.
To remove a conda installation,
conda remove cppe
.
Source
Using the polarizable embedding model¶
The inclusion of a PE description of the solvent into your calculation
is achieved by setting PE true
in your input file.
Note
At present, PE can only be used for energy calculations with SCF
wavefunctions and CC wavefunctions in the PTE approximation [Cammi:2009:164104].
All ERI algorithms (PK
, OUT_OF_CORE
, DIRECT
, DF
, CD
) are supported.
Note
linear response calculations (static polarisabilities, TD-SCF) are supported for RHF/UHF if available.
Warning
The CPPE library cannot exploit molecular point group symmetry.
A typical input for a Hartree–Fock calculation with PE would look like the following:
molecule pna {
C 8.64800 1.07500 -1.71100
C 9.48200 0.43000 -0.80800
C 9.39600 0.75000 0.53800
C 8.48200 1.71200 0.99500
C 7.65300 2.34500 0.05500
C 7.73200 2.03100 -1.29200
H 10.18300 -0.30900 -1.16400
H 10.04400 0.25200 1.24700
H 6.94200 3.08900 0.38900
H 7.09700 2.51500 -2.01800
N 8.40100 2.02500 2.32500
N 8.73400 0.74100 -3.12900
O 7.98000 1.33100 -3.90100
O 9.55600 -0.11000 -3.46600
H 7.74900 2.71100 2.65200
H 8.99100 1.57500 2.99500
symmetry c1
no_reorient
no_com
}
set {
basis sto-3g
pe true
e_convergence 10
d_convergence 10
scf_type pk
}
set pe {
potfile pna_6w.pot
}
scf_energy, wfn = energy('scf', return_wfn=True)
The corresponding potential file pna_6w.pot can be downloaded here.
Keywords for CPPE¶
PE¶
PE boolean for polarizable embedding module
Type: boolean
Default: false
POTFILE¶
Name of the potential file OR contents of potential file to be written anonymously on-the-fly.
Type: string
Default: potfile.pot
ISOTROPIC_POL¶
Make polarizabilities isotropic
Type: boolean
Default: false
INDUCED_CONVERGENCE¶
Threshold for induced moments convergence
Type: conv double
Default: 1e-8
MAXITER¶
Maximum number of iterations for induced moments
Type: integer
Default: 50
BORDER¶
Activate border options for sites in proximity to the QM/MM border
Type: boolean
Default: false
BORDER_TYPE¶
border type, either remove or redistribute moments/polarizabilities
Type: string
Possible Values: REMOVE, REDIST
Default: REMOVE
BORDER_N_REDIST¶
number of neighbor sites to redistribute to. The default (-1) redistributes to all sites which are not in the border region
Type: integer
Default: -1
BORDER_REDIST_ORDER¶
order from which moments are removed, e.g., if set to 1 (default), only charges are redistributed and all higher order moments are removed
Type: integer
Default: 1
BORDER_RMIN¶
minimum radius from QM atoms to MM sites to be taken into account for removal/redistribution
Type: double
Default: 2.2
BORDER_RMIN_UNIT¶
unit of BORDER_RMIN, default is atomic units (AU)
Type: string
Possible Values: AU, AA
Default: AU
BORDER_REDIST_POL¶
redistribute polarizabilities? If false, polarizabilities are removed (default)
Type: boolean
Default: false
How to configure CPPE for building Psi4¶
Role and Dependencies
Role — In PSI4, CPPE is a library that provides additional quantum chemical capabilities (explicit solvation modeling).
Downstream Dependencies — PSI4 (\(\Leftarrow\) optional) CPPE
Upstream Dependencies — CPPE
CMake Variables
ENABLE_cppe — CMake variable toggling whether Psi4 builds with CPPE
cppe_DIR — CMake variable to specify where pre-built CPPE can be found. Set to installation directory containing
share/cmake/cppe/cppeConfig.cmake
Examples
Build bundled
>>> cmake -DENABLE_cppe=ON
Build without CPPE
>>> cmake