For pedagogical reasons, I am trying to calculate the ground state eigenvalues of an isolated Co_2 molecule including the spin-orbit coupling. To begin with, I have checked that there are not convergence problems for the isolated atom, either using LSDA or GGA.
In the case of the Co_2 molecule, convergence is quickly achieved (approximately 50 steps) within the LSDA scheme (xctype = 3). I obtained a total energy of -2781.5857 Ha and a total magnetic moment of -5.440 u_B. However, the GGA (xctype = 20, 21 and 22) calculations do not converge.
I have already tried changing from Broyden mixing to Adaptive linear mixing and improving some parameters (rgkmax, gmaxvr, lradstp, nrmt), with the default Co.in species of the 2.3.22 Elk version.
The reason for this is that PBE was never intended for non-collinear calculations, which is what is required with spin-orbit coupling. You can fix this in two ways, but use the latest version (3.0.18).
The first is to force collinearity with 'cmagz=.true.', the second is to make the gradients used in GGA the same for up and down spin, but keep the up and down densities different. This can be done using 'ncgga=.true.'. In the latter case, we are abusing PBE somewhat, but it's the best that can be done 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:
Hello everyone,
For pedagogical reasons, I am trying to calculate the ground state eigenvalues of an isolated Co_2 molecule including the spin-orbit coupling. To begin with, I have checked that there are not convergence problems for the isolated atom, either using LSDA or GGA.
In the case of the Co_2 molecule, convergence is quickly achieved (approximately 50 steps) within the LSDA scheme (xctype = 3). I obtained a total energy of -2781.5857 Ha and a total magnetic moment of -5.440 u_B. However, the GGA (xctype = 20, 21 and 22) calculations do not converge.
I have already tried changing from Broyden mixing to Adaptive linear mixing and improving some parameters (rgkmax, gmaxvr, lradstp, nrmt), with the default Co.in species of the 2.3.22 Elk version.
Any advice?
Thank you very much!
elk.in
tasks
0 ! Ground state
bfieldc
0.0 0.0 5.0
reducebf
0.8
nempty
20
lmaxapw
12
lmaxvr
12
lmaxmat
7
stype
3
swidth
0.005
msmooth
2
xctype
20, 0, 0
rgkmax
6.0
gmaxvr
15.0
! 1 Adaptive linear mixing
! 3 Broyden mixing
mixtype
3
broydpm
0.15, 0.01
betamax
0.5
beta0
0.01
spinorb
.true.
ngridk
1 1 1
avec
18.8973 0.00000 0.00000
0.00000 18.8973 0.00000
0.00000 0.00000 18.8973
sppath
'./'
atoms
1 : nspecies
'Co.in' : spfname
2 : natoms
0.003228540 -0.012277194 0.003476074 0.0000 0.0000 -0.0100
0.003945007 -0.238280684 0.005210052 0.0000 0.0000 -0.0100
Last edit: JW 2015-04-15
Hi,
The reason for this is that PBE was never intended for non-collinear calculations, which is what is required with spin-orbit coupling. You can fix this in two ways, but use the latest version (3.0.18).
The first is to force collinearity with 'cmagz=.true.', the second is to make the gradients used in GGA the same for up and down spin, but keep the up and down densities different. This can be done using 'ncgga=.true.'. In the latter case, we are abusing PBE somewhat, but it's the best that can be done at the moment.
Regards,
Kay.
Hi,
The very latest version (3.3.17) fixes the non-convergence problem of non-collinear GGA without resorting to drastic measures.
Here is my elk.in file:
This converges (although fairly slowly).
Regards,
Kay.