# Understanding the GTH Pseudopotential

I'm new to DFT. I want to make use of the GTH pseudopotential.

I am trying to understand how this potential works. I read the article "Separable dual-space Gaussian pseudopotentials" by S. Goedecker, M. Teter, and J. Hutter.

It indicates that the potential consists of two parts: local and nonlocal. There is an exponential parameter $$r_{loc}$$ in the local potential. This parameter denotes the range of the Gaussian ionic charge distribution.

What is meant by this in terms of physical quantities? Does it mean that at distances exceeding $$r_{loc}$$, the non-local part of the potential begins to prevail? As the non-local part of the potential does not contain the parameter $$r_{loc}$$ at all. How is $$r_{loc}$$ determined in practice?  Can anyone please explain the purpose of the parameter $$r_{loc}$$?

• +10. Great first question, and welcome! Hopefully we see more of you! – Nike Dattani May 24 '20 at 14:47

## 1 Answer

Great question, will allow me to advertize our newly-released DFT code :](https://github.com/JuliaMolSim/DFTK.jl/).

The rloc parameter is the characteristic distance at which the pseudopotential acts. At distances bigger than rloc, the potential starts to behave like a Coulomb potential. Note that the nonlocal potential also has a characteristic size, though. Generally speaking, the largest rloc the better for numerical purposes (because the potential is less sharp around the nuclei). It can vary a lot from element to element, as the following Julia script shows: (edit: with corresponding Coulomb potential, following Michael's suggestion)

using DFTK
using PyPlot

x = range(0, 2, length=10000)
for pseudo in ("Si-q4", "O-q6", "H-q1")
psp = load_psp("hgh/lda/\$(pseudo)")
p, = plot(x, DFTK.eval_psp_local_real.(Ref(psp), x), label=pseudo, lw=3)
q = parse(Int, pseudo[end])
plot(x, -q ./ x, color=p.get_color(), linestyle="-.")
axvline(psp.rloc, color=p.get_color(), lw=2)
xlabel("r (Bohr)")
end
ylim([-40, 0])
legend()

println.([(psp.identifier, load_psp(psp.identifier).rloc) for psp in DFTK.list_psp(family="hgh", functional="lda")]) • Could you add the appropriate coulomb potential just for comparison of the behaviour? – Michael F. Herbst Jun 5 '20 at 12:45
• good idea! thanks! – Antoine Levitt Jun 5 '20 at 12:52
• +1. So it seems rloc is the inflection point at which the curves switch from positive curvature to negative curvature? – Nike Dattani Jun 5 '20 at 13:12
• Certainly seems so but I'd imagine that's a coincidence more than anything else; the functional form is pretty complex – Antoine Levitt Jun 5 '20 at 15:04