mrchem
mrchem copied to clipboard
Kappa minus one
The current ZORA implementation has a major flaw. The $\kappa$ function is projected "as is", which means that its precision is significantly reduced, because the function is essentially one in the whole volume and has cusps in the neighbourhood of each nucleus. As such the function is strictly speaking not an L2 function. We can still represent it because the simulation box is finite. However its norm gets basically as large as the volume, affecting the actual precision of the representation of the cusps. This will in turn affect also the representation of derivatives (zero everywhere except at the nuclei)
The function $\kappa - 1$ is therefore a much better choice.
This PR implements the projection of $\chi = \kappa - 1$. Whenever $\kappa$ is required, we use $\chi + 1$ instead.
Notice also that $\nabla \kappa = \nabla \chi$. Derivatives are therefore unaffected and (hopefully) computed at a better precision.