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

• If using PSI4 built from source and you want CPPE built from from source also, enable it as a feature with ENABLE_cppe, and let the build system fetch and build it and activate dependent code.

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.

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) 

Keywords for CPPE¶

POTFILE¶

Name of the potential file

• Type: string
• Default: potfile.pot

ISOTROPIC_POL¶

Make polarizabilities isotropic

DIIS¶

Use DIIS acceleration to obtain induced moments

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

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)

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

1. Build bundled
>>> cmake -DENABLE_cppe=ON

1. Build without CPPE
>>> cmake