|
本帖最后由 zjxitcc 于 2025-4-25 16:14 编辑
建议使用MOKIT中的fch2inporb小程序方便快捷实现目的。例如下方是一个H2O分子RHF/cc-pVDZ计算的gjf文件
- %chk=h2o.chk
- %mem=6GB
- %nprocshared=4
- #p RHF/cc-pVDZ nosymm int=nobasistransform
- title
- 0 1
- H 0.39901125 0.24970333 0.0
- H -0.88144333 1.15463916 0.0
- O -0.56098875 0.24970333 0.0
复制代码 提交Gaussian任务,几秒完成,然后运行
- formchk h2o.chk h2o.fch
- fch2inporb h2o.fch
复制代码 此举将产生h2o.input和h2o.INPORB两个文件,前者包含该分子的Cartesian坐标、基组数据和RHF关键词,后者包含转化后的RHF轨道数据。若想进一步验证生成的文件是否合理,可以直接提交OpenMolcas任务,例如这是OpenMP并行版OpenMolcas提交命令
- export MOLCAS_MEM=4Gb
- export MOLCAS_NPROCS=1
- export OMP_NUM_THREADS=6
- pymolcas -nt 4 h2o.input >h2o.out 2>&1
复制代码 几秒结束,打开h2o.out文件,可以看到SCF立即收敛,且初始能量与收敛能量没有差别
- ++ Convergence information
- SCF iterations: Energy and convergence statistics
- Iter Tot. SCF One-elec. Two-elec. Energy Max Dij or Max Fij DNorm TNorm AccCon Time
- Energy Energy Energy Change Delta Norm in Sec.
- 1 -76.025888237 -123.099533762 37.916529491 0.00E+00 5.92E-09 2.20E-09 3.51E+00 3.59E+01 None 0.
- 2 -76.025888237 -123.099533752 37.916529481 1.42E-14* 5.53E-09 7.38E-11 1.61E-08 3.59E+01 EDIIS 0.
- 3 -76.025888237 -123.099533752 37.916529481 -2.84E-14 1.94E-09 6.80E-10 8.54E-09 3.59E+01 c2DIIS 0.
- Convergence after 3 Macro Iterations
复制代码 若想实现更复杂的计算,打开h2o.input文件自己添加想要的内容即可,比如RICD之类的关键词。fch2inporb小程序可以用于传任何轨道,包括RHF/ROHF/UHF/CASSCF轨道等等,基组数据是顺便写好的;如果有用到赝势,赝势数据也会顺便写好,无需用户操心。
若您课题组没购买Gaussian使用版权,或出于某些原因不愿意使用Gaussian,也可以使用PySCF或ORCA做相应的HF计算,随后使用py2molcas模块或mkl2inporb小程序向OpenMolcas传轨道。教程见
《利用MOKIT从PySCF向其他量化程序传轨道》,《利用MOKIT从ORCA向其他量化程序传轨道》
若想进行CASSCF/cc-pVDZ单点计算,可直接使用MOKIT的automr自动进行多组态/多参考计算,无需手动传轨道、自定义基组数据这些繁琐步骤,例如
- %mem=6GB
- %nprocshared=4
- #p CASSCF(4,4)/cc-pVDZ
- mokit{CASSCF_prog=OpenMolcas}
- 0 1
- H 0.39901125 0.24970333 0.0
- H -0.88144333 1.15463916 0.0
- O -0.56098875 0.24970333 0.0
复制代码 提交任务,运行
- automr h2o.gjf >h2o.out 2>&1
复制代码 程序会调用Gaussian进行RHF/UHF计算,MOKIT进行轨道投影、轨道局域化、轨道配对,调用GAMESS进行GVB计算,选出重要的轨道,调用OpenMolcas进行CASSCF计算,全流程自动化。算出来CAS(4,4)包含2根O-H键的成键轨道和反键轨道。
|
|