这些小程序考虑了各个量化程序的基函数的顺序问题(最高到H角动量)、重叠积分问题等等,可以十分精确地在各个量化程序间传轨道,两个程序中同一个波函数方法(例如R(O)HF、UHF、CASSCF等)的电子能量相差小于10-6 a.u.,传轨道过去后通常1圈即收敛。
1. 下载和安装MOKIT
https://gitlab.com/jxzou/mokit/-/releases
unzip mokit-master.zip
mv mokit-master mokit
进入文件夹编译
cd mokit/src
make all
耗时约2 min。完成后在~/.bashrc里写上环境变量
export MOKIT_ROOT=/home/$USER/software/mokit
export PATH=$MOKIT_ROOT/bin:$PATH
export PYTHONPATH=$MOKIT_ROOT/lib:$PYTHONPATH
export ORCA=/home/$USER/software/orca-4.2.1/orca
export GMS=/home/$USER/software/games/rungms
以上路径仅为示例,请根据自己的实际情况修改。其中变量ORCA和GMS对应量化软件ORCA和GAMESS可执行文件的完整路径。而PySCF、OpenMolcas和Molpro软件分别由python、pymolcas和molpro命令运行,无需告诉MOKIT它们的位置。除此之外,MOKIT会识别系统中的GAUSS_EXEDIR变量,必要时自动调用Gaussian软件(无论g03/g09/g16),因此也无需知晓高斯具体安装位置。
2. 如何引用
Molecular Orbital Kit (MOKIT), https://gitlab.com/jxzou/mokit (accessed month day, year)
DOI: 10.1021/acs.jctc.8b00854; DOI: 10.1021/acs.jpca.0c05216
3. 使用示例
(1)水分子的CASSCF(4,4)/cc-pVDZ计算,文件名00-h2o_cc-pVDZ_1.5.gjf
4GB =
4 =
#p CASSCF/cc-pVDZ
mokit{}
0 1
O -0.23497692 0.90193619 -0.068688
H 1.26502308 0.90193619 -0.068688
H -0.73568721 2.31589843 -0.068688
输入文件与Gaussian的格式一样,没有额外的学习成本。automr会自动调用各个量化程序做HF、GVB和CASSCF等计算,过程中会自动确定活性空间为CAS(4,4),无需用户人为指定。想做GVB、NEVPT2、CASPT2、MRCISD或MCPDFT计算的话,把#p那行中方法名换成对应的方法就行。无需写%chk,因为没有用。注意必须在Title Card那一行写上mokit{}。执行
automr 00-h2o_cc-pVDZ_1.5.gjf>& 00-h2o_cc-pVDZ_1.5.out &
即提交该计算。输出文件末尾展示如下
…
GVB(4)
-75.91325105 a.u. =
Leave subroutine do_gvb at Tue Dec 29 16:54:33 2020
Enter subroutine do_cas...
using program pyscf
doubly_occ= 3 nvir= 17
of active alpha/beta e = 2/2
-75.90802166 a.u. =
-75.90823032 a.u. =
Leave subroutine do_cas at Tue Dec 29 17:00:50 2020
00:50 2020 :
(2)提供fch(k)文件给automr读入,文件名05-N2_cc-pVQZ_6D10F_4.0.gjf
%mem=4GB
%nprocshared=4
#p NEVPT2/cc-pVQZ
mokit{readuhf='N2_cc-pVQZ_6D10F_4.0_uhf.fchk',ist=1,cart}
fch文件名需写在一对单引号中。由于提供了fch文件,底下无需写电荷、坐标和自旋多重度等信息。mokit{}中的关键词readrhf/readuhf/readno分别用于读取含RHF/UHF/自然轨道的fch文件。有时用户事先通过片段组合波函数等复杂计算得到了一个特定UHF解的文件,想用于多参考态计算,可以用此功能读取。
4. 当前程序的限制
(1)无法直接进行激发态的多参考计算,不含自动产生激发态活性空间的算法。但用户可以基于automr算完产生的文件继续(手动)做激发态计算。
(2)无法使用任何对称性。通常的分子没什么对称性,但对高对称性分子无法节省计算时间。
(3)只能算单点,无法进行结构优化、过渡态、搜索MECP等复杂任务。但是支持在mokit{}中写force关键词输出CASSCF解析梯度。用户也可以用算完的文件(手动)添加关键词做结构优化。
5. 可能出现的问题
(2) 通过电子邮件njumath[at]sina.cn联系笔者;
(3) 加入MOKIT用户交流QQ群,群号:470745084。
6. 注意事项
(1)若提供.fch(k)文件给automr程序读取,请记得在获得.fch(k)文件前在高斯输入文件里加上关键词nosymm int=nobasistransform,避免后续产生不必要的错误。
(2)若使用各个小程序传DFT轨道,由于各个量化程序的积分格点、泛函定义等不尽相同,因此经常无法1圈收敛,但也能在几圈内很快收敛。
(3)尽管MOKIT程序的计算过程是全自动的,无需人为干预。但用户仍需具备使用常见量子化学软件的基本技能(例如熟悉Gaussian软件的常规DFT计算)。若使用者是一名量化新手,应先学习并熟练使用Gaussian软件做常规计算,否则很可能难以正确理解MOKIT的输出内容,或做出错误解读。特地强调这点是因为有些老师看到公众号博文不分难易就转发给小白学生。。。
(4)automr程序输入文件无需人为指定活性空间,但使用者在发表文章时必须写出活性空间大小,及初始轨道如何得到的。不讲明这些细节的多参考态计算是没有意义的。
本文分享自微信公众号 - 量子化学(quantumchemistry)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4589508/blog/4871198