Troubleshooting electronic convergence: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
Line 13: Line 13:
# use spin-polarized calculation
# use spin-polarized calculation
# perform the calculation in 3 steps (always starting from the previous WAVECAR):
# perform the calculation in 3 steps (always starting from the previous WAVECAR):
## step 1 with {{TAG|ICHARG}}=12 and {{TAG|ALGO}}=Normal
## step 1 with {{TAG|ICHARG}}=12 and {{TAG|ALGO}}=Normal without any LDA+U tags
## step 2 with {{TAG|ALGO}}=All (Conjugate gradient) and a small {{TAG|TIME}} step 0.05 instead of the default 0.4 (this is crucial)
## step 2 with {{TAG|ALGO}}=All (Conjugate gradient) and a small {{TAG|TIME}} step 0.05 instead of the default 0.4 (this is crucial)
## step 3 LDA+U keeping {{TAG|ALGO}}=All and small {{TAG|TIME}}
## step 3 add LDA+U tags keeping {{TAG|ALGO}}=All and small {{TAG|TIME}}


----
----
[[Category:Common Pitfalls]]
[[Category:Common Pitfalls]]

Revision as of 07:59, 6 December 2021

There can be many reasons why the SCF convergence is not reached. Naturally, there are also many different possible solutions.

Try to create a minimal INCAR file with as few tags as possible. If the calculation converges then gradually add them back until you find which one was causing the problem.

Check if you have enough bands. You can do this by looking at the OUTCAR file and checking that there are enough 'empty' states (i.e. states with zero occupation). When using an iterative solver the last states might not be accurately described, if these are occupied them convergence is likely to fail.

Systems with f-orbitals are in particular difficult to converge. Here are a couple of tips for a magnetic calculation with LDA+U:

  1. give initial magnetization only to the magnetic atoms
  2. use spin-polarized calculation
  3. perform the calculation in 3 steps (always starting from the previous WAVECAR):
    1. step 1 with ICHARG=12 and ALGO=Normal without any LDA+U tags
    2. step 2 with ALGO=All (Conjugate gradient) and a small TIME step 0.05 instead of the default 0.4 (this is crucial)
    3. step 3 add LDA+U tags keeping ALGO=All and small TIME