User Tools

Site Tools


howto:kg

This is an old revision of the document!


How to run simulations with KG method

Introduction

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

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

The total electronic density of the $\rho_{tot} = \sum_{A}\rho_{A}$ as 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.

$\displaystyle 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]$.
$\displaystyle 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]$.

where $P$ is the reduced one-particle density matrix of the system. In order to arrive at the working equations, one has to introduce the restriction that the external energy functional in the Hohenberg–Kohn energy is linear in the density.

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

Now, if one calls the classical Coulomb term $E_{hxc}[\rho]$ and defines the non-additive kinetic energy as $T_{nadd}[\rho,{\rho_{A}}] = T_{HK}[\rho]−\sum_{A}T_{HK}[\rho_{A}]$, the obtained working equation would be:

$\displaystyle 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 one can write:

$\displaystyle T_{nadd} = T_{S}[\rho]−\sum_{A}T_{S}[\rho_{A}] =$
$\displaystyle \int\rho\mu[\rho]dr - \sum_{a}\int\rho_{A}\mu[\rho_{A}]dr =$
$\displaystyle \sum_{a}\int\rho_{A}(\mu[\rho]-\mu[\rho_{A}])dr$

Making a linearization approximation for the functional $\mu[\rho]$

$\displaystyle \mu[\rho]-\mu[\rho_{A}] \sim \sum_{B/not = A} \frac{\partial \mu[\rho_{A}]}{\partial \rho} \rho_{B} = \mu'[\rho_{A}]$
$\displaystyle T_{nadd} = \sum_{A}T_{S}\sum_{B/not = A}\int\mu'[\rho_{A}]\rho_{A}\rho_{B}dr$

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

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

and 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:

$\displaystyle 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.

CP2K tutorial

First of all, 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 the XC functional can be selected:

      &XC
        &XC_FUNCTIONAL
          &KE_GGA
            FUNCTIONAL T92
          &END
        &END
      &END

And in the same section others corrections can be added (example: VDW_POTENTIAL).

The division of the total system into subsystems is a critical point, in order to do that properly it is important to tell the CP2K which is the 'minimum unit'. One can use the section TOPOLOGY to define the minimum subsystem:

  &SUBSYS
    &CELL
      ABC 9.8528 9.8528 9.8528
    &END CELL
    &COORD
 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
 ...
    &END COORD
    &TOPOLOGY
      CONN_FILE_FORMAT USER
    &END

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.

howto/kg.1544000867.txt.gz · Last modified: 2020/08/21 10:15 (external edit)