4
$\begingroup$

I want to calculate scf for bands calculation. Before I can proceed, I face an error of convergence:

End of self-consistent calculation

convergence NOT achieved after  80 iterations: stopping

Kindly,help me fix this.

$\endgroup$
2
  • 3
    $\begingroup$ It is not that we don't want to help you, but with this little information, how are we supposed to help? $\endgroup$ Commented Mar 18 at 7:16
  • 1
    $\begingroup$ @RomanPunk previously you asked a question where your calculation wouldn't even start. Now your calculation stops because maximum allowed iterations are finished. Does that mean you figured out the answer of your last question and you do not need answer for that anymore? $\endgroup$ Commented Mar 18 at 9:57

1 Answer 1

5
$\begingroup$

This happens because you set electron_maxstep = 80 in the &ELECTRONS namelits of your scf input file. The default value is electron_maxstep = 100. This keyword denotes the maximum number of iterations in a single scf cycle. You can know more about this here.

In order to fix this, you can use one of the following two strategies. Firstly, increase the parameter to electron_maxstep = 100, electron_maxstep = 200 or even more. But please make sure that your energy is actually converging. Increasing the number of electron_maxstep will only help if the energy is converging slowly. Otherwise if the accuracy is alternating rapidly, or it converges upto a certain value and diverges again, then this might not help at all. That would indicate that either you have some problematic system or your input file is problematic.

To check how the accuracy changes, you can use the following command:

grep -s 'estimated scf accuracy' scf.out 

The second strategy is to lower the convergence thresholds. Maybe you set the convergence threshold too tight. The default convergence threshold of conv_thr = 1.D-6 is good enough for most purposes. Also, in case in your scf calculation, you set tstress or tprnfor to .TRUE., then other convergence thresholds such as etot_conv_thr and forc_conv_thr will also play role. Without the input file there is nothing else to say. That's why sharing your input file when asking a question is a good idea so that people who wants to help can actually help you.

$\endgroup$
1
  • $\begingroup$ thanks a lot sir $\endgroup$
    – Roman Punk
    Commented Mar 18 at 19:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .