MP2 Gradients Failing with Ghost Atoms


Just Got Here
Hello,

I am using NWChem 6.5 to run MP2 gradient calculations on a water molecule including basis functions from a neighboring "dummy" water. This is part of a fragment calculation of bulk water and is carried out in the field of many (~500) Bq charges located on all atoms. The Bq charges are zeroed out on the water molecule undergoing QM calculation, but they remain on the dummy atoms.

The SCF seems to converge reliably, the MP2 and SCS-MP2 energies are displayed without error, and the ensuing CPHF converges as well. The problem arises after the SCF+MP2 dipole moments are displayed, when I get the error message "MAXITS exceeded in inv_it ... Eigenvector 102 failed to converge in inv_it3". I have found that this error does not show up if I a) reduce the basis set from cc-pVTZ to aug-cc-pVDZ, b) remove the embedding Bq charges, or c) remove the dummy basis functions.

I was unable to find anything related to this error by searching, except that the error originates from peigs/src/c/inv_it3.c . I tried increasing MAXITS to 50 and relinking; this did not solve the problem. I would greatly appreciate any advice in resolving this issue. If it is useful, here is an excerpt of the input file causing the problem:
charge    0
geometry units angstroms noautosym noautoz nocenter
   O        -3.3616227100       -6.4021920739       -4.0252337111
   H        -3.3418274500       -7.3347605539       -3.6903975311
   H        -2.5429073800       -5.9567577939       -3.6902536011
   bqO       -7.8872037600       -6.4986997339       -4.0865289411
   bqH       -8.6841039100       -6.0182355039       -3.7443051411
   bqH       -7.0947182700       -5.9945892039       -3.7723052511
end

basis spherical
 * library cc-pVTZ
 bqO library O cc-pVTZ
 bqH library H cc-pVTZ
end

scf
thresh 1e-8
print low
end

mp2
  freeze atomic
  tight
end

bq units ang
       -3.3616227100       -6.4021920739       -4.0252337111    0.00000000
       -3.3418274500       -7.3347605539       -3.6903975311    0.00000000
       -2.5429073800       -5.9567577939       -3.6902536011    0.00000000
       -3.4056916800       -1.3275516739       -0.4798034611   -1.04623000
       -2.6143601900       -1.7951296639       -0.1120830411    0.52620000
       -3.3531110200       -0.3890048939       -0.1673309911    0.52003100
           (....another ~500 charges here...)
end

task mp2 gradient

Thanks for looking!

Just Got Here
Just as a followup, it seems that inv_it3 belongs to an eigensolver subroutine. Since the error occurs before the MP2 natural orbital occupation numbers are displayed, I figured the error must have been arising from the generation of the NOS. By commenting out the call to
mp2_make_nos
in mp2_energy.F, I was able to circumvent the issue and obtain the gradients without hitting this error. This should be enough as a work-around for now.

Forum Vet
Could you please make the full input file available so that we can reproduce the bug?
Thanks

Just Got Here
I am unable to upload to the forum and the text will not fit in a single post, so here is a link to the input file: https://drive.google.com/file/d/0B4dBoJ6zAiLZbXpyRHhabmhSRkk/edit?usp=sharing

Forum Vet
Quote:MSalim Sep 29th 9:50 am
I am unable to upload to the forum and the text will not fit in a single post, so here is a link to the input file: https://drive.google.com/file/d/0B4dBoJ6zAiLZbXpyRHhabmhSRkk/edit?usp=sharing


It looks like a bug in the Peigs eigensolver. If you use Scalapack, the problem vanishes.
http://nwchemgit.github.io/index.php/Compiling_NWChem#Adding_optional_environmental_variable...


Forum >> NWChem's corner >> Running NWChem