Why is it recommended to set GGA_COMPAT = .FALSE.
for non-colinear calculations? Could someone explain what GGA_COMPAT does?
1 Answer
GGA_COMPAT
is meant to restore symmetry for non-cubic cells when using gradient-corrected functionals. This is because gradient-corrected functionals might slightly break the Bravais lattice for non-cubic cells (e.g. primitive FCC and BCC latices).
Setting GGA_COMPAT = .FALSE.
restores the full lattice symmetry for gradient-corrected functionals, by setting the gradient field and the charge density to 0 for all reciprocal lattice vectors that exceed an automatically determined (by VASP) cutoff length, before calculating the exchange correlation energy and potential.
The VASP developers tried to explain this in the VASP Wiki but the article has grammatical errors which makes it difficult to follow, and the reason why they called it GGA_COMPAT
is not explained there, and they also didn't make it clear why the default setting for GGA_COMPAT
was TRUE
until VASP 5.2 and apparently also now, despite them strongly recommending to use FALSE
and prividing no reason why you would ever want to use TRUE
. I welcome other users to answer here if they would like to give some scenarios in which it would be preferred to use TRUE
.
One thing from that VASP Wiki page which is especially to note is that (emphasis added by me):
"setting the flag usually changes the energy only in the sub meV energy range (0.1 meV), and for most results it does matter little how
GGA_COMPAT
is set. The most important exception are magnetic anisotropies, for which we strongly recommend to setGGA_COMPAT = .FALSE.
"
-
3
-
$\begingroup$ The
compat
part is for compatibility I assume. Based on the article, you would never want to use.TRUE.
, but that was presumably how VASP behaved prior to adding the symmetry correction. I assume adding the flag was something like a deprecation warning in order to tell people that the behavior would change and if they wanted to make an exact comparison with old calculations, they would need to explicitly include this option. $\endgroup$– Tyberius ♦Jan 25 at 2:05 -
$\begingroup$ So basically, prior to VASP 5.2, presumably this symmetry restoration procedure was not implemented, and
GGA_COMPAT=TRUE
makes your VASP calculation "compatible" with what older VASP versions do, which is what they do not recommend. It's an interesting design choice to prioritize compatibility with old versions as the default, rather than the setting that you "strongly recommend". It's also strange that the VASP wiki page says "the default isGGA_COMPAT
= .TRUE. until VASP.5.2" but also implies at the top of the page that in 6.2.1 the default isTRUE
. At least OP's question was answered. $\endgroup$ Jan 25 at 4:41
GGA_COMPAT = .FALSE.
" $\endgroup$