Partial Charges

Calculate atomic partial charges via Lagrangian constraints.

Introduction

Classical electronegativity equilibration (EEQ) partial charges are determined by minimising the following energy expression of the isotropic electrostatic interaction, which is dependent on atomic charges q

EIES=i=1N(χiqi+12(Jii+2γiiπ)qi2)+12i=1NjiNqiqjerf(γijRij)Rijwithχi=ENiκiCNi.E_{IES} = \sum\limits_{i=1}^N\left( \chi_iq_i + \frac{1}{2}\left(J_{ii} + \frac{2\gamma_{ii}}{\sqrt{\pi}}\right)q_i^2\right) + \frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j\ne i}^Nq_iq_j\frac{\text{erf}(\gamma_{ij}R_{ij})}{R_{ij}} \\[1em]\quad \text{with}\quad \chi_i = EN_i - \kappa_i\sqrt{CN_i}.

The first part of the equation above describes the on-side interaction of atom i in terms of a Taylor expansion expressed in atomic partial charges. Within chii , we apply the Pauling electronegativity (EN) and the atomic coordination number (CN) scaled by a parameter kappaito introduce an environment dependency into the partial-charge approach.The second part of the equation describes the (pairwise) interactions between the atom i and all jparticles as obtained for interacting charge densities (for a deeper understanding check the references, Goedecker et al. and Caldeweyher et al.; Note: Eq. 12 in Caldeweyher et al. is erroneous while the definition above is correct as it is also given in the JCP publication).

To obtain EEQ partial charges under the constraint that the partial charges conserve the total charge of the system, the method of constrained Lagrangian optimisation is used

L=EIES+λ(k=1Nqkqtotal)withLq=0andLλ=k=1Nqkqtotal=0,\mathcal{L} = E_{IES} + \lambda\left(\sum\limits_{k=1}^Nq_k - q_{total}\right) \\ \quad \text{with}\quad \frac{\partial\mathcal{L}}{\partial q} = \mathbf{0} \quad\text{and} \quad \frac{\partial\mathcal{L}}{\partial \lambda}= \sum\limits_{k=1}^N q_k-q_{total} =0,

which leads to a set of (N + 1) linear equations that can be rewritten in matrix form as

(A110)(qλ)=(Xqtotal)withXi=χi\begin{pmatrix} \mathcal{A} & \mathbf{1}\\ \mathbf{1} & \mathbf{0} \end{pmatrix} \begin{pmatrix} \mathbf{q} \\ \mathbf{\lambda} \end{pmatrix} = \begin{pmatrix} \mathcal{X} \\ q_{total} \end{pmatrix} \quad \text{with}\quad \mathcal{X}_i = -\chi_i

Let's define the interaction matrix (the definition of the right-hand side is given above)

Aij={Jii+2γiiπ,if i=jerf(γijRij)Rij,if ij,\mathcal{A}_{ij} = \begin{cases} J_{ii} + \frac{2\gamma_{ii}}{\sqrt{\pi}}, & \text{if } i=j\\ \frac{\text{erf}(\gamma_{ij}R_{ij})}{R_{ij}}, & \text{if } i\neq j \end{cases},

Overall five parameter exist per element (fitted against PBE0/def2-TZVP Hirshfeld charges):

Parameter

Meaning for atom i

Jii

gammaii

Atomic radii dependent term

ENi

Rcovi

Kappai

Scaling factor for chii

Define the Subcommand

> kallisto eeq options arguments

Application

To calculate atomic EEQ charges for a neutral charged Alanine-Glycine molecule, we call the subcommand eeq

> kallisto eeq alanine-glycine.xyz
0.059704461728256275
0.2626494653657499
-0.4965512448739412
0.047991263003576215
0.2744196871227069
-0.38881537388038867
-0.6402141334784498
-0.3928319273751289
-0.47582669447302023
0.2790624116759344
0.2891096702066603
-0.1845935570451514
0.12417598515268524
0.27028773655342087
0.14722120980685544
0.14502596136754614
0.2992214711225029
0.13031907222773667
0.1342346682463232
0.11540986754612566
# Save output to file 'eeq'
> kallisto eeq --out eeq alanine-glycine.xyz
> cat eeq
0.059704461728256275
0.2626494653657499
-0.4965512448739412
0.047991263003576215
0.2744196871227069
-0.38881537388038867
-0.6402141334784498
-0.3928319273751289
-0.47582669447302023
0.2790624116759344
0.2891096702066603
-0.1845935570451514
0.12417598515268524
0.27028773655342087
0.14722120980685544
0.14502596136754614
0.2992214711225029
0.13031907222773667
0.1342346682463232
0.11540986754612566

Now we obtain a list of atomic EEQ charges, which sum up to a total charge of zero. However, we can furthermore calculate atomic EEQ charges for the cationic (or anionic) Alanine-Glycine molecule by incorporating the chrg option as described in the subcommand definition.

Last updated