I have been trying to convergence a slab of 7 layers of Ni with 1 layer of graphene. The same structure as described in this paper. In my first attempt, it did not converge at all. After moving some electrons from core to valence and lowering the convergence settings, I got it to converge and it looks reasonable. But when I increase the convergence parameters (rgkmax, lmaxapw, gmaxvr) to make sure I found the correct minima, the first and second derivative of the density starts to rapidly oscillate in the interstitial region. If I increase them further, the calculation does not converge at all. Any tips on how to get better convergence? I would like to have smooth first and second derivatives of the density in the interstitial region if possible.
When I run Elk the muffin-tin radius change and I have not been able to get rid of the linearisation energy warnings for 16 energies.
Elk code version 3.3.17 started
Info(elk): current task : 1
Info(checkmt): reduced muffin-tin radius of species 1 (Ni) from 2.4000 to 2.3132
Info(checkmt): reduced muffin-tin radius of species 2 (C) from 1.6000 to 1.3333
Info(findsymcrys): atomic basis shift (lattice) :
0.3403173027E-04 0.9996408968 0.2335754463
See GEOMETRY.OUT for new atomic positions
Warning(linengy): could not find 16 linearisation energies in s.c. loop
Here is my elk.in with lowest convergence setting that converges:
I still get convergence if I increase the rgkmax to 8, lmaxapw to 11, and gmaxvr to 22. But then the first and second density derivatives oscillates rapidly.
The species files for Ni and C are:
'Ni' : spsymb
'nickel' : spname
-28.0000 : spzn
106991.5230 : spmass
0.377964E-06 2.4000 39.0101 500 : sprmin, rmt, sprmax, nrmt
10 : spnst
1 0 1 2.00000 T : spn, spl, spk, spocc, spcore
2 0 1 2.00000 T
2 1 1 2.00000 T
2 1 2 4.00000 T
3 0 1 2.00000 F
3 1 1 2.00000 F
3 1 2 4.00000 F
3 2 2 4.00000 F
3 2 3 4.00000 F
4 0 1 2.00000 F
2 : apword
0.1500 0 F : apwe0, apwdm, apwve
0.1500 1 F : apwe0, apwdm, apwve
0 : nlx
6 : nlorb
0 2 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
1 2 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
2 2 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
1 3 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
-2.5905 0 T
2 3 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
-0.3317 0 T
0 3
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
-3.5 0 T
'C' : spsymb
'carbon' : spname
-6.00000 : spzn
21894.16672 : spmass
0.816497E-06 1.6000 41.9480 300 : rminsp, rmt, rmaxsp, nrmt
4 : nstsp
1 0 1 2.00000 F : nsp, lsp, ksp, occsp, spcore
2 0 1 2.00000 F
2 1 1 1.000000 F
2 1 2 1.000000 F
2 : apword
0.1500 0 F : apwe0, apwdm, apwve
0.1500 1 F : apwe0, apwdm, apwve
0 : nlx
4 : nlorb
0 2 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
1 2 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
0 3 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
-0.5012 0 T
0 3
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
-9.5 0 T
Thank you for any suggestion!
Best regards,
Joel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you for your input. I will try the changes you suggested and report what happens. I have also attached the INFO.OUT and LINENGY.OUT for both the lower convergence (rgkmax 5, lmaxapw 8, and gmaxvr 16 named low) and for the higher convergence (rgkmax 8, lmaxapw 11, and gmaxvr 22 named high). The higher convergence started from the lower STATE.OUT.
I moved the 1s Carbon back to the core, added demaxbnd 4, and isgkmax -3 and I got it to converge for rgkmax 5, lmaxapw 8, and gmaxvr 16. This reduced the number of linearisation error from 16 to 2. I have attached the INFO.OUT and LINENGY.OUT.
I still get rapid oscillating first and second density derivatives. I am running a higher convergence with rgkmax 8, lmaxapw 11, and gmaxvr 22 to see if it helps. Or is there something else I should do?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2018-06-28
Dear all,
Here is an update on my progress. Moving the 1s carbon state back to the core definitely helped with the convergence. To get better first and second density derivatives, I also had to reduce the Ni muffin tin radius to 1.9 and move the 3s to the valence. With this, I was able to converge to rgkmax 8, lmaxapw 11, and gmaxvr 22 and still have smooth derivatives. After that, I tested adding demaxbnd 4 and isgkmax -3 but it didn't seem to reduce the linearisation errors, although I only tested it for a few iterations of the self-consistent loop.
Thanks for all the help.
Best,
Joel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Here is an update on my progress. Moving the 1s carbon state back to the core definitely helped with the convergence. To get better first and second density derivatives, I also had to reduce the Ni muffin tin radius to 1.9 and move the 3s to the valence. With this, I was able to converge to rgkmax 8, lmaxapw 11, and gmaxvr 22 and still have smooth derivatives. After that, I tested adding demaxbnd 4 and isgkmax -3 but it didn't seem to reduce the linearisation errors, although I only run it for a few iterations of the self-consistent loop.
Thanks for all the help.
Best,
Joel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2018-07-20
You could try considering Ni atoms as magnetic in a spin polarized calculation.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear all,
I have been trying to convergence a slab of 7 layers of Ni with 1 layer of graphene. The same structure as described in this paper. In my first attempt, it did not converge at all. After moving some electrons from core to valence and lowering the convergence settings, I got it to converge and it looks reasonable. But when I increase the convergence parameters (rgkmax, lmaxapw, gmaxvr) to make sure I found the correct minima, the first and second derivative of the density starts to rapidly oscillate in the interstitial region. If I increase them further, the calculation does not converge at all. Any tips on how to get better convergence? I would like to have smooth first and second derivatives of the density in the interstitial region if possible.
When I run Elk the muffin-tin radius change and I have not been able to get rid of the linearisation energy warnings for 16 energies.
Here is my elk.in with lowest convergence setting that converges:
I still get convergence if I increase the rgkmax to 8, lmaxapw to 11, and gmaxvr to 22. But then the first and second density derivatives oscillates rapidly.
The species files for Ni and C are:
Thank you for any suggestion!
Best regards,
Joel
Dear Joel,
this will be a tricky case. Anyway we shouls start with the lin. energies warnings the rest may goes for free.
1.) I would put back the 1s Carbon state to core, since most of my computations never converge with a 1s state in valence.
Could you provide some INFO.OUT of this computation and furthermore the LINENGY.OUT file to check which linearisation energies he does not find!
2.) you may set ''demaxbnd'' in the input card, which is the search radius for the linearisation energies to a higher value.
demaxbnd
4
Once elk finds the state you can reduce it and use this values in the in files. You may also set
isgkmax
-3
since you MT are very different, which should adjust the RGKMAX accordingly.
best
Michael
Dear Micheal,
Thank you for your input. I will try the changes you suggested and report what happens. I have also attached the INFO.OUT and LINENGY.OUT for both the lower convergence (rgkmax 5, lmaxapw 8, and gmaxvr 16 named low) and for the higher convergence (rgkmax 8, lmaxapw 11, and gmaxvr 22 named high). The higher convergence started from the lower STATE.OUT.
Best,
Joel
Dear Micheal,
I moved the 1s Carbon back to the core, added demaxbnd 4, and isgkmax -3 and I got it to converge for rgkmax 5, lmaxapw 8, and gmaxvr 16. This reduced the number of linearisation error from 16 to 2. I have attached the INFO.OUT and LINENGY.OUT.
I still get rapid oscillating first and second density derivatives. I am running a higher convergence with rgkmax 8, lmaxapw 11, and gmaxvr 22 to see if it helps. Or is there something else I should do?
Best,
Joel
Dear all,
Here is an update on my progress. Moving the 1s carbon state back to the core definitely helped with the convergence. To get better first and second density derivatives, I also had to reduce the Ni muffin tin radius to 1.9 and move the 3s to the valence. With this, I was able to converge to rgkmax 8, lmaxapw 11, and gmaxvr 22 and still have smooth derivatives. After that, I tested adding demaxbnd 4 and isgkmax -3 but it didn't seem to reduce the linearisation errors, although I only tested it for a few iterations of the self-consistent loop.
Thanks for all the help.
Best,
Joel
Dear all,
Here is an update on my progress. Moving the 1s carbon state back to the core definitely helped with the convergence. To get better first and second density derivatives, I also had to reduce the Ni muffin tin radius to 1.9 and move the 3s to the valence. With this, I was able to converge to rgkmax 8, lmaxapw 11, and gmaxvr 22 and still have smooth derivatives. After that, I tested adding demaxbnd 4 and isgkmax -3 but it didn't seem to reduce the linearisation errors, although I only run it for a few iterations of the self-consistent loop.
Thanks for all the help.
Best,
Joel
You could try considering Ni atoms as magnetic in a spin polarized calculation.