计算化学公社

标题: KST48:更强大的MECP程序 [打印本页]

作者
Author:
Accelerator    时间: 2022-1-9 16:27
标题: KST48:更强大的MECP程序
本帖最后由 Accelerator 于 2024-11-6 22:02 编辑

注:KST48长期以来不断更新,添加了许多新功能,本文已明显过时。Github主页上有全面的使用方法介绍,并对多种典型应用场合给出了案例,请读者参考Github主页上的最新用法。

最近的研究工作涉及到很多势能面交叉点的计算,虽然多参考态还是得做,但用DFT找MECP要方便得多。Harvey原版的MECP程序功能十分有限,虽然套上社长的接口或easyMECP之类后易用性有所提高但还是太薄弱了,于是索性扔掉Harvey的轮子,花一天时间自己写了一个纯Python的交叉点寻找程序。支持同Gaussian和ORCA联用(写代码时考虑了xtb,不知道有没有人会用xtb找大体系的交叉点,有需求的话之后再补充)。支持不同自旋态之间或不同激发态之间(结合ORCA还可以用SF-TDDFT做)的交叉点搜索。

(, 下载次数 Times of downloads: 73)


使用方法:



程序只有一个Python文件kst48.py,使用时在当前目录下放置一个JOBS目录用于存储输入输出文件,并准备一个KST48的输入文件。一个示例如下:

  1. #This subset is required. It controls your quantum chemistry tasks.
  2. nprocs = 8 #processors
  3. mem = 8GB # memory to be used. change this into the maxcore value if you want to use ORCA
  4. method = wb97xd def2sv # your keywords line. It will be presented in the job files. Don't write guess=mix or stable=opt; they will be added automatically.
  5. td1 =  # keywords for TD-DFT of state A (only for Gaussian; please write it in the tail part for ORCA)
  6. td2 = # keywords for TD-DFT of state B (only for Gaussian; please write it in the tail part for ORCA)
  7. mp2 = false #set true for MP2 or doubly hybrid calculation in Gaussian
  8. charge = 0
  9. mult1 = 1 # multiplicity of state A
  10. mult2 = 3 # multiplicity of state B
  11. mode = stable #normal; stable; read; inter_read; noread

  12. #This subset is optional. It controls the convergence threshols, and the details of the GDIIS algorithm. Shown here are the default values.
  13. dE_thresh = 0.000050
  14. rms_thresh = 0.0025
  15. max_dis_thresh = 0.004
  16. max_g_thresh = 0.0007
  17. rms_g_thresh = 0.0005
  18. max_steps = 100
  19. max_step_size = 0.1
  20. reduced_factor = 0.5 # the gdiis stepsize will be reduced by this factor when rms_gradient is close to converge

  21. # This subset controls which program you are using, and how to call them
  22. program = gaussian  #gaussian or orca
  23. gau_comm = 'g16'
  24. orca_comm = '/opt/orca5/orca'
  25. xtb_comm = 'xtb'

  26. #Between *geom and *, write the cartesian coordinate of your initial geometry (in angstrom)
  27. *geom
  28. C                 -0.03266394   -2.07149616    0.00000000
  29. H                  0.76176530   -1.26928217    0.00000000
  30. H                 -0.91673236   -1.36926867    0.00000000
  31. *
  32. #If you have anything to be put at the end of the input file, write it here. This part is especially useful for ORCA: you can add anything related to your keywords here.
  33. *tail1
  34. #-C -H 0
  35. #6-31G(d)
  36. #****
  37. *
  38. *tail2
  39. *

  40. #This subset controls the constraints. R 1 2 1.0 means to fix distance between atom 1 and 2 (start from 1) to be 1.0 angstrom.
  41. *constr
  42. #R 1 2 1.0
  43. #A 1 2 3 100.0 # to fix angle 1-2-3 to be 100 degree
  44. #S R 1 2 1.0 10 0.1 # to run a scan of R(1,2) starting from 1.0 angstrom, with 10 steps of 0.1 angstrom
  45. #S R 2 3 1.5 10 0.1 # you can at most set a 2D-scan
  46. *
复制代码
必须要设置的是输入文件的第一部分,包括使用计算资源、电荷、两个态的多重度、关键字等(不要在这里写stable=opt, force, guess=read等,这些由程序自动添加)。支持5种模式,在下文讲。


第二部分可选,不写就用默认值。设置构型优化的细节。程序最开始3步用BFGS算法,后续步骤切换到GDIIS算法,基于3个历史几何结构进行外推,并使用这三者的平均BFGS矩阵作为近似Hessian。当RMS梯度降低到收敛限的10倍时每一步的步长将自动乘以reduced_factor以避免因步长过大导致的震荡。最大步长默认是0.1 angstrom,这些参数都可以改。


第三部分控制使用何种程序,第四部分是笛卡尔坐标,非常简单。第五部分tail中的内容会被写入输入文件末尾,例如Gaussian的自定义基组等。这对ORCA特别有用,ORCA中以%开头的关键字都可以放在这里。A和B两个态分别用tail1和tail2控制,在设计这一点时主要是为了给SF-TDDFT用的。


最后一部分设置几何约束。可以固定键长和键角,也可以在3N-7维空间内进行一维或二维扫描。


输入文件写好后,放在kst48.py和JOBS相同目录下,假如叫做inp,运行python3 kst48.py inp即可,信息会输出在屏幕上。


关于运行模式

程序支持5种运行模式:

1. normal,类似Harvey的MECP。

2. stable,首先基于初始构型自动进行一个stable=opt,再读取得到的波函数进行后续。注意如果用ORCA处理单重态的情况,记得在method里写UKS。

3. read, 如果已经有了正确的波函数文件,就放在和kst.py相同目录下,分别叫做a.chk和b.chk(或.gbw),设置为read模式后就会自动读取,其他类似stable模式。

4. inter_read:某些十分困难的场合,RKS直接做stable=opt会告诉说是稳定的,但实际上存在能量低得多的另一个稳定的UKS波函数,它需要读取三重态波函数并且写guess=mix甚至scf=vshift=-1000之类来加强轨道混合才能得到。使用inter_read模式,程序类似stable模式,但先算态B,然后对初始构型下的态A进行稳定性分析时读取态B的收敛波函数。用户应该自己写guess=mix等其他收敛控制关键字。

5. noread:不读取任何轨道,包括优化过程中也是每一步都重新生成轨道初猜。


示例输出信息(上述inp文件对应的亚甲基卡宾,单重态和三重态的MECP):

  1. ****KST48 PROGRAM: a powerful tool for MECP locating****
  2. ****By Yumiao Ma, BSJ Institute, 2022/01/09****
复制代码
收敛完成后,会把最终结构对应的输入输出文件复制回当前目录。


下载和引用:

使用KST48必须进行引用,包括其Github页面(https://github.com/RimoAccelerator/KST48)以及作者使用KST48的第一篇文章。
1. Y. Ma, A. A. Hussein, ChemistrySelect 2022, 7, e202202354.
2. Yumiao Ma.  KST48: A Powerful Tool for MECP location. https://github.com/RimoAccelerator/KST48, accessed on xxxx.xx.xx


关于该程序目前只对少量分子进行了测试,欢迎大家试用,发现任何bug欢迎留言。(后更新:目前已经对大量体系进行了测试,非常好用。)

      **** 2022年1月24日更新:近日来连续进行了多次更新,原本上传在附件的版本很容易造成混乱,于是删除了帖子里的附件,请用户统一到Github上下载最新的发布版本。在目前的Github中,除了程序本体和输入文件模板外,还增加了一个能够与KST48配套,在常见架构的集群队列系统中调用ORCA的脚本。
      **** 2022年2月6日更新:已增加对BAGEL的支持,可搜索任意两个能用BAGEL计算的态(包含不同自旋多重度)之间的交叉点。使用方法见Github页面。






作者
Author:
wzkchem5    时间: 2022-1-9 17:36
把level shift设成负值来得到其他SCF解,是一个挺有意思的方法。。。
作者
Author:
Accelerator    时间: 2022-1-9 17:51
本帖最后由 Accelerator 于 2022-1-9 17:53 编辑
wzkchem5 发表于 2022-1-9 17:36
把level shift设成负值来得到其他SCF解,是一个挺有意思的方法。。。

跑AIMD的时候需要一个能一下子就收敛到正确波函数的方法(而且不能搞guess=read,一些情况下发现前一步结构的稳定波函数传给后一步肯定会得到错误的结果),因此想到的。
但实际上效果并不好,vshift写得很负时虽然能得到UKS波函数,但经常也并不对,还是得搭配stable=opt使用。
作者
Author:
Accelerator    时间: 2022-1-9 20:56
发现下午上传的版本有个低级错误 之前在代码里把测试用的CH2原子列表写死了 导致读取其他分子会出错。将开头部分list_element 改成[]就好了。
作者
Author:
Accelerator    时间: 2022-1-15 00:05
最近程序经过了若干修改,已经投稿到了JOSS上。目前测试发现在不施加限制的情况下其收敛速度很高,放一张它和Harvey程序收敛过程的对比:
(, 下载次数 Times of downloads: 72)
作者
Author:
Accelerator    时间: 2022-1-24 19:31
程序的介绍性文章投到JOSS上后居然由于代码量太少被拒了(投稿时的版本大约800行,JOSS中送审的程序中行数较少的大约有1000行,所以可能1000行是投稿门槛)。因此KST48就不打算发表介绍性文章了,将来等到使用KST48的研究工作发表后将该文章作为标准引文好了。
最近在用多参考态找交叉点,BAGEL运算速度高但优化算法很差,而且不支持找不同自旋态的交叉点;而OpenMolcas优化算法不错但效率太低,于是决定在下一个版本加入对BAGEL的支持。
作者
Author:
Accelerator    时间: 2022-1-24 19:31
程序的介绍性文章投到JOSS上后居然由于代码量太少被拒了(投稿时的版本大约800行,JOSS中送审的程序中行数较少的大约有1000行,所以可能1000行是投稿门槛)。因此KST48就不打算发表介绍性文章了,将来等到使用KST48的研究工作发表后将该文章作为标准引文好了。
最近在用多参考态找交叉点,BAGEL运算速度高但优化算法很差,而且不支持找不同自旋态的交叉点;而OpenMolcas优化算法不错但效率太低,于是决定在下一个版本加入对BAGEL的支持。
作者
Author:
冰释之川    时间: 2022-1-24 20:34
乍一看我还以为是AKB48……
作者
Author:
wzkchem5    时间: 2022-1-24 20:36
Accelerator 发表于 2022-1-24 12:31
程序的介绍性文章投到JOSS上后居然由于代码量太少被拒了(投稿时的版本大约800行,JOSS中送审的程序中行数 ...

这还不简单,多加几行注释
作者
Author:
hebrewsnabla    时间: 2022-1-24 20:59
冰释之川 发表于 2022-1-24 20:34
乍一看我还以为是AKB48……

可能是 kousaten48
作者
Author:
Accelerator    时间: 2022-1-24 22:31
hebrewsnabla 发表于 2022-1-24 20:59
可能是 kousaten48


作者
Author:
lindlar    时间: 2022-2-16 10:41
厉害
作者
Author:
人心向背    时间: 2022-5-18 15:23
请问能够支持qm/mm模型吗,或者以后会有这个功能吗,想找到qm/mm模型中qm的MECP
作者
Author:
人心向背    时间: 2022-5-18 15:25
人心向背 发表于 2022-5-18 15:23
请问能够支持qm/mm模型吗,或者以后会有这个功能吗,想找到qm/mm模型中qm的MECP

这是我们搭建的qm/mm模型

作者
Author:
Accelerator    时间: 2022-5-18 16:41
人心向背 发表于 2022-5-18 15:23
请问能够支持qm/mm模型吗,或者以后会有这个功能吗,想找到qm/mm模型中qm的MECP

我没用过Gaussian的QM/MM,需要研究。最近不一定有时间,如果要新增功能的话应该要下半年了。
作者
Author:
人心向背    时间: 2022-5-18 17:01
Accelerator 发表于 2022-5-18 16:41
我没用过Gaussian的QM/MM,需要研究。最近不一定有时间,如果要新增功能的话应该要下半年了。

好的,谢谢大佬,期待大佬的新增功能。
作者
Author:
Accelerator    时间: 2022-6-16 15:35
今日更新:增加了一个结构插值功能(LST)
与过渡态搜索一样,有些交叉点非常难找,特别是如果同时涉及到许多化学键的改变时;而这在作者所研究的电子转移与化学反应的耦合中非常常见。如果只涉及一两根化学键改变,通过键长扫描可以比较方便地处理,而一旦化学键太多,此法就行不通了。于是有这样一种思路:在两个态的极小值点之间进行插值,对于插入的中间结构,计算两个态的能量,取能量差最小的作为交叉点的初始结构。于是加入了此功能,通过在输入文件中设置LST1和LST2两部分,程序会对两个分子首先进行对齐,然后插值并生成一系列gjf文件。
事实证明这个功能并不好用,简单场合还行,如果几何结构变动很大,插值出来的点结构就很不合理。虽然原理上也可以借助QST2或CI-NEB的思想进一步处理,但考虑到交叉点计算的单步耗时往往很长,这些算法并不实用。因此目前该功能仅停留在实验阶段。
作者
Author:
Freeman    时间: 2022-7-24 21:57
Accelerator 发表于 2022-6-16 15:35
今日更新:增加了一个结构插值功能(LST)
与过渡态搜索一样,有些交叉点非常难找,特别是如果同时涉及到 ...

(, 下载次数 Times of downloads: 28)
如果势能面是左边的情况,插值是没问题的,但如果是右边的情况,插值就没用了。所以找过渡态的技巧大概不能直接套用在mecp上。



作者
Author:
CopperL    时间: 2022-9-24 09:56
请问这个报错是为什么呢?是因为体系太大了吗?我用小分子体系比如乙烯、亚甲基卡宾等同样的输入只修改原子坐标测试是没问题的。(报错如下所示,输入文件见附件)
Now Entering BFGS Step 0
Traceback (most recent call last):
  File "kst48.py", line 1076, in <module>
    main()
  File "kst48.py", line 1021, in main
    conv_step, GEOM = runOpt(GEOM, flag='hybrid', state1 = state1, state2 = state2, mult1 = mult1, mult2 = mult2)
  File "kst48.py", line 893, in runOpt
    X1, G1, B1, E1, E2 = BFGS(X0, G0, B0, n_step, state1 = state1, state2 = state2, mult1 = mult1, mult2 = mult2)
  File "kst48.py", line 800, in BFGS
    XNew = propagationBFGS(X0, G0, B0)
  File "kst48.py", line 687, in propagationBFGS
    dk = -numpy.linalg.solve(Bk, Gk)
  File "<__array_function__ internals>", line 6, in solve
  File "/usr/local/lib64/python3.6/site-packages/numpy/linalg/linalg.py", line 394, in solve
    r = gufunc(a, b, signature=signature, extobj=extobj)
ValueError: solve1: Input operand 1 has a mismatch in its core dimension 0, withgufunc signature (m,m),(m)->(m) (size 252 is different from 257)



作者
Author:
Accelerator    时间: 2022-9-25 16:18
CopperL 发表于 2022-9-24 09:56
请问这个报错是为什么呢?是因为体系太大了吗?我用小分子体系比如乙烯、亚甲基卡宾等同样的输入只修改原子 ...

我用PBE0-D3BJ/STO-3G测试这个例子,在我的机器上表现正常。是否可以将你运行目录下的全部文件打包发上来?
作者
Author:
CopperL    时间: 2022-9-26 09:00
本帖最后由 CopperL 于 2022-9-26 09:03 编辑
Accelerator 发表于 2022-9-25 16:18
我用PBE0-D3BJ/STO-3G测试这个例子,在我的机器上表现正常。是否可以将你运行目录下的全部文件打包发上来 ...

感谢回复。
文件打包后的大小超出上传上限,我把运行目录下的文件上传了某度网盘,链接是

链接:https://pan.baidu.com/s/1AV1lcWUaXpeTJUOFBNmZWw?pwd=pvk5
提取码:pvk5

麻烦您下载查看,谢谢。
作者
Author:
Accelerator    时间: 2022-9-26 16:52
CopperL 发表于 2022-9-26 09:00
感谢回复。
文件打包后的大小超出上传上限,我把运行目录下的文件上传了某度网盘,链接是

是由于输出文件0_A.log中几何结构部分的格式与我编写和使用时遇到的不同,导致没有正确读取。只要将kst48.py的314行改为如下即可:
  1.             elif 'Distance matrix' in l or 'Rotational constants' in l:
复制代码
Github上的代码已更新。感谢报告这一bug。

作者
Author:
ABQTrap    时间: 2023-3-29 10:46
本帖最后由 ABQTrap 于 2023-3-29 10:49 编辑

最后一部分设置几何约束。可以固定键长和键角,也可以在3N-7维空间内进行一维或二维扫描。

老师好,请问KST48可以只做几何约束优化,不用MECP功能吗?因为BAGEL没有几何约束优化的功能。谢谢!
作者
Author:
Accelerator    时间: 2023-3-30 22:11
ABQTrap 发表于 2023-3-29 10:46
“最后一部分设置几何约束。可以固定键长和键角,也可以在3N-7维空间内进行一维或二维扫描。” ...

找交叉点的梯度是两个态的梯度进行四则运算得到的,所以原则上可以使得程序只采用一个态的梯度。但是这样需要你自己修改代码,比较折腾。
http://bbs.keinsci.com/thread-27086-1-1.html提到的方法是否可以做限制性优化,我没有试过。
作者
Author:
ABQTrap    时间: 2023-3-31 08:22
Accelerator 发表于 2023-3-30 22:11
找交叉点的梯度是两个态的梯度进行四则运算得到的,所以原则上可以使得程序只采用一个态的梯度。但是这样 ...

好的,谢谢老师!
作者
Author:
柚子    时间: 2023-4-4 10:50
本帖最后由 柚子 于 2023-4-4 14:33 编辑

老师,您好!在此我有两个问题想要请教。①请问出现这样的报错是什么原因呢?不知道是不是我输入文件的原因,但运行例子也是这样的情况。
  File "kst48.py", line 54
    header_1 = f'%chk=a.chk\n%nprocs={NProcs} \n%mem={Mem} \n# {Method} {Td1} nosymm\n\n Title Card \n\n{Charge} {Mult1}'
                                                                                                                        ^
SyntaxError: invalid syntax


②请问这个程序默认搜索的是S1和T1的MECP吗?我本科毕设是TADF方向的,想要研究机理,需要这个结构点的信息。


期待老师的回复。

作者
Author:
Accelerator    时间: 2023-4-4 16:31
柚子 发表于 2023-4-4 10:50
老师,您好!在此我有两个问题想要请教。①请问出现这样的报错是什么原因呢?不知道是不是我输入文件的原因 ...

把输入文件发上来。
找哪几个态的交叉点在输入文件里设置,没有默认一说。如果想用Gaussian找S1和T1的交叉点,需要在td1或td2里写跟TD-DFT有关的关键字。
作者
Author:
ABQTrap    时间: 2023-4-10 16:34
老师您好,我是刚接触KST48和BAGEL。

我尝试了GAMESS中exam40的MECP例子(CH2),用KST48做MECP,方法是normal,BAGEL用的是CASPT2。我想请问KST48输出的两个态的能量信息默认是CASSCF吗?因为我感觉输出的能量好像不是CASPT2能量。比如几何优化最后一步,KST48在terminal上的输出能量是E1 = -38.89377848,E2 = -38.90046691,BAGEL中A.log的能量 CASPT2 energy:  -38.972166738288,B.log的能量为-38.971255607506。我附上了输出信息,麻烦老师看一下。因为我不是很懂BAGEL,可能是我搞错了。谢谢!




作者
Author:
Accelerator    时间: 2023-4-10 16:50
ABQTrap 发表于 2023-4-10 16:34
老师您好,我是刚接触KST48和BAGEL。

我尝试了GAMESS中exam40的MECP例子(CH2),用KST48做MECP,方法是 ...

是的,由于在编写时主要使用CASSCF进行测试,目前读取的是CASSCF能量。本周我会对代码进行更新,以支持CASPT2。
作者
Author:
ABQTrap    时间: 2023-4-10 17:10
Accelerator 发表于 2023-4-10 16:50
是的,由于在编写时主要使用CASSCF进行测试,目前读取的是CASSCF能量。本周我会对代码进行更新,以支持CA ...

好的,谢谢老师,太牛了
作者
Author:
jmliu    时间: 2023-5-16 19:19
请问老师能发一个bagel的输入案例吗?我按照git下来的那个文件写的,试了好多次都没法运行。一直提示我的输入文件有问题。E:\师匠灬\桌面\QQ图片20230516191753.png
作者
Author:
jmliu    时间: 2023-5-17 20:18
jmliu 发表于 2023-5-16 19:19
请问老师能发一个bagel的输入案例吗?我按照git下来的那个文件写的,试了好多次都没法运行。一直提示我的输 ...

问题已经解决了,期待大佬的新增caspt2的优化功能。
作者
Author:
yxdd98    时间: 2023-8-15 20:49
您好,请问KST48有约束原子坐标的功能吗?我的体系是簇模型,需要冻结边上的原子,我试着用了orca里的constraints字段,但发现计算过程中本该冻结的原子位置还是会变化。
作者
Author:
Accelerator    时间: 2023-8-16 11:55
yxdd98 发表于 2023-8-15 20:49
您好,请问KST48有约束原子坐标的功能吗?我的体系是簇模型,需要冻结边上的原子,我试着用了orca里的const ...

目前不能固定原子位置。我尽量在9月推出一个新版本,加入原子坐标冻结的功能,以及先前楼上提到的CASPT2读取也一直没改,在这个版本内一同加上。
作者
Author:
jwx-yao    时间: 2023-9-18 16:10
请问老师可以发一个orca计算的实例吗,我想用orca算老是报错...
作者
Author:
wzkchem5    时间: 2023-9-18 17:15
jwx-yao 发表于 2023-9-18 09:10
请问老师可以发一个orca计算的实例吗,我想用orca算老是报错...

但凡问报错问题,必须上传完整的输入输出文件
可能不是你orca输入文件写的问题,而是你的环境配置问题,那样的话别人给orca计算的实例也没用,必须你给出你这里具体报的是什么错才行
作者
Author:
jwx-yao    时间: 2023-9-18 19:26
wzkchem5 发表于 2023-9-18 17:15
但凡问报错问题,必须上传完整的输入输出文件
可能不是你orca输入文件写的问题,而是你的环境配置问题, ...

好的好的,谢谢谢谢,又试了试,解决问题了,感谢老师回答
作者
Author:
wzkchem5    时间: 2023-9-18 19:39
jwx-yao 发表于 2023-9-18 12:26
好的好的,谢谢谢谢,又试了试,解决问题了,感谢老师回答

如果自己解决了自己的问题,最好把解决方案也发一下,这样后人遇到类似问题就可以直接搜到这个帖子,不用再问一遍
作者
Author:
jwx-yao    时间: 2023-9-19 19:26
wzkchem5 发表于 2023-9-18 19:39
如果自己解决了自己的问题,最好把解决方案也发一下,这样后人遇到类似问题就可以直接搜到这个帖子,不用 ...

我输入文件写错了,不是别的原因,这种也需要发一下吗

作者
Author:
Accelerator    时间: 2023-10-20 12:58
搁置了许久,终于将这段时间内大家积攒的问题和诉求进行了一次更新。
本次更新内容:
新增功能
1. 原子固定:通过在输入文件内设置形如fixedAtoms = 1, 2-3的选项,可以实现原子固定,具体方法为优化过程中直接设置其梯度为0.编号从1开始,形如2-3的定义中包含原子3.
2. 对Gaussian的ONIOM计算的支持。需要设置如下选项:
  1. isONIOM = true # if you are using the ONIOM feature of Gaussian, set this true.
  2. chargeAndMultForONIOM1 = 0 1 0 1 0 1 0 1 0 1 0 1 #only useful for ONIOM calculation
  3. chargeAndMultForONIOM2 = 0 1 0 1 0 1 0 3 0 3 0 3 #only useful for ONIOM calculation
复制代码

此时先前的charge, mult1, mult2等可忽略。随后在geom部分定义分层信息,形如:
  1. C        2.02254521   -0.36259181   -0.01365118 M H 8
  2. H        2.37786899   -1.37187093   -0.01446684 M
  3. H        2.37789587    0.14134325   -0.88810836 M
  4. C        0.48255054   -0.36054374   -0.01015114 L H 1
  5. H        0.12722676    0.64873538   -0.00933548 L
  6. H        0.12322871   -0.86446478   -0.88299213 L
  7. H        0.12719988   -0.86447880    0.86430604 L
  8. N        2.51619296    0.32971093    1.18548551 H
  9. O        2.72397867   -0.30706606    2.22615545 H
  10. O        2.72401165    1.54934090    1.15437446 H
复制代码

注意原子符号后面要直接跟着X坐标。
3. 支持外链几何坐标文件
通过形如
  1. *geom
  2. @a.log
  3. *
复制代码

的方法,可以自动读取a.log中的最后一个几何坐标。支持Gaussian的.log文件、.gjf文件,以及.xyz文件(支持xyz轨迹,自动读取最后一个结构)。
4. Bug修复:修复了CASPT2读取能量不正确的问题。
作者
Author:
Li03    时间: 2023-11-1 21:09
请问目前支持圆锥交叉点的搜索吗
作者
Author:
hunterpyj    时间: 2024-5-4 09:25
赞!很好用的程序。不知作者能否考虑添加像sobMECP中将优化过程几何结构输出到traj.xyz的功能,这个对于判断结构变化有时还是很有用的
作者
Author:
meng0612    时间: 2024-11-6 21:33
请问老师,目前能算S0和S1的势能面交叉吗
作者
Author:
Huschein    时间: 2024-11-6 21:47
Accelerator 发表于 2022-1-24 19:31
程序的介绍性文章投到JOSS上后居然由于代码量太少被拒了(投稿时的版本大约800行,JOSS中送审的程序中行数 ...

JOSS的人真的不懂,我本来打算不想搞太麻烦,然后直接上JOSS,JOSS直接拒稿,然后索性又鼓捣三个月补充了很多功能和测试,现在在JCTC送审
作者
Author:
Accelerator    时间: 2024-11-6 22:05
本帖最后由 Accelerator 于 2024-11-6 22:06 编辑
meng0612 发表于 2024-11-6 21:33
请问老师,目前能算S0和S1的势能面交叉吗

Github主页有案例教程,里面直接给出了2个相关的例子:
S1-T1 MECP of a TADF molecule (如果你使用TD-DFT计算,可采用书写td关键字的方法)
ORCA CASSCF: S0/S1 crossing point of CH2 (如果你使用ORCA进行CASSCF计算,可采用书写tail1和tail2关键字的方法)




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3