Comment 3 for bug 1834949

Revision history for this message
Peter Christian Schmitz (pcschmitz2018) wrote :

Dear Mr. Papior,

thank you for your help. First, here are the 2 files for the problematic calculation. They contain:
- a NSP calculation, then a SOC calculation with Pulay mixing, and then the restart of the SOC calculation with linear mixing and 0.00 weight
- a NSP calculation, then a SOC calculation with Pulay mixing, and then the restart of the SOC calculation with linear mixing and 0.00 weight, using the modified version of the code in the last step.

I am performing the NSP calculation first to start at a smaller dH in the SOC calculations. I found that this is very beneficial for such large system. It saves alot of time, but the error also appears when i directly run a SOC calculation (see below). The used expert routine just allows to limit the number of diagonalized bands, speeding up the calculation significantly. The error also appears if this band limitation is not used (see again below).
In the second SOC calculation, i am always using the basis from the last run (*.ion.nc files) by the User.Basis flags, as the safest way to get the correct basis used in the last calculation. It has the same behavior though when i re-provide the basis manually.

The dH jump occurs in every system that is restarted, but scales with the mixing, the system size and spin degree of freedom.
Attached is also a system with less atoms, (6 units slab), first directly calculated with SOC and converged successfully, then restarted and interrupted at an earlier stage.
Also, i noticed for this system that, in an SOC calculation from scratch, when i use linear mixing, history=0 and coefficient=0, the dH does actually diverge. This should not happen..

Generally, as can be seen from the above files, the code does not reproduce the last step with dH=0 even if the mixing is set to 0, with linear mixing and 0 DM history. Would you recommend to save more DM history ? (but this should be ruled out by linear mixing compared to pulay)
Is there any possibility to reload the Hamiltonian directly, not the DM ?
I have set the SCF.Mix.First false

Maybe it could also be useful to question why there is always a printout in the output file saying
"redata: New DM Mixing Weight = 0.25"
independent on the mixing set in the input file ? There is a second line where the correct mixing is printed, but this line always appears.

Kind regards,
Peter Schmitz