|
|
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ 感谢参与,应助指数 +1 zhou2009: 金币+10 2019-03-20 12:15:25
用高斯做CASPT2,命令很容易就是 CASSCF和MP2 同时放在命令行里就行。但是实际上算起来很麻烦。因为高斯的CAS效率很低 而且很不容易收敛。并且对于活性空间选取非常敏感。要是与实际差的比较远 那基本就很难收敛了。
不知道楼主要用CASPT2 算什么 只是需要算出能量还好 如果是要用CASSCF做OPT运算,那高斯的效率是太低了。如果是用CASPT2 做OPT运算就更加费劲了。因为高斯连analytical gradient都不支持,要做numerical opt。太慢了。我没算过我觉得可能就几乎不可能算到收敛。
至于活性空间的选取 这个就是个大的话题了。基本上来讲就是根据你自己的化学知识去推测。一般算cas前都要算一次 HF运算。然后读取出轨道信息。然后就开始推测 哪些电子可能会容易被激发 然后把这些电子放入活性空间中。
一般来说算CASPT2能量步骤就是 1先确定分子结构 2 运行RHF得到轨道信息 3 得到合理的活性空间然后运行CAS,cas的时候都会用不同基组从小基组试到大基组依次计算,这样收敛概率会大 很难一步到位。原因还是高斯的CAS太难收敛了。
比如计算乙烯分子
%nproc=10
%mem=16GB
%chk=step1.chk
# opt b3lyp/6-311+g(2d,p) 这步计算基态结构
Title Card Required
0 1
C -0.93291403 1.35744240 0.00000000
H -0.39975029 0.42973748 0.00000000
H -2.00291403 1.35744240 0.00000000
C -0.25763972 2.53241970 0.00000000
H -0.79080347 3.46012462 0.00000000
H 0.81236028 2.53241970 0.00000000
--link1--
%nproc=10
%mem=16GB
%oldchk=step1.chk 这个%oldchk意思就是读取的上一步的chk,这个g16我确定可以这么写 g09我忘记支持不支持这个写法了,反正无论怎么弄 读取上一步的chk就是了
%chk=step2.chk 这个%chk 是新生成的chk
# HF/6-31g geom=check 这步生成MOs
Title Card Required
0 1
--link1--
%nproc=10
%mem=16GB
%oldchk=step2.chk
%chk=step3.chk
# cas(4,4,RFO,nroot=1)/6-31g guess=read geom=check 这步小基组算CASSCF 活性空间不一定合理 我就这么设置举个例子。
Title Card Required
0 1
--link1--
%nproc=10
%mem=16GB
%oldchk=step3.chk
%chk=step4.chk
# cas(4,4,RFO,nroot=1)/6-311+g(2d,p) guess=read geom=check mp2 大基组算CASPT2 得到基态能量
Title Card Required
0 1
--link1--
%nproc=10
%mem=16GB
%oldchk=step4.chk
%chk=step5.chk
# cas(4,4,RFO,nroot=2)/6-311+g(2d,p) guess=read geom=check mp2 大基组算CASPT2 得到第一激发态能量
Title Card Required
0 1
以上就是大概的一个算的思路。我用的也不多。不敢说跟着这个步骤就一定能算成功。
如果某一步无法收敛,尝试再减小基组进行计算 收敛后再读取其作为大一点基组计算的初猜。比如可以从STO-3G --》3-21G--》4-31G--》6-31G--》6-311G 这样一步步算。
如果实在没法收敛 就考虑活性空间是不是合理。
不过CAS在高斯下是真不太好算的 有条件还是用MOLPRO,MOLCAS, GAMESS 这类比较擅长计算多参考的软件。 |
|