Interface to CPPE by M. Scheurer

Code author: Maximilian Scheurer

Section author: Maximilian Scheurer

Module: Keywords, PSI Variables

https://img.shields.io/badge/home-cppe-informational.svg

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

  • https://anaconda.org/psi4/cppe/badges/version.svg
  • 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

  • https://img.shields.io/github/tag-date/maxscheurer/cppe.svg?maxAge=2592000
  • 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 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

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

INDUCED_CONVERGENCE

Threshold for induced moments convergence

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