|
本帖最后由 zjxitcc 于 2023-8-19 17:32 编辑
据我所知,高斯CCSD没法算 非弛豫密度,ORCA可以算,但是你这个体系是基于UHF的UCCSD,我看ORCA似乎只能给出UCCSD的自然自旋轨道NSO,没法直接给出自然轨道NO(如果可以给出的话,欢迎ORCA老司机指正)。
NSO是分alpha, beta两列的,每个自旋轨道占据数都在[0,1]之间;NO只有1列,每个自旋轨道占据数都在[0,2]之间,用于讨论问题、分析轨道成分 更为方便简洁。几种自然轨道的区别和联系可以看Sob老师这篇《在Multiwfn中基于fch产生自然轨道的方法与激发态波函数、自旋自然轨道分析实例》http://sobereva.com/403
这里提供一种Gaussian+ORCA联用获得UCCSD非弛豫密度下NO的做法,总的思路是用ORCA得到NSO,自己构造出NO,传回fch文件用于可视化。
Step 1. 用高斯做个UHF计算
- %chk=O_singlet.chk
- %mem=8GB
- %nprocshared=4
- #p UHF/cc-pVDZ nosymm int=nobasistransform guess=mix stable=opt
- title
- 0 1
- O 0.0 0.0 0.0
复制代码
Step 2. 产生ORCA输入文件
- fch2mkl O_singlet.chk
- orca_2mkl O_singlet_o -gbw
复制代码 在自动产生的O_singlet_o.inp文件里加上UCCSD关键词,记得还要加上非弛豫密度选项(这里仅展示修改部分)
- ! UHF CCSD VeryTightSCF
- %mdci
- density unrelaxed
- natorbs True
- end
复制代码 而后提交ORCA任务。
Step 3.从NSO产生NO
- mv O_singlet_o.mdci.nat O_singlet_CCSD.gbw #mdci.nat文件含NSO,实际上是个gbw文件
- orca_2mkl O_singlet_CCSD -mkl #产生mkl文件
- cp O_singlet.fch O_singlet_CCSD.fch #拷贝一份fch,用于接着写入UCCSD的NSO
- mkl2fch O_singlet_CCSD.mkl O_singlet_CCSD.fch -nso #将NSO从mkl传回fch文件
- python
- from mokit.lib.lo import gen_no_from_nso
- gen_no_from_nso(fchname='O_singlet_CCSD.fch') #从NSO产生NO
复制代码 得到O_singlet_CCSD_no.fch文件,结束。过程中用到的fch2mkl和mkl2fch小程序,以及gen_no_from_nso库都来自于开源程序MOKIT。算完后用GaussView打开fch文件,可以看到HONO和LUNO占据数(注意这里不是轨道能量)均接近1.0,是几乎完美的双自由基,符合直觉。当然,用Multiwfn+VMD处理可以获得更漂亮的配色。
|
|