SIESTA 4.1 crashes if the scf cycle does not converge

Asked by Ilya on 2020-02-13

I use SIESTA version 2 and 4.0 for my calculations (OS opensuse 15). A few days ago I tried to upgrade to version 4.1 b4. The arch.make file was created based on the DOCUMENTED-TEMPLATE.make file with the replacement of two lines: "FC = gfortran" instead of "FC = mpif90" and "LIBS = $(BLAS_LIBS) $(NETCDF_LIBS) $(SCALAPACK_LIBS) $(LAPACK_LIBS) $(MPI_LIBS) $(COMP_LIBS)" instead of "LIBS = $(NETCDF_LIBS) $(SCALAPACK_LIBS) $(LAPACK_LIBS) $(MPI_LIBS) $(COMP_LIBS)". Compilation ended by creating a siesta file without errors. The compiled file was used for a number of calculations in the geometry optimization mode (MD.TypeOfRun CG; SolutionMethod diagon; MD.NumCGSteps 500; MaxSCFIterations 10). –°alculation crashes if the scf cycle does not converge. The following information is displayed in the console (I used <...> to skip part of the lines):
Siesta Version : v4.1-b4
Architecture : unknown
Compiler version: GNU Fortran (SUSE Linux) 7.5.0
Compiler flags : gfortran -O2 -fPIC -ftree-vectorize -march=native
Libraries : -lblas -llapack
SERIAL version

* Running in serial mode
>> Start of run: 13-FEB-2020 14:47:14
                        Begin CG opt. move = 0
   scf: 10 -3453.152287 -3453.152287 -3453.152287 0.000014 -2.703597 0.002918
SCF_NOT_CONV: SCF did not converge in maximum number of steps (required).
SCF_NOT_CONV: SCF did not converge in maximum number of steps (required).
Geom step, scf iteration, dmax: 0 10 0.000214
Geom step, scf iteration, dmax: 0 10 0.000214

timer: Elapsed wall time (sec) = 16.726
timer: CPU execution times (sec):

Routine Calls Time/call Tot.time %
siesta 1 16.682 16.682 100.00
MIXER 10 0.000 0.002 0.01

Stopping Program from Node: 0
Stopping Program from Node: 0

Program aborted. Backtrace:
#0 0x7ff69339e640 in ???
#1 0x7ff69339f134 in ???
#2 0x7ff693519f08 in ???
#3 0x7e7dba in pxfabort_
        at /home/ilya/program/siesta-4.1-b4/Src/pxf.F90:93
#4 0x4b9b8e in __m_siesta_forces_MOD_siesta_forces
        at /home/ilya/program/siesta-4.1-b4/Src/siesta_forces.F:509
#5 0x4037c9 in siesta
        at /home/ilya/program/siesta-4.1-b4/Src/siesta.F:74
#6 0x4037c9 in main
        at /home/ilya/program/siesta-4.1-b4/Src/siesta.F:10

The error does not occur if the number of MaxSCFIterations steps is large and the scf cycles converge. I did not find this error in siesta 4.0.
Please correct me if I did something wrong. I'd appreciate your comments on this.

Question information

English Edit question
Siesta Edit question
No assignee Edit question
Solved by:
Nick Papior
Last query:
Last reply:
Best Nick Papior (nickpapior) said : #1

MaxSCFIterations 10 is not a large number.

Also, in 4.1 we force it to converge unless you tell Siesta to calculate forces using a non-converged SCF.

Please look in the manual for details.

Ilya (ilya963) said : #3

Thanks Nick Papior, that solved my question.