计算化学公社
标题:
如何在molcas输入里加入外部基组
[打印本页]
作者Author:
lwang
时间:
2025-4-25 15:39
标题:
如何在molcas输入里加入外部基组
各位老师,我在molcas输入里面想要加入自己想要的集群,但是它显示了一些错误。那么我该如何在molcas的输入里面,加入自己想要的基组。
我的输入如下:
&GATEWAY
Expert
Basis set
H / inline
1.00 1
* S-type functions
5 3
1.301000E+01
1.962000E+00
4.446000E-01
1.220000E-01
0.0297400
1.968500E-02 0.000000E+00 0.00000000
1.379770E-01 0.000000E+00 0.00000000
4.781480E-01 0.000000E+00 0.00000000
5.012400E-01 1.000000E+00 0.00000000
0.00000000 0.00000000 1.0000000
* P-type functions
2 2
7.270000E-01
0.1410000
1.0000000 0.00000000
0.00000000 1.0000000
H1 0.39901125 0.24970333 0.00000000/Angstrom
H2 -0.88144333 1.15463916 0.00000000/Angstrom
End of basis set
Basis set
O / inline
8.00 2
* S-type functions
10 4
1.172000E+04
1.759000E+03
4.008000E+02
1.137000E+02
3.703000E+01
1.327000E+01
5.025000E+00
1.013000E+00
3.023000E-01
0.0789600
7.100000E-04 -1.600000E-04 0.000000E+00 0.00000000
5.470000E-03 -1.263000E-03 0.000000E+00 0.00000000
2.783700E-02 -6.267000E-03 0.000000E+00 0.00000000
1.048000E-01 -2.571600E-02 0.000000E+00 0.00000000
2.830620E-01 -7.092400E-02 0.000000E+00 0.00000000
4.487190E-01 -1.654110E-01 0.000000E+00 0.00000000
2.709520E-01 -1.169550E-01 0.000000E+00 0.00000000
1.545800E-02 5.573680E-01 0.000000E+00 0.00000000
-2.585000E-03 5.727590E-01 1.000000E+00 0.00000000
0.00000000 0.00000000 0.00000000 1.0000000
* P-type functions
5 3
1.770000E+01
3.854000E+00
1.046000E+00
2.753000E-01
0.0685600
4.301800E-02 0.000000E+00 0.00000000
2.289130E-01 0.000000E+00 0.00000000
5.087280E-01 0.000000E+00 0.00000000
4.605310E-01 1.000000E+00 0.00000000
0.00000000 0.00000000 1.0000000
* D-type functions
2 2
1.185000E+00
0.3320000
1.0000000 0.00000000
0.00000000 1.0000000
O1 -0.56098875 0.24970333 0.00000000/Angstrom
End of basis set
RICD
>>> EXPORT MOLCAS_MAXITER = 500
&SEWARD
&RASSCF
Charge = 0
spin=1
nActEl=1 0 0
Ras2=1
ciroot =1 1 1
我的部分输出如下:
Basis Set 1 Label: H
Basis set is read from library:INLINE
>>>>> Input file for module GATEWAY <<<<<
Expert
Basis set
H / inline
1.00 1
5 3
1.301000E+01
1.962000E+00
4.446000E-01
****** Error *******
1.220000E-01
###############################################################################
###############################################################################
### ###
### ###
### ERROR: Error in FindErrorLine ###
### ###
### ###
###############################################################################
###############################################################################
作者Author:
zjxitcc
时间:
2025-4-25 16:02
本帖最后由 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键的成键轨道和反键轨道。
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3