Possible Bug in NWCHEM: TD-B97


Just Got Here
Dear all,

I have recently implemented B97 into ORCA's TDDFT part. For comparison, I chose QCHEM and NWCHEM. For the first few singlet excitations of CH2O, I obtained the following values in eV:

QCHEM      NWCHEM

3.9854     4.2181
6.8489     7.0074
8.1122     8.2836
8.1203     8.2844
8.6866     8.7784
9.0941     9.4966

i.e. the numbers differ by tenths of eV. Since I was able to reproduce the QCHEM values with ORCA, I am confident in them.

The NW ground state energy as well as one-electron and core-core-repulsion is fine, as well as the MO energies of the occupied block. A possible explanation are wrong functional derivatives of B97.

Since other functionals like PBE0, HFS, CAM-B3LYP etc. look fine, I am confident in having chosen accurate parameters for each program involved. If someone would like output files or the deviation spreadsheet, I will be happy to provide them.

Full input for NWCHEM follows:
start temp
title "Testing Implementations"
scratch_dir .
permanent_dir .
memory total 1500 stack 200 heap 200 global 1100 MB

geometry units angstroms
 symmetry c1 
  C     -0.023503    0.000000   -0.000000
  O     -1.231109   -0.000000    0.000000
  H      0.572248    0.947642    0.000000
  H      0.572248   -0.947642    0.000000
end


BASIS spherical 
# def2-TZVPD from EMSL
#BASIS SET: (5s,2p) -> [3s,2p]
H    S
     34.061341000            0.60251978000E-02      
      5.1235746000           0.45021094000E-01      
      1.1646626000           0.20189726000    
H    S
      0.32723041000          1.0000000        
H    S
      0.10307241000          1.0000000        
H    P
      0.80000000000          1.0000000        
H    P
      0.95774129632E-01            1.0000000        
#BASIS SET: (12s,6p,3d,1f) -> [6s,3p,3d,1f]
C    S
  13575.3496820              0.22245814352E-03      
   2035.2333680              0.17232738252E-02      
    463.22562359             0.89255715314E-02      
    131.20019598             0.35727984502E-01      
     42.853015891            0.11076259931    
     15.584185766            0.24295627626    
C    S
      6.2067138508           0.41440263448    
      2.5764896527           0.23744968655    
C    S
      0.57696339419          1.0000000        
C    S
      0.22972831358          1.0000000        
C    S
      0.95164440028E-01            1.0000000        
C    S
      0.48475401370E-01            1.0000000        
C    P
     34.697232244            0.53333657805E-02      
      7.9582622826           0.35864109092E-01      
      2.3780826883           0.14215873329    
      0.81433208183          0.34270471845    
C    P
      0.28887547253          1.0000000        
C    P
      0.10056823671          1.0000000        
C    D
      1.0970000000           1.0000000        
C    D
      0.31800000000          1.0000000        
C    D
      0.90985336424E-01            1.0000000        
C    F
      0.76100000000          1.0000000        
#BASIS SET: (12s,7p,3d,1f) -> [6s,4p,3d,1f]
O    S
  27032.3826310              0.21726302465E-03      
   4052.3871392              0.16838662199E-02      
    922.32722710             0.87395616265E-02      
    261.24070989             0.35239968808E-01      
     85.354641351            0.11153519115    
     31.035035245            0.25588953961    
O    S
     12.260860728            0.39768730901    
      4.9987076005           0.24627849430    
O    S
      1.1703108158           1.0000000        
O    S
      0.46474740994          1.0000000        
O    S
      0.18504536357          1.0000000        
O    S
      0.70288026270E-01            1.0000000        
O    P
     63.274954801            0.60685103418E-02      
     14.627049379            0.41912575824E-01      
      4.4501223456           0.16153841088    
      1.5275799647           0.35706951311    
O    P
      0.52935117943          1.0000000        
O    P
      0.17478421270          1.0000000        
O    P
      0.51112745706E-01            1.0000000        
O    D
      2.3140000000           1.0000000        
O    D
      0.64500000000          1.0000000        
O    D
      0.14696477366          1.0000000        
O    F
      1.4280000000           1.0000000      
END

scf
 thresh 10e-8
end

dft
 mult 1
 iterations 100
# grid xfine
 
 grid treutler
 grid becke 
 grid lebedev 160 29  

 tolerances tight # use strict tolerances beginning with first iteration
 tolerances accCoul 10
 tolerances tol_rho 1e-12
 tolerances radius 100.0
 convergence energy   1e-8
 convergence density  1e-7
 convergence gradient 5e-7

 xc becke97

 decomp
 direct 
end

tddft
 cis
 nroots 6
 triplet 
 targetsym none 
 thresh 1e-6
end

task tddft energy

Forum Vet
Missing analytical second derivatives for Becke97 functional in NWChem
Dear Tar,
You are quite on target in stating that you have uncovered a bug in NWChem.
Since analytical second derivatives for the Becke97 functional have not been coded yet in NWChem,
the code should have stopped before entering the TDDFT module.
We will soon provide a fix to prevent the code to generate the erroneous results you have shown.

Cheers, Edo

Forum Vet
Patch available
Tar ,
A patch is available now.
Instructions for installing the patch:


cd $NWCHEM_TOP/src/nwdft/lr_tddft
wget http://nwchemgit.github.io/images/2nd.patch.gz
gzip -d 2nd.patch
patch -p0 < 2nd.patch
make
cd ../..
make link

Just Got Here
Dear Edoapra,

thank you for the clarification and the patch. In case the NWCHEM team is interested in the analytical code, I can provide you with the C++ routines, that can easily be converted to F90 as well as adapted to other, similar functionals.

Forum Vet
Dear Tar,
Thank you very much for offering to share your code.
We do value this kind of contributions.
Let's continue this discussion using the PM tool.
Edo

Clicked A Few Times
Anyone could tell me - why I can't create a new thread? It says " The specified URL cannot be found"

Thanks

Forum Vet
Most likely because you are posting a message that contains words or characters that the system sees as hacking attacks. For example, kompile with k instead of c works. Some other linux commands have the same issues.

Bert


Quote:Mahbub03 Jul 3rd 8:46 pm
Anyone could tell me - why I can't create a new thread? It says " The specified URL cannot be found"

Thanks


Forum >> NWChem's corner >> General Topics