bug: 2eorb used to work with MBPT, now crashes


Gets Around
I get "hashv2: key not found" errors when I try to run the TCE MBPT methods with 2eorb. There is code in tce_init.f that is supposed to catch unsupported methods before they produce these errors, but the MBPT methods do not appear to be forbidden. Additionally, this mailing list post made me think that 2eorb must have worked with MBPT at one point: http://www.emsl.pnl.gov/docs/nwchem/nwchem-support/2010/05/0016.RE:_NWCHEM_MP4_cc-pVTZ_opt...

I can now confirm that 2eorb worked with MBPT as of version 6.0 but no longer. Here is a sample case:

echo

start bugtest

title "mp4bug"

geometry units angstroms print xyz
  symmetry c1
  Cl0   0.000000        0.000000        0.000000
  H0    1.305815        0.000000        0.000000
end

basis spherical
  #Cl cc-pVDZ
  #BASIS SET reformatted: [4s,3p,1d]
  #origin: db/NWChem.db
  Cl0     S
    127900.0000000               0.0002412
     19170.0000000               0.0018709
      4363.0000000               0.0097083
      1236.0000000               0.0393153
       403.6000000               0.1259320
       145.7000000               0.2993410
        56.8100000               0.4218860
        23.2300000               0.2372010
         6.6440000               0.0191531
         2.5750000              -0.0033479
         0.5371000               0.0009299
  Cl0     S
    127900.0000000              -0.0000679
     19170.0000000              -0.0005218
      4363.0000000              -0.0027651
      1236.0000000              -0.0111537
       403.6000000              -0.0385919
       145.7000000              -0.0994848
        56.8100000              -0.2013920
        23.2300000              -0.1303130
         6.6440000               0.5094430
         2.5750000               0.6107250
         0.5371000               0.0421549
  Cl0     S
    127900.0000000               0.0000205
     19170.0000000               0.0001583
      4363.0000000               0.0008336
      1236.0000000               0.0033988
       403.6000000               0.0116738
       145.7000000               0.0309622
        56.8100000               0.0629533
        23.2300000               0.0460257
         6.6440000              -0.2193120
         2.5750000              -0.4087730
         0.5371000               0.6384650
  Cl0     S
         0.1938000               1.0000000
  Cl0     P
       417.6000000               0.0052598
        98.3300000               0.0398332
        31.0400000               0.1646550
        11.1900000               0.3873220
         4.2490000               0.4570720
         1.6240000               0.1516360
         0.5322000               0.0018162
  Cl0     P
       417.6000000              -0.0014357
        98.3300000              -0.0107796
        31.0400000              -0.0470075
        11.1900000              -0.1110300
         4.2490000              -0.1532750
         1.6240000               0.0894609
         0.5322000               0.5794440
  Cl0     P
         0.1620000               1.0000000
  Cl0     D
         0.6000000               1.0000000
  #H cc-pVDZ
  #BASIS SET reformatted: [2s,1p]
  #origin: db/NWChem.db
  H0     S
        13.0100000               0.0196850
         1.9620000               0.1379770
         0.4446000               0.4781480
  H0     S
         0.1220000               1.0000000
  H0     P
         0.7270000               1.0000000
end

scf
  singlet
  rhf
end

tce
  scf
  mp4
  io ga
  2eorb
  2emet 4
  split 2
  freeze atomic
  tilesize 15
  attilesize 30
end

task scf energy
task tce energy


The embedded basis data is not important. It was just a convenience so I didn't have to set up basis set libraries for the NWChem 6.0 binary for Windows that I found here (I couldn't easily find a Linux binary that old): http://timn.ho.ua/ccs/

The above job completes normally with 6.0. Here is the log: http://pastebin.com/Vp4YV0ia

It fails with 6.5, 6.3, and 6.1, giving a "hashv2: key not found" error. The oldest Linux version I tried was the 6.1 packaged for Debian Wheezy. Unfortunately neither it nor the 6.0 version were yet showing a svn revision in the output, so I can't be more precise about the time of bug introduction.

Here is an example failed execution log from 6.5: http://pastebin.com/hhV1DpkX

Gets Around
This is a long-standing issue. It makes me sad that this bug persists.

Thanks for narrowing down the version where this appeared. I may be able to fix it on this basis. I should have fixed it years ago but it was never a priority because 2eorb works for the most popular methods.


Forum >> NWChem's corner >> General Topics