I have problems on the convergence of the scf cycles. Are there any general suggestions to improve convergence in SIESTA?
Here you find a list of suggestions that should be considered when encountering convergence problems:
- Fix a reasonable number of MaxSCFIterations. SIESTA default value is 50. It may be not large enough to get the convergence in some cases. You can try to increase it to 100-200.
- Use Pulay convergence parameters. Some of the most relevant ones are DM.NumberPulay, DM.MixingWeight, DM.NumberKick and DM.KickMixingWeight. You may have to modify them until you attain something that works.
- A reasonable Number of Pulay should be between 5 and 10. DM.NumberPulay 5
- The parameter DM.NumberKick allows in some difficult cases to bring the SCF out of loops in which the selfconsistency is stuck. DM.NumberKick is an option to skip the Pulay (or Broyden) mixing each certain
number of iterations, and use a linear mixing instead.
- Use a smoother distribution function for the occupation numbers. Remember that for systems without periodic boundary conditions (molecules) the Fermi temperature is set to zero by default. You might want to specify a finite Fermi temperature as described here and check the convergence of the results with respect to the temperature.
- ElectronicTemperature (real temperature or energy): Temperature for Fermi-Dirac or Methfessel-Paxton distribution. Useful specially for metals, and to accelerate selfcon- sistency in some cases. Use: Used only if SolutionMethod = diagon Default value: 300.0 K pp