Skip to content

add new SCF diagnostic quantities for slateratom#112

Open
alexmaryewski wants to merge 3 commits into
dftbplus:mainfrom
alexmaryewski:scf_diagnostics
Open

add new SCF diagnostic quantities for slateratom#112
alexmaryewski wants to merge 3 commits into
dftbplus:mainfrom
alexmaryewski:scf_diagnostics

Conversation

@alexmaryewski

Copy link
Copy Markdown

This is another one from the old draft.

This PR adds two new diagnostic quantities to help track the SCF convergence: the occupied part of the eigenvalue spectrum and the orthogonalised [F,PS] commutator. The former helps to spot if the orbital energies (one quantity that goes directly into the SK files) are converging properly, the latter is just a popular convergence metric that is used by many quantum chemistry codes out there (Turbomole, for one), and thus its implementation would make direct comparison easier. None of the changes add new or alter existing functionality, but they are to help with further debugging whenever new extension to the code are made.

I'm not sure about the output format. In this PR, the new quantities take place of energy components in the output loop, like this:

  Iter |   Total energy  |  d(Spectrum)  |   d(Commutator)   |  d(Potential)
 --------------------------------------------------------------------------
   1   -0.457372080E+02  0.936361041E+01  0.698559924E+01    0.997865497E+01
  
   2   -0.542210337E+02  0.420185025E+01  0.138941972E+01    0.576569651E+00
  
   3   -0.544037238E+02  0.355577050E+00  0.565883699E+00    0.584803006E+00
  
   4   -0.544171921E+02  0.536017478E+00  0.136724190E+00    0.180180852E+00
  
   5   -0.544192146E+02  0.169040510E+00  0.828489182E-02    0.543483765E-02
  
...

I'm very welcome to your suggestions as to where to make them available instead of this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant