计算化学公社

标题: 关于Orca4.2和Grimme官网预编译dtfd4 2.0的半数值hessian结果的疑问 [打印本页]

作者
Author:
norlandn    时间: 2019-8-15 09:31
标题: 关于Orca4.2和Grimme官网预编译dtfd4 2.0的半数值hessian结果的疑问
最近看D4色散校正的一些东西,刚好Orca 4.2发布了,试了Orca 4.2和Grimme官网预编译dtfd4 2.0的D4校正,发现半数值hessian结果完全不一样,还试了Sobereva老师编译的dftd4和本人编译的(gfortran 8.3),每个版本的hessian结果都不一样。。。感觉Orca 4.2的结果是合理的,其他的都偏太大了。


我的问题是:如果有解析梯度没有解析力常数,怎么用半数值方法计算hessian?或者哪本书里面有相关内容?谢谢!


下面贴一下计算结果(CH3COO-):
1. Orca 4.2 输入文件:
------------------------------------------------------------------------------------------
!B3LYP D4 def2-SVP pal4 largeprint
!Opt freq
%maxcore 1600 #memory per core


* xyz -1 1
C                 -2.98385104    1.10276924   -0.02471012
H                 -2.31278441    0.27556795   -0.12623650
H                 -2.87483537    1.75573684   -0.86533423
H                 -3.99035561    0.74226683    0.01872449
C                 -2.65797225    1.87238941    1.26876884
O                 -2.17427191    1.26364130    2.25822842
O                 -2.90503001    3.27879594    1.34547055
*

------------------------------------------------------------------------------------------


2. Orca 4.2 计算结果:
------------------------------------------------------------------------------------------
Dispersion correction Hessian from Numerical Differentiation:
                  0          1          2          3          4          5   
      0      -0.000000   0.000000   0.000000   0.000000   0.000010   0.000000
      1       0.000000   0.000000   0.000000   0.000000  -0.000004   0.000000
      2       0.000000   0.000000   0.000000   0.000000  -0.000022   0.000000
      3       0.000000   0.000000   0.000000   0.000000  -0.000048   0.000000
      4       0.000010  -0.000004  -0.000022  -0.000048   0.000088   0.000000
      5       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000
      6       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000
      7       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000
      8      -0.000003   0.000003  -0.000019  -0.000005   0.000003   0.000002
      9       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000
     10       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000
     11       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000
     12       0.000013   0.000000  -0.000003  -0.000010  -0.000001   0.000000
     13       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000
     14       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000
     15       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000

------------------------------------------------------------------------------------------


3. Orca 4.2优化xyz(dftd4.2.0输入文件)
------------------------------------------------------------------------------------------
7
Coordinates from ORCA-job
  C   -2.96234747221516      1.13753657518641     -0.00594295815634
  H   -2.30512884148872      0.25706230511390     -0.11381708705029
  H   -2.88260252193163      1.78761563698931     -0.89530293029478
  H   -4.00473208412876      0.76695030063883      0.03760679257932
  C   -2.64155550608230      1.93768988820903      1.31782030969296
  O   -2.17769905829250      1.24920547470040      2.25319458796829
  O   -2.92503511586093      3.15510732916212      1.28135273526085

------------------------------------------------------------------------------------------

4. 官方预编译dftd4计算结果


dftd4.2.0 t.xyz -c -1 -f b3lyp --hess -v


------------------------------------------------------------------------------------------
           -------------------------------------------------
          |                numerical hessian                |
           -------------------------------------------------
# NOTE: Printing only the lower triangle
# Hdisp fmt=' %22.14lf  %22.14lf  %22.14lf '
      -0.00010345273715        0.19976470366332       -0.00005346853929
       0.42008435882198        0.22030842641212       -0.00000101238162
      -0.20482856769357       -0.40465866585848       -0.62492083164259
      -0.00000662559374        0.34949769044462        0.14976453567530
      -0.07054698539576        0.55438861792707       -0.00004004810093
       0.30687377339114        0.10709184106419       -0.11319126167408
       0.51172465480829       -0.04266357686311        0.00005180796368
      -0.05129384135606       -0.25108264304861       -0.47136980185020
       0.15354694292158       -0.40083577724153       -0.35814736915823
       0.00002587701509       -0.05548564682566       -0.25525651727032
      -0.47558073703878        0.14935652501056       -0.40502873811310
      -0.36233697403712       -0.00417973586309        0.00000162037197
       0.51434934219046        0.31454078529362        0.09431464328415
       0.71919752752026        0.16481069413987        0.20750000308162
       0.56566214517322        0.56987171335137       -0.00002302891487
       0.26529187670798        0.06547179977441       -0.15482855013523
       0.47008771733844       -0.08429771455301       -0.04160639535621
       0.31655232148891        0.32073355805260       -0.24912088707005
------------------------------------------------------------------------------------------






作者
Author:
sobereva    时间: 2019-8-16 07:40
知道什么叫有限差分,就知道怎么根据一阶导数算数值二阶导数。wiki上一搜数值导数或有限差分就有

8成是dftd4程序有限差分代码有bug

作者
Author:
norlandn    时间: 2019-8-16 12:57
大概明白了,感谢老师!




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3