- Feb 9, 2020 增加T0和T1的介绍
- Jul 4, 2019 初版
DLPNO-CCSD(T)是一种基于局域轨道的近似CCSD(T)方法,其所得相关能与标准CCSD(T)的相关能比值可达99.9%以上,误差可控制在1 kcal/mol。在我们平时的计算中,需要用高精度方法的电子能量时,如果体系较大,无法做标准CCSD(T)计算,可以考虑使用ORCA的DLPNO-CCSD(T)方法。
在J. Chem. Phys. 144, 024109 (2016)一文中,报道了如下Crambin蛋白的DLPNO-CCSD(T)计算,使用def2-TZVP基组时体系有12075个基函数,使用4核并行,计算所用时间为324.8小时(两周)。文中虽然还报道了2万多基函数的体系,但那是一个含有350个碳的烷烃(原文中写成了C350H902,应该是笔误),对于这种近似一维的体系,在局域轨道框架下,积分和振幅的数量本来就会少很多,不能体现真正的计算实力。2018年,在J. Chem. Phys. 148, 124117 (2018)一文中,结合黎书华老师开发的"cluster-in-molecule"方法,对体系进行分片处理,计算了含22621个基函数的三维体系。
为什么只用4个核并行呢?因为DLPNO-CCSD(T)计算还是比较耗内存的,文中作者使用的机器的总内存是256 GB,对于如此大的体系,计算时每个进程所需要的内存较大,文中使用了50 GB,因此只能用4核并行了。在硬盘使用上,DLPNO-CCSD(T)需要的空间不算太大,文中称该体系所用的硬盘空间不到700 GB,但是对硬盘的读写性能要求很高,这个时候如果能用上SSD,就会使计算速度提升很多。
ORCA中DLPNO-CCSD(T)的输入文件书写很简单:
代码语言:javascript复制%pal nprocs 16
end
! def2-TZVP def2-TZVP/C DLPNO-CCSD(T) TightSCF tightPNO
%maxcore 28000
* xyz 0 1
体系xyz坐标
*
注意向右滑动看完整的第三行
该输入文件表示使用16核并行,每个核分配的内存为28 GB。在第三行中使用def2-TZVP基组,对应的用于RI近似的辅助基组为def2-TZVP/C,对Hartree-Fock使用较高的收敛标准,tightPNO为控制CCSD(T)精度的参数,对应的可选值有LoosePNO、NormalPNO、TightPNO,一般来说LoosePNO精度不高,尽量选择后两个。
如果体系很大,也可以配合ORCA的RIJK或RIJCOSX近似来加快Hartree-Fock计算,此时的关键词分别为:
! def2-TZVP def2-TZVP/C DLPNO-CCSD(T) TightSCF tightPNO RIJK def2/JK
! def2-TZVP def2-TZVP/C DLPNO-CCSD(T) TightSCF tightPNO RIJCOSX def2/J
在ORCA 4.2版中,需要注意直接在关键词中写DLPNO-CCSD(T)实际做的是DLPNO-CCSD(T0)计算。所谓T0是指在进行(T)计算时使用semi-canonical (SC) 近似。在局域轨道表象下,分子轨道基的Fock矩阵的非对角元不为0,此时(T)的计算需要迭代求解。在SC近似下,忽略Fock矩阵的非对角元,不进行迭代求解。而不使用SC近似,对(T)部分进行迭代求解,这部分功能在ORCA中应该写为DLPNO-CCSD(T1),这样结果与标准CCSD(T)更为接近。在J. Chem. Phys. 148, 011101 (2018)一文中,作者提到,一般在研究相对能量的问题时,使用T0便可以得到很好的结果,而对gap比较小的体系,可能需要T1才能得到准确的结果。
笔者最近做了一个含有2785个基函数的DLPNO-CCSD(T)计算,输入文件为上文框中的输入文件。所用机器配置为两颗Intel Xeon Gold 6134 3.20GHz CPU,共16核,512 GB内存,1.2 TB的nvme固态硬盘,应该说是比较豪华的配置了。用时为49小时。
注意:似乎ORCA无法设置临时文件存放的目录,实际运行中临时文件产生在工作目录,因此,为了获得更好的性能,建议将DLPNO-CCSD(T)作业放到高速硬盘上提交。