Jump in dH at restarting of scf-cycle from density for large systems
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Siesta | Status tracked in Trunk | |||||
4.1 |
Fix Committed
|
High
|
Unassigned | |||
Trunk |
Fix Committed
|
High
|
Unassigned |
Bug Description
Dear Developers and Siesta community,
i have problems to converge the scf cycle of a calculation with 650 atoms due to an imprecision in the restart procedure:
After i saved the density matrix in the previous run with small dH error, which however was not yet sufficient for convergence, the restarted scf cycle always has a much higher dH error, by 1-2 orders of magnitude, from which the code has to converge down again.
Since the cluster on which i am calculating limits my calculation time to 24 hours, the error therefore accumulates despite convergence steps in each cycle, when the number of cycles is not sufficient to overcome 2 orders of magnitude in dH.
The error gets smaller when one decreases the mixing coefficient, but it is now at 0.01 and i doubt that further decrease would be beneficial to convergence. A mixing of 0.00 does NOT reproduce the state exactly after reloading.
It seems to be impossible to restart the calculation with the wavefunctions from the previous run directly. It only uses the density.
=> Could it be that the new initial wavefuncitons are too atomic / randomized / not good enough for such a large system such that i get this behavior ?
=> How can i improve the accuracy of the first restarted scf cycle ?
i am using Siesta version r764.
The problem occurs both in SOC and non-polarized calculations, but is not as strong in the latter than with SOC, leading to convergence there.
Thank you for your help,
Peter Schmitz
Related branches
- Alberto Garcia: Approve
-
Diff: 244 lines (+95/-17) (has conflicts)5 files modifiedDocs/siesta.tex (+39/-4)
Src/m_new_dm.F90 (+44/-12)
Src/read_options.F90 (+7/-1)
Src/siesta_options.F90 (+1/-0)
version.info (+4/-0)
- Alberto Garcia: Pending requested
-
Diff: 135 lines (+37/-10) (has conflicts)2 files modifiedSrc/m_new_dm.F90 (+33/-10)
version.info (+4/-0)
summary: |
- imprecision in dH at restart of scf from density in r764 for large - systems + Jump in dH at restarting of scf-cycle from density for large systems |
Yes, this is a well-known problem that we have tried to pin down (for years now), but we cannot seem to really pin-point it... :(
I would suggest you decrease initial linear mixing to something like 0.0001 and then once pulay mixing enters it should be more stable.
If you can re-create a system with a fast SCF (i.e. very few atoms) it might be easier for us to dig this out? What is the smallest system you see this behaviour for?