Page 1 of 1

Energy jump an converging to false minimum

Posted: Fri Apr 30, 2021 1:04 pm
by MBaeker
I have observed a strange result where the OSZICAR seems to converge and then suddenly jumps to a different value:

RMM: 30 -0.596307245816E+03 -0.46463E-04 -0.49347E-05100978 0.982E-03 0.126E-01
RMM: 31 -0.596301114926E+03 0.61309E-02 0.11863E+00 91802 0.212E-02 0.112E-01
RMM: 32 -0.596307337959E+03 -0.62230E-02 -0.53815E-02 91376 0.252E-02 0.621E-02
RMM: 33 -0.596307373994E+03 -0.36036E-04 -0.64253E-04 94606 0.684E-03 0.512E-02
RMM: 34 -0.596307381722E+03 -0.77276E-05 -0.44631E-05 94743 0.335E-03 0.446E-02
RMM: 35 -0.596307398859E+03 -0.17138E-04 -0.31895E-03 92524 0.583E-03 0.186E-02
RMM: 36 -0.596375632781E+03 -0.68234E-01 -0.72667E-01 76106 0.123E-03 0.128E-01 <==========
RMM: 37 -0.596272125738E+03 0.10351E+00 -0.65627E-05 57094 0.837E-04 0.407E-02 <==========
RMM: 38 -0.596272125995E+03 -0.25716E-06 0.26536E-04 62261 0.734E-04 0.364E-02
...
RMM: 46 -0.596272126266E+03 -0.24738E-07 0.10991E-07 46983 0.218E-04
1 F= -.59627213E+03 E0= -.59627950E+03 d E =0.221230E-01 mag= 65.3758


The system is a supercell with 108 fcc atoms Ni107Zr.
The result is extremely sensitive to the initialization of the magmoms, I initialized with 0.9; changing this to 0.8 or 1.0, the simulation converges to -.59630740E+03; so it seems that something is wrong and the algorithm jumps to an incorrect local minimum.
The problem seems to be due to my choice of algorithm/convergence parameters ( ALGO = Fast, BMIX = 1.3, MAXMIX = 40, AMIX = 0.020000); running without setting BMIX and MAXMIX works o.k, but I still find this worrisome.

If anyone can explain what happens here (and how to avoid such things), that would be great.

I've attached relevant files (INCAR/POSCAR/POTCAR, OSZICAR/OUTCAR) as tar-ball.

Re: Energy jump an converging to false minimum

Posted: Wed May 12, 2021 1:34 pm
by andreas.singraber
Hello!

That is indeed an interesting case, however, it can be explained with the use of the RMM-DIIS algorithm. The residual minimization method is not guaranteed to always progress in the downhill direction and hence also jumps out of a minimum into another nearby local minimum may sometimes happen. It would be interesting to investigate whether the two minima you found (approx. -0.596307398859E+03 and -0.596272126266E+03) correspond indeed to very similar physically relevant states. It could be associated to a single spin flipping: what do you find if you compare the magnetization density output in OUTCAR when the calculation is stopped at iteration 35 vs. the one you attached here?

As you have already tried, adjusting the mixer parameters can help avoiding such convergence issues. A good recipe is to change only BMIX and AMIN, and leave AMIX untouched.

However, to make sure you should repeat your calculations with a more robust minimization algorithm, so please try with ALGO=All (either from the very beginning or just restart from the end of your run). Another option would be to stick to RMM but restart from a partially (or fully) converged run with the WAVECAR. This may resolve these glitches in case they originate from the the mixer's history.

Re: Energy jump an converging to false minimum

Posted: Wed May 12, 2021 1:47 pm
by MBaeker
Thanks for the insights into the working of the algorithm.

The magmoms seem not to be different, the Zr-atom has -0.148, the Ni atoms all have between 0.4 and 0.7, and difference occur only in the third digit.

I frequently use the Fast algorithm because it shows better convergence; I have to admit that I never used All, only Fast or Normal.

To detect cases like this, I've now written a python script that looks at OSZICARs and checks for these kind of jumps or other irregularities: I actually found a small number of similar cases in my simulations, although none as bad as this.

Re: Energy jump an converging to false minimum

Posted: Thu May 20, 2021 2:48 pm
by andreas.singraber
Thanks for the update, it's also very interesting for us to collect cases which show such unexpected results. Please report back if you cannot get more consistent results when setting ALGO=All.

For the moment I will move this to the "Using VASP" forum because there is no strong indication that this is caused by a bug.

Re: Energy jump an converging to false minimum

Posted: Fri May 21, 2021 6:43 am
by MBaeker
ALGO=ALL seems to work fine (albeit a bit slower).
I've now checked several hundred OSZICARs for such jumps; I found a small number of them so this seems to be unusual, but not to be a singular case.