|
(1).dal文件开头几行中要指定DKH2哈密顿,例如
- **DALTON INPUT
- .DOUGLAS-KROLL
- .RUN WAVE FUNCTIONS
- ...
复制代码 ORCA的mkl文件中不会写DKH2信息,所以mkl2dal小程序生成的dal文件也没有DKH2信息,需要自己补充。
(2)如果你这个体系一种元素的所有原子用的是同样的基组,那可以简化这个文件,具体操作:启动Python,运行
- from mokit.lib.rwgeom import merge_bas_in_dalton_mol
- merge_bas_in_dalton_mol('rurho6gpst1nonsolventmokit.mol')
复制代码 相邻同种元素的各个原子的基组数据会合并同类项,因此文件内容会更新变短。使用该功能要求MOKIT版本 >= v1.2.6rc34。该功能不适用于这种罕见特例:同种元素的不同原子使用不同的基组,例如1号H用def2SVP,2号H用6-31G(d,p)。
(3)完成上述改动后,Dalton不会报mol文件行数过多的错误,但会报另一个错误,例如
- BASPRO error, number of shells 2053
- current maximum number (MXSHEL) 1500
- Increase MXSHEL in DALTON/include/maxorb.h and recompile.
复制代码 这些错误是由于Dalton把一些参数的上限固定值写在它代码里,是不良编程习惯,跑大一点的体系容易超过个别参数的上限。我们需要打开dalton-Dalton2020.1/DALTON/include/maxorb.h文件将MXSHEL = 1500改成MXSHEL = 2053,然后重新编译Dalton才能进行计算。
(4)如果ORCA中你有写关键词defgrid3,那在.dal文件中CAMB3LYP下最好写上
*DFT INPUT
.ULTRAF
相当于Gaussian的ultrafine。
由于体系较大,基函数不少,还用了DKH2哈密顿,且不清楚前置ORCA计算的关键词合理程度,修改完上述几点后,Dalton可以正常跑起来,但不保证后续可以正常完成计算任务。
|
|