Why is it recommended to set
GGA_COMPAT = .FALSE. for non-colinear calculations? Could someone explain what GGA_COMPAT does?
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).
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
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
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_COMPATis set. The most important exception are magnetic anisotropies, for which we strongly recommend to set
GGA_COMPAT = .FALSE."