Skip to content

Tests: Include Regression Tests for DIIS. Remove GR-Pulay Mixing Scheme

DIIS and GR-Pulay Mixing Schemes have no regression tests. This MR adds basic test coverage DIIS, and removes the GR-Pulay Mixing, which we find to be non-performant (i.e. convergence often isn't reached) in its current form.

Some testing (not included in the MR):

DIIS:

  • 04-silicon.01-gs.inp CONVERGED
  • 08-benzene_supercell.01-gs.inp CONVERGED
  • 12-boron_nitride.01-gs.inp CONVERGED
  • 18-TiO2.01-gs.inp CONVERGED

DIIS tends to take more steps than Broyden (as many as double), but each step runs faster and it does converge

bowler_gillan scheme:

  • 04-silicon.01-gs.inp CONVERGED
  • 08-benzene_supercell.01-gs.inp NO CONVERGENCE
  • 12-boron_nitride.01-gs.inp CONVERGED
  • 18-TiO2.01-gs.inp NO CONVERGENCE (DOS changing all over the place per itetation)

@nicolastd On the four randomly-chosen systems I checked, bowler_gillan failed to converge on two of them. Having not read the paper, I currently do not know what issue/systems that scheme was implemented to address. Do you recommend I:

a) Add coverage using one of the tests that converges

b) Scrap the scheme

c) Leave untested

TODOs

  • Remove experimental warning and label for DIIS, as it has been in the code for 8 years. Leaving long-lived options with no tests, for well-understood algorithms, labeled "experimental" is just sad. My random choice of periodic systems shows indicates that it's more likely than not, reliable.
  • Change reference values for DIIS, based on CI feedback
  • Decide whether to test or remove bowler_gillan
  • Clean commit messages once CI is passing

UPDATE.

An efficient and robust technique for achieving self consistency in electronic structure calculations

Pulay's Residual Metric Minimization (RMM) method is one of the standard techniques for achieving self consistency in ab initio electronic structure calculations. We describe a reformulation of Pulay's RMM which guarantees reduction of the residual at each step. The new version avoids the use of empirical mixing parameters, and is expected to be more robust than the original version.

The fact that this doesn't give comparable results to DIIS suggests to me that the implementation is buggy

Second Update. 13th March

GR-Pulay Mixing Scheme removed from the code base.

Edited by Alex Buccheri

Merge request reports

Loading