Code review comment for lp:~nickpapior/siesta/4.1-init-DM

Revision history for this message
Nick Papior (nickpapior) wrote :

1. Agreed on your first paragraph.

2. Regarding the 2nd paragraph.
The *diagonal* Currently the initial DM is made from *only* diagonal elements in the DM. I.e. for supercell systems where orbital io connects with mirror io only io, io is initialized.
For my *state* option the DM is populated as though the identity matrix is the set of eigenvectors (rescaled for the non-orthogonal basis). And thus in this case one will find DM values in both io, io, AND io, mirror io.
My main motivation was that an eigenstate with {1,0,0,0,...} would expand to also mirror io couplings as for calculations without auxiliary supercells.
Do you think this is *very* unphysical? If so then non-auxiliary supercells should always be turned off for diagonal indices since this leads to non atomic initial DM charges. This is substantiated by the sic-slab calculation performed in 3 different settings (in all cases the SCF has only the Gamma-point):
diagonal-forced-auxiliary: 83, 1.820250, 13.346312
diagonal-no-auxiliary: 96, 1.767353, 13.326340
state-forced-auxiliary: 139, 1.767353, 13.326336

Here it can be seen that the initial DM change for the diagonal-no-auxiliary vs. state-forced-auxiliary are the same (as expected via the above).

3. This was my *first* and most basic attempt to try and investigate implications of initial DM. As I have told you previously this could be moved to sisl (I have tried this with success) to do more advanced things quicker, but for now I thought that these would be nice to have for certain cases.
Note that my implementation for *randomized* states was inspired by PW codes which does this (apparently with great success?) and hence I thought it could be used as well here. However, they are much worse, but sometimes using 1 randomized state helps...

4. Agreed that some better heuristic and more thorough investigations could be needed here.

« Back to merge proposal