The WARNING:the minimization is stopped for this block

Total energy, geometry optimization, DFT+U, spin....

Moderator: bguster

Locked
jianzhifu
Posts: 21
Joined: Tue Oct 29, 2013 9:20 am

The WARNING:the minimization is stopped for this block

Post by jianzhifu » Mon Aug 17, 2015 12:06 pm

Dear All, when I do a ground state calculation, there are warnings “the minimization is stopped for this block”,
Could you give me some advices about it?

Thanks!


Code: Select all

 condition number of the Gram matrix =    426929.268496149
Lobpcgwf: restart performed
 condition number of the Gram matrix =    40184211.8787539
Lobpcgwf: restart performed
 condition number of the Gram matrix =    3829737250.79636

--- !WARNING
message: |
    the minimization is stopped for this block
src_file: lobpcgwf.F90
src_line: 891
...
Attachments
ne1_tmp_LOG_0001.out
(448.58 KiB) Downloaded 301 times
ne1.in
(5.26 KiB) Downloaded 294 times
ne1.out
(188.74 KiB) Downloaded 271 times

gh.phys
Posts: 6
Joined: Fri Oct 02, 2015 12:30 pm

Re: The WARNING:the minimization is stopped for this block

Post by gh.phys » Wed Oct 28, 2015 8:08 pm

I am getting the same error. Can you please make an update? Did you figure out what was wrong?

Jordan
Posts: 282
Joined: Tue May 07, 2013 9:47 am

Re: The WARNING:the minimization is stopped for this block

Post by Jordan » Thu Oct 29, 2015 8:23 am

This is a warning. It does not stop the code, errors do.
You may think it does because abinit crashed elsewhere (probably in lobpcgwf anyways).
When you get this warning, a restart is performed to continue the minimization.

As you are using lobpcg, I guess you are running on several dozen of processors ? You should find in a _LOG_ file an error message. If the simulation run on a cluster and the output is not fully flushed, the error message won't be displayed but I am pretty sure you got a abi_xorthonormalize error, which is a very common and painful error.
For the moment, the only workaround is to restart the calculation changing some parameters - like nnsclo, nline, bandpp npband ... - driving the convergence scheme to change the minimization path.
This might not be very useful but we are working on improvement for such problems.

Jordan

gh.phys
Posts: 6
Joined: Fri Oct 02, 2015 12:30 pm

Re: The WARNING:the minimization is stopped for this block

Post by gh.phys » Mon Nov 02, 2015 10:35 pm

Thanks for your response. I am running Abinit on a cluster. As you said, the minimization goes on even when the message repeats but at some point (after many iterations) the code stops running. I think I figured out what maybe wrong. I checked the log file and even though I have not used 'paral-kgb' in the input file, it has been set to 1 in the run. I explicitly set it to 0 in the input file and so far one iteration has been finished with no message.

gh.phys
Posts: 6
Joined: Fri Oct 02, 2015 12:30 pm

Re: The WARNING:the minimization is stopped for this block

Post by gh.phys » Mon Nov 09, 2015 9:49 am

Hi again. An update and a question. I realised that paral_kgb=0 is not enough for my needs because it only leads to parallelisation over k-points . I would require to parallelise over npfft, npband, ... to make the calculations faster. I browsed through the forum and I think there are two alternatives. According to a similar discussion in the following link:

viewtopic.php?f=9&t=2972&p=9115&hilit=supercell#p9115

1) to restart the interrupted calculation using the final coordinates and lattice vectors with paral_kbg = 1.

2) to re-compile abinit with --enable-zdot-bugfix.

I am wondering how efficient the second alternative would be with respect to using paral_kgb=1?
And is it enough to add --enable-zdot-bugfix option to the abinit configuration options if I want to re-compile it?

Jordan
Posts: 282
Joined: Tue May 07, 2013 9:47 am

Re: The WARNING:the minimization is stopped for this block

Post by Jordan » Tue Nov 10, 2015 8:45 am

If you do need paral_kgb and thus lobpcg, then you can try to compile with --enable-zdot-bugfix depending on the compiler+linear algebra librairy you use. Not all combinations need the fix.
Of course, if you use this fix, the performances will decrease but only slightly since it only replace a blas dot product by a fortran hand-written dot product.
This bug makes abinit to stop BUT it is usually NOT the main issue. As I said, 90% (not to say 100%) of the time, lobpcg crashes because of an orthonormalization problem (error in the topic you mentioned). This can not be avoided (lobpcg is by construction very unstable but still very efficient)
To work around this problem, you may want to try to play with bandpp/npband -- and of course npfft npkpt -- to change the size of the block and change the conditionning number of matrix.

The warning you got telling the minimization is stop is not a big issue. It is just that instead of performing nline line minimization on the current block, the minimization is stopped because de conditionning number is too high and thus would lead to more troubles. The minimization will restart at the next SCF iteration.

So yes, you can try to recompile abinit with the fix and see what happens. If you do a broyden, then you can restart the calculation each time it crashes changing the xred and rprim/acell parameters. At the beginning, the wave functions will change in memory due to the restart and thus the computation can most of the time continue. Sometimes, it will always crash...

good luck

Jordan

Locked