In DFT calculations using vasp, symmetry analysis are performed to determine space group symmetries at first, if symmetrization is turned on, such as ISYM = 2. When magmoms are set in INCAR, symmetries broken by local magnetic moments are removed and magnetic symmetries are obtained. To test whether a symmetry $g$ is compatible with local magnetic moments, given a site $r_i$, an equivalent site, $r_j = gr_i+R$, related by the symmetry is found at first. $R$ is a Bravais lattice. After applying the symmetry to the magnetic moment on the site $m_i$, if resulting magnetic moments is equal to the magnetic moment on the equivalent site,$m_j=gm_i$, the symmetry is preserved. The equality must be hold within some tolerance, that is $$ |m_j-gm_i|<\delta. $$ My question is what is value of the tolerance give a value of SYMPREC?
-
1$\begingroup$ +1 and nice first question! I notice you've been around for 5 months but have only started to post something now, so please accept my welcome to the community, and we hope to see much more of you in the future !!! Hopefully someone with more experience in VASP than me can help you :) $\endgroup$– Nike DattaniOct 9, 2021 at 21:04
1 Answer
Without any testing, I think the value of SYMPREC
is also used for the tolerance $\delta$ in your expression.
The subroutine related to the magnetic sites is called MAGSYM
that can be found in symlib.F
. In the subroutine, the magnetic moment of sites are compared with that of their corresponding sites after symmetry operation and the tolerance is set to a variable called TINY
with a default value of 1E-5. The default value of TINY
can be found in module sim_prec
at the beginning of symlib.F
.
And this TINY
variable is also read in by READER
subroutine inside reader.F
from SYMPREC
tag in your INCAR
.
So, I would suppose that changing the value of SYMPREC
also changes the magnetic tolerance.
-
$\begingroup$ I checked subroutines you mentioned above and I think you are correct. In the comments about input parameters, only integer rotation matrices are requires and no input variables contains information about the lattice. Thus integer rotation matrices are directly used to rotate magnetic moments. Does it say that while MAGMOM in INCAR is in cartesian coordinate, ATOMOM variable is magnetic moments in fractional coordinates just like fractional positions of sites? $\endgroup$– lsdragonOct 11, 2021 at 2:02
-
$\begingroup$ I'm not an expert on these subroutines, but from my understanding,
ATOMOM
(which is read in byreader.F
toT_INFO%ATOMOM
) corresponds directly to the input value ofMAGMOM
inINCAR
file. That means it only contains the magnetic moments and the site correspondence is done directly by considering the order of atoms inPOSCAR
. $\endgroup$ Oct 11, 2021 at 8:33 -
$\begingroup$ In
symmetry.F
, there are twoINISYM
subroutines. Compared with output with regard to symmetry in OUTCAR, I think the second one is used currently in version 5.4.4 and after. For ISPIN =4, non-collinear case with four elements in spin density matrix considered,ATOMOM
is converted to lattice coordinates and stored in a temporary variableTMP(:,:,5)
. For ISPIN = 2, collinear case, It seems magmoms are used directly without conversion although it saysbring them to lattice coordinates and store in TMP(:,:,5)
in comments, which is confusing to me. $\endgroup$– lsdragonOct 12, 2021 at 3:14 -
$\begingroup$ At least for non-collinear case, the unit of TINY is dependent on the lattice but not $\mu B$. $\endgroup$– lsdragonOct 12, 2021 at 3:16