计算化学公社

标题: 求助:加赝势的mol和dal文件怎么书写 [打印本页]

作者
Author:
张晓婷    时间: 2023-8-15 16:22
标题: 求助:加赝势的mol和dal文件怎么书写
各位老师,请问我要对分子中的碘原子加SDD赝势,mol中的基组怎么书写?是图中的第一个基组吗?Basis=  ECP=
使用原子平均场近似法计算Sn和Tn态之间的旋轨耦合常数,使用赝势的话,在dal文件中还需要加.ECPHOS吗?不用全电子基组的话旋轨耦合矩阵元算的准吗?
谢谢各位老师解答。

作者
Author:
zjxitcc    时间: 2023-8-15 17:11
本帖最后由 zjxitcc 于 2023-8-15 17:13 编辑

不用费时间去鼓捣这些,让fch2dal小程序自动生成.mol和.dal文件就行了,剩下的东西你自己加。比如我们写个高斯gjf文件,这里以甲基碘CH3I为例,
  1. %chk=CH3I.chk
  2. %mem=8GB
  3. %nprocshared=4
  4. #p B3LYP genecp nosymm int=nobasistransform

  5. title

  6. 0 1
  7. C     1.41371339   -0.35439137    0.00000000
  8. H     1.77036782   -1.36320137    0.00000000
  9. H     1.77038623    0.15000682   -0.87365150
  10. H     0.34371339   -0.35437818    0.00000000
  11. I     2.11372551    0.63554901    1.71464314

  12. H C 0
  13. def2TZVP
  14. ****
  15. I 0
  16. SDD
  17. ****

  18. I 0
  19. SDD

复制代码
提交
  1. g16 CH3I.gjf
复制代码
这就有了CH3I.chk文件。执行
  1. fch2dal CH3I.chk
复制代码
会生成CH3I.dal,CH3I.mol两个文件和赝势文件夹ecp_data,前者含有简单的关键词和收敛的分子轨道,后者含有坐标、基组和读取赝势的关键词。把CH3I.dal文件里.HF改成B3LYP
  1. .DFT
  2. B3LYPg
复制代码
后面不动。提交给Dalton,SCF 2圈收敛,不仅省了书写输入基组和赝势的时间,连SCF时间都省了。可以自己修改.dal文件做更复杂的计算。想用(相对论)全电子、自定义、混合基组都行,只要会gjf格式,其他量化程序基组格式都不用学;想用DKH2哈密顿也行(在gjf里写int(nobasistransform,DKH2),生成的.dal文件就会含有相应关键词);不想要高斯的轨道也行、不想让高斯做SCF迭代也行。fch2dal是MOKIT里的一个小程序,见中文简介,可在线安装,还有Linux预编译版直接下载。
你这个看着得用相对论全电子基组。


作者
Author:
张晓婷    时间: 2023-8-17 15:06
zjxitcc 发表于 2023-8-15 17:11
不用费时间去鼓捣这些,让fch2dal小程序自动生成.mol和.dal文件就行了,剩下的东西你自己加。比如我们写个 ...

谢谢老师的解答,我尝试一下。
如果要用全电子基组的话,请问对碘用什么全电子基组呢? 我是在文献中看见有人用SDD赝势算了旋轨耦合矩阵元,来论坛学习一下发现不能用了,所以现在不知道该怎么算了

作者
Author:
zjxitcc    时间: 2023-8-21 13:49
本帖最后由 zjxitcc 于 2023-8-21 13:52 编辑
张晓婷 发表于 2023-8-17 15:06
谢谢老师的解答,我尝试一下。
如果要用全电子基组的话,请问对碘用什么全电子基组呢? 我是在文献中看见 ...

Dalton考虑旋轨耦合有三四种计算方式,有方法的也可以用ECP,但精度较差,建议反复阅读beefly老师的教程(http://bbs.keinsci.com/thread-2455-1-1.html),他写的比我说的靠谱。我个人推荐你使用DKH2标量相对论哈密顿;对所有原子用ANO-RCC-VDZP基组(体系小的话可以全部或重要原子用ANO-RCC-VTZP),这是个相对论全电子基组;使用AMFI近似。

顺便一提,我在2L回复中的技巧同样适用。比如int(DKH2,nobasistransform),使用gen自定义ANO-RCC基组等。


作者
Author:
张晓婷    时间: 2023-10-22 19:59
本帖最后由 张晓婷 于 2023-10-22 20:10 编辑
zjxitcc 发表于 2023-8-21 13:49
Dalton考虑旋轨耦合有三四种计算方式,有方法的也可以用ECP,但精度较差,建议反复阅读beefly老师的教程 ...

您好,请问你说的这个ANO-RCC-VDZP基组dalton里面没有,只有ano-1、ano-2、ano-3这种,请问对应的是哪一个呀?这三个对于碘没有定义,找不到您说的这个基组。

作者
Author:
zjxitcc    时间: 2023-10-22 22:03
本帖最后由 zjxitcc 于 2023-10-22 22:06 编辑
张晓婷 发表于 2023-10-22 19:59
您好,请问你说的这个ANO-RCC-VDZP基组dalton里面没有,只有ano-1、ano-2、ano-3这种,请问对应的是哪一 ...

有的,基组文件位置是dalton/basis/ANO-RCC,不过我不清楚这对应的是ANO-RCC-VDZP,ANO-RCC-VTZP,ANO-RCC-VQZP中的哪一个,你可以自己琢磨一下。当然,我不用这些东西。如果是我,我会写一个gjf文件
(, 下载次数 Times of downloads: 5)
其中ANO-RCC-VDZP基组文件可以在$MOKIT_ROOT/mokit/basis/目录下找到,所以我用的是引用路径,你在你自己机器上需按实际真实路径修改。提交给Gaussian
  1. g16 CH3I.gjf
复制代码
成功后执行
  1. fch2dal CH3I.chk
复制代码
产生CH3I.dal和CH3I.mol文件,内含Gaussian产生的SCF初始轨道,坐标,ANO-RCC-VDZP基组数据,简单的关键词等。其他部分不用改,只需把.HF改成
  1. .DFT
  2. B3LYPg
复制代码
提交Dalton任务,这个例子比较简单,B3LYP会在10圈后收敛。如果在gjf文件中把guess(only,save)去掉,即让Gaussian完全收敛,则传的轨道就是收敛的B3LYP轨道,Dalton会极速收敛。

作者
Author:
tianmafei    时间: 2024-6-11 08:37
zjxitcc 发表于 2023-10-22 22:03
有的,基组文件位置是dalton/basis/ANO-RCC,不过我不清楚这对应的是ANO-RCC-VDZP,ANO-RCC-VTZP,ANO-RC ...

邹老师好!请您指教一个问题,我使用ORCA计算了一个钌配合物分子的单点,泛函是CAM-B3LYP,基组是DKH-def2-TZVP,对钌离子用SARC-DKH-TZVP;之后用mkl2dal得到了Dalton计算用的dal和mol文件,但运行时Dalton报错说mol文件中太多行了。这个问题能解决吗?先谢谢啦!
作者
Author:
zjxitcc    时间: 2024-6-11 11:52
本帖最后由 zjxitcc 于 2024-6-11 11:55 编辑
tianmafei 发表于 2024-6-11 08:37
邹老师好!请您指教一个问题,我使用ORCA计算了一个钌配合物分子的单点,泛函是CAM-B3LYP,基组是DKH-def ...

(1)要说明ORCA中用了什么相对论哈密顿。如果用的是DKH2,那Dalton中也有DKH2可以用,二者可以相符较好。如果在ORCA中用的是ZORA,那建议不要/不用传轨道,Dalton我记得没有ZORA,勉强硬传 效果很差。既然要传轨道,就要尽可能保证方法基组等各种计算条件几乎100%一致。而如果在ORCA没有用任何标量相对论哈密顿,那它是一个错误的计算,无需传轨道。
(2)展示Dalton具体报错信息截图,至少20行,如果有输入输出文件上传更好。
(3)先尝试一个水分子是否能正常走完你想要的流程。


作者
Author:
tianmafei    时间: 2024-6-11 17:31
本帖最后由 tianmafei 于 2024-6-11 17:54 编辑
zjxitcc 发表于 2024-6-11 11:52
(1)要说明ORCA中用了什么相对论哈密顿。如果用的是DKH2,那Dalton中也有DKH2可以用,二者可以相符较好 ...

邹老师您好!我在ORCA中用了DKH2相对论哈密顿,计算级别为CAM-B3LYP/DKH-def2-TZVP,辅助基组是SARC/J,钌离子用SARC-DKH-TZVP基组。用mkl2dal得到的输入文件已上传,在Dalton2020.1中跑磷光寿命任务时,刚开始就提示mol文件中太多行的错误。 (, 下载次数 Times of downloads: 1)

(, 下载次数 Times of downloads: 1)

(, 下载次数 Times of downloads: 1)

(, 下载次数 Times of downloads: 1)

(, 下载次数 Times of downloads: 1)

(, 下载次数 Times of downloads: 3)


作者
Author:
tianmafei    时间: 2024-6-12 18:15
zjxitcc 发表于 2024-6-11 11:52
(1)要说明ORCA中用了什么相对论哈密顿。如果用的是DKH2,那Dalton中也有DKH2可以用,二者可以相符较好 ...

邹老师,用一个水分子能正常走完流程。在ORCA中用DKH2相对论哈密顿,计算级别为CAM-B3LYP/DKH-def2-TZVP,辅助基组是SARC/J。用mkl2dal得到dal文件和mol文件,在Dalton2020.1中正常跑完了磷光寿命任务。我要算的钌配合物分子含有130个原子,用Dalton跑磷光寿命任务时,出错提示说mol文件中行太多了。
作者
Author:
zjxitcc    时间: 2024-6-14 16:40
tianmafei 发表于 2024-6-12 18:15
邹老师,用一个水分子能正常走完流程。在ORCA中用DKH2相对论哈密顿,计算级别为CAM-B3LYP/DKH-def2-TZVP ...

(1).dal文件开头几行中要指定DKH2哈密顿,例如
  1. **DALTON INPUT
  2. .DOUGLAS-KROLL
  3. .RUN WAVE FUNCTIONS
  4. ...
复制代码
ORCA的mkl文件中不会写DKH2信息,所以mkl2dal小程序生成的dal文件也没有DKH2信息,需要自己补充。

(2)如果你这个体系一种元素的所有原子用的是同样的基组,那可以简化这个文件,具体操作:启动Python,运行
  1. from mokit.lib.rwgeom import merge_bas_in_dalton_mol
  2. merge_bas_in_dalton_mol('rurho6gpst1nonsolventmokit.mol')
复制代码
相邻同种元素的各个原子的基组数据会合并同类项,因此文件内容会更新变短。使用该功能要求MOKIT版本 >= v1.2.6rc34。该功能不适用于这种罕见特例:同种元素的不同原子使用不同的基组,例如1号H用def2SVP,2号H用6-31G(d,p)。

(3)完成上述改动后,Dalton不会报mol文件行数过多的错误,但会报另一个错误,例如
  1. BASPRO error, number of shells                   2053
  2.                current maximum number (MXSHEL)    1500
  3. 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可以正常跑起来,但不保证后续可以正常完成计算任务。

作者
Author:
tianmafei    时间: 2024-6-18 08:17
zjxitcc 发表于 2024-6-14 16:40
(1).dal文件开头几行中要指定DKH2哈密顿,例如
ORCA的mkl文件中不会写DKH2信息,所以mkl2dal小程序生 ...

邹老师您好!
         我编译了pyscf,也启动了python,   在做 from mokit.lib.rwgeom import merge_bas_in_dalton_mol时报错ImportError:cannot import name'merge_bas_in_dalton_mol' from 'mokit.lib.rwgeom'。我做回伸手党,您可以把merge_bas_in_dalton_mol('rurho6gpst1nonsolventmokit.mol')后的文件传给我用吗?谢谢啦!
作者
Author:
zjxitcc    时间: 2024-6-18 14:48
tianmafei 发表于 2024-6-18 08:17
邹老师您好!
         我编译了pyscf,也启动了python,   在做 from mokit.lib.rwgeom import merge_b ...

注意11L中的描述“使用该功能要求MOKIT版本 >= v1.2.6rc34”
作者
Author:
tianmafei    时间: 2024-6-19 07:39
本帖最后由 tianmafei 于 2024-6-19 08:02 编辑
zjxitcc 发表于 2024-6-18 14:48
注意11L中的描述“使用该功能要求MOKIT版本 >= v1.2.6rc34”
邹老师您好!
         多谢邹老师指点!我查到我现在使用的版本是v1.2.6rc32,我刚下载了 v1.2.6rc34版本,我自己尝试着做一下。我是个菜鸟,给邹老师添麻烦了,再次感谢邹老师的耐心和指点迷津!
作者
Author:
tianmafei    时间: 2024-6-19 07:54
本帖最后由 tianmafei 于 2024-6-19 08:03 编辑
zjxitcc 发表于 2024-6-18 14:48
注意11L中的描述“使用该功能要求MOKIT版本 >= v1.2.6rc34”

邹老师您好!
         多谢邹老师指点!我查到我现在使用的版本是v1.2.6rc32,我刚下载了 v1.2.6rc34版本,我自己尝试着做一下。我是个菜鸟,给邹老师添麻烦了,再次感谢邹老师的耐心和指点迷津!




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