Skip to content

RESP

It is often desired to compute atomic charges which reproduce the electrostatic potential (ESP) generated by the molecule on a predefined grid. Such charges are often used to fit empirical force fields (e.g. Amber, and CHARMM). When fitting charges in this way, it is often found that the charge of buried atoms is ill-defined (because they do not contribute significantly to the ESP outside the molecule. Thus, the restrained ESP (RESP) method was introduced,1 which determines a set of atomic charges which reproduce the ESP on a grid, but which also penalize nonzero values of atomic charges (ensuring that buried atoms are assigned small charges).

Molecular grid

Most applications of RESP use a molecular grid which corresponds to multiple layers of Connolly surfaces (e.g. for different atomic radii).2 TeraChem computes such a grid internally, and several parameters of the grid can be controlled by the user. Specifically, the user can alter the number of layers used (esp_grid_layers), the density of the surface grid points on each layer (esp_grid_dens), the spacing between the layers (esp_grid_incr), the scale factor for the atomic radii used in construcing the innermost layer (esp_grid_scale), and the radius of the probe sphere used to smooth any kinks in each surface (probe_radius).

You can compute the ESP on the grid without fitting any atomic charges by setting esp_only.

Fitting procedure

The ESP will be computed on a grid. By default this is a layered Connolly surface as described above. There are also options to read in a grid (esp_gridfile) or to use a general cubic grid (esp_cubic_grid). When these other grids are used, it is often because the user wants to visualize the ESP and not to fit atomic charges. We do not recommend fitting atomic charges using grids other than the default layered Connolly surface.

Once the ESP is computed on a grid, TeraChem will fit the charges (\(q_i\) for the ith atom) in order to minimize the following loss function:

\[ L = \sum_g \left(V_{ESP}(r_g) - \hat V_{ESP}(r_g)\right)^2 + a \left(\sum_i (q_i^2+b^2)^{1/2} - b\right) \]

where

\[ \hat V_{ESP}(r_g) = \sum_i q_i / | r_i - r_g | \]

This fitting is subject to the hard constraint that the sum of the atomic charges agree with the total charge on the molecule.

Relevant input/output files

  • scr/esp.xyz - ESP computed at grid points
    • Column 1: Element type of atom the grid point originates from (set to first atom for user-defined grids)
    • Columns 2-4: XYZ coordinates of grid point (in Angstroms)
    • Column 5: ESP at this grid point (atomic units)
    • Column 6: Index of the atom this grid point originates from (first atom is 1). Order follows input molecular geometry. Set to the first atom for user-defined grids.
  • User-defined grid (esp_gridfile)
    • npoints [bohr|angstrom] (line 1, unit specifier is optional - default is Angstroms)
    • x1 y1 z1
    • ...
    • xn yn zn

Known limitations

  • Only spd basis sets are supported

Summary of relevant keywords

Keyword Type Default Description
resp bool no Calculate ESP/RESP charge?
esp_gridfile string none If present, this file contains a user-defined grid to be used for ESP calculations
esp_cubic_grid bool false If set, a cubic grid will be used
esp_cubic_nppd int 64 Number of points per dimension in cubic box
esp_restraint_a float 0.0005 "a" parameter in restraint term
esp_restraint_b float 0.1 "b" parameter in restraint term
esp_grid_scale float 1.4 Scale factor for vdw radius for grid
esp_grid_incr float 0.2 spacing between layers of grid points
esp_grid_layers int 4 number of layers
esp_grid_dens float 1.0 Target surface point grid density in Bohr^2
probe_radius float 0 Radius of probe sphere used to create grid
esp_only bool no If true, the ESP will be computed on the grid but charges will not be fit

  1. C. I. Bayly, P. Cieplak, W. D. Cornell, and P. A. Kollman, J. Phys. Chem. 97 10269 (1993). 

  2. U. C. Singh and P. A. Kollman, J. Comp. Chem. 5 129 (1984).