Dear Elk users,
Using the latest elk version (V3.1.12), I run some tests on the l_cutoff convergence of the MAE in Cr2O3 using a self-consistent method: just turn on spin orbit coupling, and specify the spin quantization axis to x, and z.(I didn't use npmae tag) And I get very weird l-convergence of the MAE/Cr. (see the table in the end)
There is a jump in the range of l=16-18, and the convergence looks bad. I also tried FLEUR, which produces MAE/Cr is 0.55 in the same unit and shows good l-convergence. Given that both fleur and elk are FLAPW codes, their results should be consistent. Do you have any ideas why they don’t match?
Judging from my input, do you see any kind of errors? Or do you have some comments on my tests?
Thank you for reading,
Sai
[One example for the input is as follows: For elk1.in, the spin quantization is along x, and I systematically increase lmaxapw and lmaxvr with other parameters fixed.]
tasks
0
15
! DFT+U block
dft+u
1 1 : dftu, inpdftu
1 2 0.147 0.02131491 : is, l, U, J
spinpol
.true.
spinorb
.true.
epsengy
1E-8
epspot
1E-7
nempty
20
lmaxapw
19
lmaxvr
19
lmaxinr
0
ngridk
4 4 4
swidth
0.0002
mixtype
3
! Rhom cell of Chromia
avec
5.394917561 0 8.537139062
-2.697458781 4.672135659 8.537139062
-2.697458781 -4.672135659 8.537139062
You also have to increase 'lmaxmat' which is 7 by default but should be proportional to lmaxapw.
I think I'll make this an explicit function of lmaxapw in the future and remove it as an option because it catches out so many people.
Also, Broyden mixing can get you trapped in a local minima, especially with magnetic calculations. If you don't get a smooth convergence after using lmaxmat, then switch to the default mixing scheme.
Finally, it is better to rotate the crystal rather than the magnetisation. This can be done using 'rotavec' in elk.in.
Please post your results after trying this, I'm quite interested in MAE at the moment.
Regards,
Kay.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Kay,
Thanks for your response! I’ll post my test according to your suggestions.
Regarding the rotation of the whole crystal, the total energies without spin-orbit coupling are not identical, before and after the rotation. Sometimes this energy difference is comparable to the MAE, so one needs to a very high l-cutoff to reduce this artificial energy difference, making the calculation very expensive. So what is the benefit of rotating the cell instead of the magnetization?
Also, one could turn on spin orbit coupling in a non-collinear mode, by setting fsmtype=-2 and taufsm, mommtfix. By constraining the local moments to desirable directions, MAE can also be obtained. Is this method reliable? I got completely unreasonable MAE/Cr using this method, while I did freeze the direction of local moment to the desirable directions. Could you make a comment on this method?
Thank you!
Sai
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
to force the calculation with spin-orbit to be collinear. This makes it more stable and faster but you have to keep the magnetization in the z-direction and rotate the crystal. This is what task=28 (MAE) does.
I'm currently running you input file using a larger lmaxmat and mixtype=1. I'll let you know what I get in a few days.
Regards,
Kay.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Kay,
I have tested the l-dependence MAE of my system using the parameters as suggested (set lmaxmat, and use the default mixing scheme). I still fail to get a smooth convergence.
Just to remind, I use three ways to evaluate the MAE:
1. rotate the cell using cmagz and rotavec, while keep the spins are along z axis.
2. rotate the spin quantization axis;
3. Use a non-collinear mode (fsmtype=-2 and taufsm, mommtfix) to constrain the direction of local moment within a sphere;
The l-convergence test is shown in the attached figure. Maybe the l-convergence curve using the 1st method looks not bad, yet doesn’t seem to be consistent with other methods. But when I tested other systems using this rotate-cell-method, the l-convergence curve becomes oscillating.
On top of it, if I redo method 1 but trun off soc, the energy difference should diminish at high l_max. But in my case, this energy difference oscilates and doesn't converge to zero at high l_max. I checked and this error didn't come from possible metastable states.
Dear Elk users,
Using the latest elk version (V3.1.12), I run some tests on the l_cutoff convergence of the MAE in Cr2O3 using a self-consistent method: just turn on spin orbit coupling, and specify the spin quantization axis to x, and z.(I didn't use npmae tag) And I get very weird l-convergence of the MAE/Cr. (see the table in the end)
There is a jump in the range of l=16-18, and the convergence looks bad. I also tried FLEUR, which produces MAE/Cr is 0.55 in the same unit and shows good l-convergence. Given that both fleur and elk are FLAPW codes, their results should be consistent. Do you have any ideas why they don’t match?
Judging from my input, do you see any kind of errors? Or do you have some comments on my tests?
Thank you for reading,
Sai
[One example for the input is as follows: For elk1.in, the spin quantization is along x, and I systematically increase lmaxapw and lmaxvr with other parameters fixed.]
tasks
0
15
! DFT+U block
dft+u
1 1 : dftu, inpdftu
1 2 0.147 0.02131491 : is, l, U, J
spinpol
.true.
spinorb
.true.
epsengy
1E-8
epspot
1E-7
nempty
20
lmaxapw
19
lmaxvr
19
lmaxinr
0
ngridk
4 4 4
swidth
0.0002
mixtype
3
! Rhom cell of Chromia
avec
5.394917561 0 8.537139062
-2.697458781 4.672135659 8.537139062
-2.697458781 -4.672135659 8.537139062
scale
1.0
sppath
'/work/bin/species/'
reducebf
0.75
atoms
2 : nspecies
'Cr.in' : spfname
4 : natoms; atposl below
1.000 1.000 1.000 0.000 0.000 1.100
0.695 0.695 0.695 0.000 0.000 -1.100
0.500 0.500 0.500 0.000 0.000 1.100
0.195 0.195 0.195 0.000 0.000 -1.100
'O.in'
6
0.793 0.098 0.403
0.098 0.403 0.793
0.403 0.793 0.098
0.903 0.598 0.293
0.598 0.293 0.903
0.293 0.903 0.598
lmaxapw&lmaxvr MAE/Cr (E-5 EV)
10 -12.83160036
11 -3.556400115
12 -1.04040013
13 -0.850000288
14 -0.455600129
15 -0.040800187
16 4.814399799
17 2.951200331
18 4.426800188
19 -1.060799914
20 -1.108400029
Dear Sai,
You also have to increase 'lmaxmat' which is 7 by default but should be proportional to lmaxapw.
I think I'll make this an explicit function of lmaxapw in the future and remove it as an option because it catches out so many people.
Also, Broyden mixing can get you trapped in a local minima, especially with magnetic calculations. If you don't get a smooth convergence after using lmaxmat, then switch to the default mixing scheme.
Finally, it is better to rotate the crystal rather than the magnetisation. This can be done using 'rotavec' in elk.in.
Please post your results after trying this, I'm quite interested in MAE at the moment.
Regards,
Kay.
Dear Kay,
Thanks for your response! I’ll post my test according to your suggestions.
Regarding the rotation of the whole crystal, the total energies without spin-orbit coupling are not identical, before and after the rotation. Sometimes this energy difference is comparable to the MAE, so one needs to a very high l-cutoff to reduce this artificial energy difference, making the calculation very expensive. So what is the benefit of rotating the cell instead of the magnetization?
Also, one could turn on spin orbit coupling in a non-collinear mode, by setting fsmtype=-2 and taufsm, mommtfix. By constraining the local moments to desirable directions, MAE can also be obtained. Is this method reliable? I got completely unreasonable MAE/Cr using this method, while I did freeze the direction of local moment to the desirable directions. Could you make a comment on this method?
Thank you!
Sai
Dear Sai,
You can use
to force the calculation with spin-orbit to be collinear. This makes it more stable and faster but you have to keep the magnetization in the z-direction and rotate the crystal. This is what task=28 (MAE) does.
I'm currently running you input file using a larger lmaxmat and mixtype=1. I'll let you know what I get in a few days.
Regards,
Kay.
Dear Kay,
I have tested the l-dependence MAE of my system using the parameters as suggested (set lmaxmat, and use the default mixing scheme). I still fail to get a smooth convergence.
Just to remind, I use three ways to evaluate the MAE:
1. rotate the cell using cmagz and rotavec, while keep the spins are along z axis.
2. rotate the spin quantization axis;
3. Use a non-collinear mode (fsmtype=-2 and taufsm, mommtfix) to constrain the direction of local moment within a sphere;
The l-convergence test is shown in the attached figure. Maybe the l-convergence curve using the 1st method looks not bad, yet doesn’t seem to be consistent with other methods. But when I tested other systems using this rotate-cell-method, the l-convergence curve becomes oscillating.
On top of it, if I redo method 1 but trun off soc, the energy difference should diminish at high l_max. But in my case, this energy difference oscilates and doesn't converge to zero at high l_max. I checked and this error didn't come from possible metastable states.
Thank you for the response,
Regards,
Sai
Last edit: Sai Mu 2015-08-25