This method is based on density embedding. Let’s introduce first the subtraction scheme definition of the density embedding method:

\( E_{tot} = E_{HK}[\rho_{tot}] - \sum_{A}E_{HK}[\rho_{A}] + \sum_{A}E_{KS}[\rho_{A}] \).

The total electronic density \(\rho_{tot} = \sum_{A}\rho_{A}\) is the sum over all the subsystems \(A\) of the subsystem densities \(\rho_{A}\). The energy functionals \(E_{HK}\) and \(E_{KS}\) are the Hohenberg–Kohn and the Kohn–Sham functionals, respectively.

\[\begin{split} E_{HK}[\rho] = T_{HK}[\rho] + E_{ext}^{HK}[\rho] + \frac{1}{2} \int\int \frac{\rho(r)\rho(r')}{r-r'}drdr' + E_{XC}[\rho] \\ E_{KS}[P] = T_{S}[P] + E_{ext}[P] + \frac{1}{2} \int\int \frac{\rho(r)\rho(r')}{r-r'}drdr' + E_{XC}[\rho] \end{split}\]

where \(P\) is the reduced one-particle density matrix of the system. First of all, it’s important to introduce the restriction that the external energy functional in the Hohenberg–Kohn energy is linear in the density.

\[ E_{ext}^{HK}[\rho_{tot}] = \sum_{A}E_{ext}^{HK}[\rho_{A}] \]

Now, calling the classical Coulomb term \(E_{hxc}[\rho]\) and defining the non-additive kinetic energy as \(T_{nadd}[\rho,{\rho_{A}}] = T_{HK}[\rho]-\sum_{A}T_{HK}[\rho_{A}]\), the obtained equation is:

\[ E_{tot}[{P_{A}}] =\sum_{A}(T_{S}[P_{A}] + E_{ext}[P_{A}]) + E_{hxc}[\rho] + T_{nadd}[{P_{A}}] \]

To avoid the integration of the kinetic energy functional for each subsystem, an atomic potential approximation can be applied. For a local potential:

\[\begin{split} T_{nadd} = T_{S}[\rho]-\sum_{A}T_{S}[\rho_{A}] = \\ \int\rho\mu[\rho]dr - \sum_{a}\int\rho_{A}\mu[\rho_{A}]dr = \\ \sum_{a}\int\rho_{A}(\mu[\rho]-\mu[\rho_{A}])dr \end{split}\]

Doing a linearization approximation for the functional \(\mu[\rho]\)

\[\begin{split} \mu[\rho]-\mu[\rho_{A}] \sim \sum_{B\neq A} \frac{\partial \mu[\rho_{A}]}{\partial \rho} \rho_{B} = \mu'[\rho_{A}] \\ T_{nadd} = \sum_{A}T_{S}\sum_{B\neq A}\int\mu'[\rho_{A}]\rho_{A}\rho_{B}dr \end{split}\]

A further approximation of the derivative functional in atomic contributions is:

\[ \mu'[\rho_{A}]\rho_{A} = V^{K}[\rho_{A}] \sim \sum_{a \in A}V_{a}^{K}(R_{a}) \]

The realization that a typical kinetic energy functional is proportional to \(\rho^{5/3}\) leads to a model for the final atomic local potential of the form:

\[ V_{a}^{K}(R_{a}) = N_{a}\rho_{a}^{2/3} \]

where \(\rho_{a}\) is a model atomic density. Such local potential can help to speed up the underlying embedding calculation.


The division of the total system into subsystems is a critical point, in order to do that properly it is important to specify which is the ‘minimum unit’, that can be defined in the TOPOLOGY section:

      ABC 9.8528 9.8528 9.8528
 O   2.28039789       9.14653873       5.08869600       1
 H   1.76201904       9.82042885       5.52845383       1
 H   3.09598708       9.10708809       5.58818579       1
 O   1.25170302       2.40626097       7.76990795       2
 H  0.554129004       2.98263407       8.08202362       2
 H   1.77125704       2.95477891       7.18218088       2
 O   1.59630203       6.92012787      0.656695008       3
 H   2.11214805       6.12632084      0.798135996       3
 H   1.77638900       7.46326399       1.42402995       3

This strategy is based on the fourth column in the COORD section. At this point the code is able to find the best combination of ‘minimum units’ through the COLORING_METHOD in order to simplify the calculation. Another suggestion is to run KG calculations using linear scaling DFT, replacing the SCF section with the LS_SCF section:

  MAX_SCF     40
  EPS_FILTER  1.0E-6
  EPS_SCF     1.0E-7
  MU         -0.1

This speeds up the calculation, especially increasing the dimension of the system.


Keep in mind: all the keywords have to be activated in the QS section as well:


Once all these passages are done, one has to choose the TNADD_METHOD. For the first type of calculation, discussed in the previous section, the keyword to select is EMBEDDING (default). Inside the KG_METHOD section the XC functional can be selected:

      FUNCTIONAL T92   #example

And in the same section others corrections can be added (example: VDW_POTENTIAL). For the second type of calculation the keyword to select is ATOMIC. This method implies a supplemental atomic potential (create a file which contains all the required potentials). Potential templates can be found inside the “tests > QS > regtest-kg” folder of CP2K and they can be generated directly from the code (look at “tests > ATOM > regtest-pseudo > O_KG.inp”). It’s important to point out that this method is still in the experimental stage and further investigations are needed.


Keep in mind: there is also the possibility to completely avoid the \(T_{nadd}\) selecting NONE as TNADD_METHOD, but in this way the result of the calculation is going to be wrong, since one term is missing.