Simple input file convergence problem: scf optimize failed


Clicked A Few Times
Hi,
for examination of quantum mechanical effects in the field of material science, i just started to try out NWChem. Compilation seems to finish without any sign of error. But no matter what i do, in a very simple input file for water, i constantly receive the error
scf optimize failed                                                                                0
------------------------------------------------------------------------
------------------------------------------------------------------------
current input line :
15: task scf optimize
------------------------------------------------------------------------
------------------------------------------------------------------------
This type of error is most commonly associated with calculations not reaching convergence criteria
------------------------------------------------------------------------
For more information see the NWChem manual at http://nwchemgit.github.io/index.php/NWChem_Documentation
For further details see manual section:
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI COMMUNICATOR 3 DUP FROM 0
with errorcode -1.
NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------


The input file is
start h2o
title "Water in 6-31g basis set"
geometry units au
O 0.00000000 0.00000000 0.00000000
H 0.00000000 1.43042809 -1.10715266
H 0.00000000 -1.43042809 -1.10715266
end
basis
H library 6-31g
O library 6-31g
end
driver
maxiter 1000
end
task scf optimize

When i remove the keyword "optimize" in the last line, then the calculation runs just fine.

My system specs are
Architecture:          x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) pro Kern: 2
Kern(e) pro Socket: 4
Socket(s): 1
NUMA-Knoten: 1
Anbieterkennung: GenuineIntel
Prozessorfamilie: 6
Modell: 94
Model name: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
Stepping: 3
CPU MHz: 799.963
CPU max MHz: 3500,0000
CPU min MHz: 800,0000
BogoMIPS: 5184.00
Virtualisierung: VT-x
L1d Cache: 32K
L1i Cache: 32K
L2 Cache: 256K
L3 Cache: 6144K
NUMA node0 CPU(s): 0-7

Kernel: 4.8.0-34-generic

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.10
DISTRIB_CODENAME=yakkety
DISTRIB_DESCRIPTION="Ubuntu 16.10"

GNU Fortran (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12)
mpirun (Open MPI) 1.10.3

I can find very little information about this type of error. Can you give me a hint in which direction i have to look for resolving this issue? During calculation are there additional log files written or can increase verbosity level of output?

Forum Regular
As the error message says, this error is most commonly associated with the calculation not reaching some convergence criteria in the allowed number of steps. Based on the output saying "scf optimize failed," my guess is that you ran out of steps in the geometry optimization. Given that you are optimizing water and have given the geometry optimizer 1000 steps to find the minimum, there is probably something wrong with your build (also I can run the exact input you posted without issue). So you are going to have to look earlier in the output to see where the calculation went wrong.

Do you get reasonable energies from the SCF calculation?
What is happening to your geometry during the optimization?

Below is the optimized geometry that I get when running your input file as posted.
O       0.00000000     0.00000000     0.15623523
H -1.48376846 0.00000000 -0.85312448
H 1.48376846 0.00000000 -0.85312448
And the SCF energy at this geometry was
Total SCF energy = -75.985359176239
Check to see if your build produces the same energy and whether it also shows that the energy gradients are essentially zero (task scf gradient).

Clicked A Few Times
Thank you for your fast reply!

This is what i get
No.       Tag          Charge          X              Y              Z
---- ---------------- ---------- -------------- -------------- --------------
1 O 8.0000 0.00000000 0.00000000 2.40704811
2 H 1.0000 2.99532399 0.00000000 -1.97853091
3 H 1.0000 -2.99532399 0.00000000 -1.97853091
and
Total SCF energy =    -91.854423876863
For the "task scf gradient" i get the output
                        RHF ENERGY GRADIENTS
atom coordinates gradient
x y z x y z
1 O 0.000000 0.000000 0.221431 0.000000 0.000000 115.996131
2 H -1.430428 0.000000 -0.885722 51.405261 0.000000 -57.998066
3 H 1.430428 0.000000 -0.885722 -51.405261 0.000000 -57.998066
So, all of the results above don't come close to your solution values. I guess that my build is not working in all aspects. But since the executable "nwchem" is written without me getting any error messages, can you point me in some direction where to look for error and debugging information?

Forum Regular
What is your build environment (i.e. all the environment variables that you set before compilation)?

Clicked A Few Times
I followed the instructions for installation and compiling in the documentation heading under the title
NWChem 6.6 on Ubuntu 14.04 (Trusty Tahr)
Explicitly these are the environment variables that i set for nwchem installation
# NWChem
export NWCHEM_TOP=/home/myUserName/NWChem/nwchem-6.6
export USE_MPI=y
export NWCHEM_TARGET=LINUX64
export USE_PYTHONCONFIG=y
export PYTHONVERSION=2.7
export PYTHONHOME=/usr
export BLASOPT="-lopenblas -lpthread -lrt"
export BLAS_SIZE=4
export USE_64TO32=y

Forum Vet
Did you execute the following commands?

make 64_to_32
make

Clicked A Few Times
Yes, i followed the instructions by running
make nwchem_config NWCHEM_MODULES="all python"
make 64_to_32
make
I invoke the calculation by
nwchem h2o.nw
Also i tried
mpirun -np x nwchem h2o.nw
with different numbers x<=8 but without success. (I am quite experienced with developing fem software in fortran, but with this quantum/chemical software i consider myself a total newbie. So please consider even the simplest mistakes i could have made during installation and running)

I discovered another problem running a very simple input file. First i intended to start another thread, but now i am not so sure that the other problem is not related somehow. The input file is
title "Nitrogen cc-pvdz SCF geometry optimization"
memory 1000 mb
geometry
n 0 0 0
n 0 0 1.08
end
basis
n library cc-pvdz
end
task scf
Basically this is another sample input file from the documentation where i added the line "memory 1000 mb" after several unsuccessful attempts. But the output for the nitrogen simulation remains
     Superposition of Atomic Density Guess
-------------------------------------
Sum of atomic energies: -108.60004629
from getmem: mem. needed= 248762 , mem. available= 209363
Error no. 1 in getmem memory overflow : call no., amount requested : 85 49790
------------------------------------------------------------------------
texas: nerror called 0
------------------------------------------------------------------------
------------------------------------------------------------------------
current input line :
10: task scf
------------------------------------------------------------------------
------------------------------------------------------------------------
An error occured while computing integrals
------------------------------------------------------------------------
Since i feel that 16GB of RAM should be a fair amount for such an input file, my guess is that this error also results from an improper build?


Forum >> NWChem's corner >> Running NWChem