3.44 ESP charges
This sections describes how to calculate partial charges by fitting to the electro static potential (ESP). These charges are
widely used in the context of force fields ([222], [66], [280], [33], CHELP:
[62], CHELPG: [43], RESP-charges: [24], CHELP-BOW/CHELMO: [279],
ESP-charge from multi-pole-moments: [146]). FHI-aims implements a simple method for cluster calculation (molecules) as well as
two methods for solids (periodic boundary conditions) [51], [61].
The starting point for these methods is the calculation of the electro static potential at a sufficiently high number of grid points
outside the vdw radius of the atoms. To define a space region for the grid two parameters are necessary: a minimal radius and a
maximal radius around the atoms. These radii are defined as multiples of the vdw-radius of the atoms, see figure 3.13
for details. The values for the vdw radii of most atoms in the periodic table have been taken from
"http://de.wikipedia.org/wiki/Van-der-Waals-Radius" ([38], [266], [209]). For the generation
of the points cubic grids are used. For cluster calculations points within a cube encapsulating the spheres with the maximal radius (multiple of the vdw radius) around all atoms are generated. For periodic boundary conditions the provided unitcell is used. The points within the superposition of the spheres with the minimal radius (minimal multiple of the vdw radius) are excluded. The atom-centered radial grids are also available, mainly for test purposes. Here, all points lie on N spheres with radii between the minimal and maximal multiple of the vdw radius. The spacing between the radii of the N spheres is equidistant or logarithmic.
For the cluster case the function to fit to is a sum of Coulomb potentials with charges , the ESP-charges, at the atomic position :
| (3.203) |
The are calculated by a least squares fit with the additional constraint of constant total charge . We use the method of Lagrange multipliers to minimize the function:
| (3.204) |
This can be translated into a system of linear equations:
| (3.205) |
with the x matrix :
| (3.206) | ||||
and the vector :
| (3.207) | ||||
| (3.208) | ||||
are the charges.
For solids (periodic boundary conditions) the situation is more complicated because all charges are repeated infinitely and the
potential is only defined up-to an arbitrary offset. The methods to solve this problem are based on Ewald summation.
Details on method 1 can be found here [51] and on method two here [61]. The function for the potential
generated by the ESP charges centered at the atoms of the unit-cell now reads:
| (3.209) |
with mapping the lattice positions. the lattice vectors, . mapping the reciprocal space. the reciprocal lattice vectors, . is the volume of the unit-cell. The parameter is defined as with the cutoff radius of the Ewald summation. For the second method Wolf summation is implemented as well:
| (3.210) | ||||
The function to minimize for method 1 is:
| (3.211) | ||||
The and are electro-negativity and self-Coulomb interaction of the respective elements, which can be used to constrain the desired charges. are weighting factors for the constraints. This results in and for the linear equations system:
| (3.212) | ||||
The function to minimize for method 2 is:
| (3.213) | ||||
The constraint charges can be determined with other methods (e.g. Mulliken charge analysis [225]), is the weighing factor. This gives and :
| (3.214) | |||
Here the arbitrary offset of the potential is an additional fitting parameter, the matrix is of dimension x and of dimension . For method 1 can be calculated as:
| (3.215) |
from the fitted charges . As a measure for the quality of the fit the root-mean-square () is defined as:
| (3.216) |
The current implementation is quite sensitive to the points chosen for the calculation of the electrostatic potential. Thorough studies
regarding the parameters for the grid are advised! For periodic boundary conditions the ESP-charges calculated for transition densities
are experimental, caution!! The ESP-charges from transition densities can be benchmarked against the dipole-moments calculated with
compute_dipolematrix.
Example for a periodic system:
output esp
esp n_radius 10
esp radius 1.0 2.
esp pbc_method 1
esp R_c 10
output esp
esp n_radius 10
esp radius 1.0 2.
esp pbc_method 2
esp R_c 30
output esp
esp radius 1.0 2.
esp pbc_method 2
esp R_c 20
esp equal_grid_n 10 10 10
The ESP-charges for the full potential will be calculated for a periodic system. At first with points within once the vdw radius
and twice the vdw radius of the atoms, with 10 shells in between and a cutoff radius of 10 for the Ewald summation, method 1
(Ewald summation) is used. Secondly with points within once the vdw radius and twice the vdw radius of the atoms, with 10 shells in
between and a cutoff radius of 30, method 2 (Ewald summation) is used. Thirdly with points within once the vdw radius and twice
the vdw radius of the atoms, with 101010 initial points on a cubic grid, method 2 is used.
Warning: For periodic boundary conditions the atoms in the supplied geometry.in must be within the first (central) Wigner-Seitz-cell. For a two layer system it would normally be possible to have one layer within the (central) Wigner-Seitz-cell and the second one sticking out at one side. Periodic boundary conditions will take care. The atoms sticking out would be shifted back into the (central) Wigner-Seitz-cell. This might lead to different ESP-charges and Dipole matrix elements. They are only invariant for collective translations of all atoms. The program will stop if a non-valid geometry is detected.
Tags for general section of control.in:
output sub-tag: esp(control.in)
Usage: output esp
Purpose: Calculate the ESP-charges at the atomic position from the full density with default settings. The default settings are to
use a radial grid with equidistant radii and without mapping back to the unit-cell in case of periodic boundary conditions. The radial
multipliers for the exclusion radius are 3 (Minimum) and 8 (Maximum) times the vdw-radius for the cluster case and
1 (Minimum) and 2 (Maximum) times the vdw-radius for pbc. In both cases 5 radial-shells are used. For pbc a cutoff radius for
the Ewald summation of 10 is used. The maximal multiples of the lattice vectors () and the reciprocal
lattice vectors () used in the summation are 7 (for both). No constraints are applied to the charges.
The keyword can be used multiple times to calculate esp charges with different settings. The optional sub-sub keywords
(see below) have to be set after output esp for every calculation separately,
otherwise defaults are used.
Optional keywords for output esp:
-
•
esp spin spin
Select spin spin state (1 or 2) for the calculation of the esp charges from the transition density with states i -> j (default 1) at k-point kpoint (default 1). -
•
esp state state_one state_two
Select states i=state_one -> j=state_two (i,j [1,n_states]) for the calculation of the esp charges from the transition density with spin spin (default 1) at k-point kpoint (default 1). -
•
esp kpoint k-point
Select states the kpoint (k-point [1,n_k_points]) for the calculation of the esp charges from the transition density states i -> j (default 1) with spin spin (default 1). -
•
esp radius min_radius max_radius
Select the minimal (min_radius) and maximal (max_radius) multiple of the vdw radius to select the volume where the potential is evaluated and the esp charges fitted. Defaults: 3 and 8 for clusters and 1 and 2 for pbc. max_radius should not be larger than smallest lattice vector for pbc and radial gird. -
•
esp n_radius n_radius
Select the n_radius number of of radial shells that are used to create points in the selected volume. Default: 5 -
•
esp equal_grid_n n_grid_x n_grid_y n_grid_z
Select the number of points for the cubic grid in x - n_grid_x, y - n_grid_y and z - n_grid_z direction. Default: 10 10 10 -
•
esp rm r_m
PBC only. Maximum number r_m of multiples of the lattice vectors that are used in the real space sum of the Ewald summation. Default: 7 -
•
esp km k_m
PBC only. Maximum number k_m of multiples of the reciprocal lattice vectors that are used in the reciprocal space sum of the Ewald summation. Default: 7 -
•
esp R_c R_c
PBC only. Real space cutoff radius for the Ewald/Wolf-summation. Default: 20. - •
-
•
esp grid type
Switch between radial gird - 1, logarithmic radial grid - 2, cubic grid from lattice vectors - 3 and cubic grid from lattice vectors, but truncated in z-direction by maximal vdw-radius (exclude vacuum region for surface slabs) - 4. Default: 3. -
•
esp output_cube type
Instead of fitting the ESP-charges to the potential, the potential is written to a cube-file (potential_esp_i.cube). A cubic grid is required. Switch between Hartree potential - 1, XC-potential - 2, X-potential - 3, C-potential - 4, Density - 5, and Hartree potential with the coordinates of voxels - 6. -
•
esp output_fit
The ESP-charges are fitted to the potential and the potential calculated from the fitted ESP-charges is written to a cube-file (potential_esp_i.cube). A cubic grid is required. -
•
esp use_dip_for_cube
The dipole correction is added to the cube output of the (fitted) potential. Only applied if a dipole correction was used during SCF.
Tag: esp_constraint(control.in)
Usage: esp_constraint method
Purpose: PBC only. Constrain the calculated ESP charges with periodic boundary conditions for method 1 or 2. The constraints
will be used for all calculated ESP-charges. Due to technical reasons (array allocations) you have to specify the method
you are using in control.in with this keyword. Choices for method are 1 and 2. The actual
constraints have to be specified for each atom in geometry.in.
Tag: compute_esp_charges(control.in)
Usage: compute_esp_charges min_vdw_radius grid_type max_vdw_radius n_radius k-point
Purpose: Calculate and output the ESP-charges for the transition states within the energy window [, ] at
k-point k-point. Data will be written to file esp_element_k-point.dat.
The grid type grid_type (1 - radial, 2 - logarithmic radial, 3 - cubic, 4 - cubic from radii) will be used. The potential
will be calculated on the n_radius radial shells within the volume created by min_vdw_radius and max_vdw_radius
times the vdw radius of the atoms or in a cube with n_radiusxn_radiusxn_radius oints. The dipole moment calculated from the fitted charges at atomic positions is
also written to file:
| (3.217) |
for transition states .
Tags for geometry.in:
Tag: esp_constraint(geometry.in)
Usage: esp_constraint constraint_1 constraint_2 constraint_3
Purpose: PBC only. Define the constraints for the fit of the ESP-charges for each atom. Depending on the chosen method
(esp_constraint method in control.in). Method 1 needs three parameters () 3.44
and method 2 needs two parameters () 3.44 as defined above.