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.Previous bullet had details. To build PSI4 from source and use cppe from conda without thinking, consult sec:condapsi4dev.
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 |globals__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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 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¶
ISOTROPIC_POL¶
Make polarizabilities isotropic
- Type: boolean
- Default: false
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