计算化学公社

标题: 基态为开壳层三重态,如何计算更高的三重激发态 [打印本页]

作者
Author:
cdw32156    时间: 2024-4-19 18:03
标题: 基态为开壳层三重态,如何计算更高的三重激发态
我想对一个基态为开壳层三重态的三角烯分子,垂直激发到更高的三重激发态,计算吸收光谱,请问是这样计算吗:
第一步:opt ub3lyp/6-311+g(d,p) nosymm pop=full iop(9/40=4)
0 3
第二步:采取上一步优化好的结构 ub3lyp/6-311+g(d,p) td(Nstates=12,root=1) nosymm pop=full iop(9/40=4)
0 3


作者
Author:
wzkchem5    时间: 2024-4-19 19:15
算是可以算,但是这样算会有自旋污染。有条件的话尽量用没有自旋污染的方法算开壳层分子的激发态,例如X-TDDFT、DFT/ROCIS、NEVPT2
作者
Author:
zjxitcc    时间: 2024-4-19 20:30
本帖最后由 zjxitcc 于 2024-4-19 20:34 编辑

建议使用GAMESS的MRSF-TDDFT,从三重态RODFT出发计算T0, T1, T2, ... (几乎自旋纯态,肉眼不可察觉自旋污染)
或使用Q-CHEM的SA-SF-DFT,从五重态RODFT出发计算T0, T1, T2, ... (严格自旋纯态)

这里以三重态O2为例(其他例子也能算,但为阅读简便,这里用O2),先用Gaussian做一个三重态RODFT计算,gjf内容如下
  1. %chk=O2.chk
  2. %mem=8GB
  3. %nprocshared=4
  4. #p ROBHandHLYP/def2TZVP nosymm int=nobasistransform

  5. title

  6. 0 3
  7. O   0.0   0.0   0.0
  8. O   0.0   0.0   1.1616
复制代码
BHandHLYP是所有SF计算最最常用的泛函。完成后依次执行
  1. formchk O2.chk O2.fch
  2. fch2inp O2.fch -mrsf
复制代码
这会产生O2.inp文件,其中坐标、基组数据、MRSF-TDDFT关键词全都写好了,默认是算S1~S5这5个单重态(注意基态称为T0)。但你想算Tn,还想算吸收光谱,姑且认为是30个三重态,我们打开O2.inp文件,把NSTATE=5修改为NSTATE=30 MULT=3。提交GAMESS任务
  1. $HOME/software/gamess/rungms O2.inp 00 8 >O2.gms 2>&1
复制代码
几秒结束。打开O2.gms文件,发现SCF在3~4圈收敛(因为我们传的是Gaussian中收敛的轨道),立即进入MRSF-TDDFT计算步骤,结果为
  1. TRANSITION        EXCITATION            TRANSITION DIPOLE, A.U.     OSCILLATOR
  2.                        EV              X       Y       Z       DIP    STRENGTH

  3.   1  ->  2           6.453          0.0000  0.0000 -0.0000   0.0000    0.0000
  4.   1  ->  3           6.453         -0.0000 -0.0000  0.0000   0.0000    0.0000
  5.   1  ->  4           6.569          0.0000 -0.0000  0.0000   0.0000    0.0000
  6.   1  ->  5           7.808         -0.0000 -0.0000 -0.0000   0.0000    0.0000
  7.   1  ->  6           7.808          0.0000 -0.0000 -0.0000   0.0000    0.0000
  8.   1  ->  7           9.923          0.0000  0.0000 -1.4795   1.4795    0.5321
  9.   1  ->  8          11.190         -0.0444 -0.0000 -0.0000   0.0444    0.0005
  10.   1  ->  9          11.190          0.0000 -0.0444 -0.0000   0.0444    0.0005
  11.   1  -> 10          14.493          0.0000 -0.0000 -0.0000   0.0000    0.0000
  12.   1  -> 11          14.493          0.0000  0.0000 -0.0000   0.0000    0.0000
  13. ...
复制代码
这里的序号1就是T0,T0->Tn的跃迁偶极和振子强度都有。注意不要把输出文件上面0 NEGATIVE ROOT(S) FOUND处的一堆激发能当做你要的数据,那里不是真正的激发能。

若未安装GAMESS,可阅读《GAMESS简易编译教程》。fch2inpMOKIT中的一个小程序。

想用Q-CHEM的SA-SF-DFT方法的简便技巧:用Gaussian做五重态RODFT计算,然后运行fch2qchem O2.fch -sasf。


作者
Author:
天天121    时间: 2024-4-22 21:30
zjxitcc 发表于 2024-4-19 20:30
建议使用GAMESS的MRSF-TDDFT,从三重态RODFT出发计算T0, T1, T2, ... (几乎自旋纯态,肉眼不可察觉自旋污 ...

GAMESS做MRSF-TDDFT能用Multiwfn对后续激发态特性作图吗
作者
Author:
zjxitcc    时间: 2024-4-22 21:32
天天121 发表于 2024-4-22 21:30
GAMESS做MRSF-TDDFT能用Multiwfn对后续激发态特性作图吗

不知道“对后续激发态特性作图”具体指什么。但是,有了激发能和振子强度,自己在Origin里作图也是一样的。
作者
Author:
天天121    时间: 2024-4-22 22:05
zjxitcc 发表于 2024-4-22 21:32
不知道“对后续激发态特性作图”具体指什么。但是,有了激发能和振子强度,自己在Origin里作图也是一样的 ...

老师您好,我指的是做空穴电子分析、等等
作者
Author:
zjxitcc    时间: 2024-4-22 22:19
天天121 发表于 2024-4-22 22:05
老师您好,我指的是做空穴电子分析、等等

空穴电子分析不支持
作者
Author:
猫头鹰    时间: 2024-5-8 21:35
zjxitcc 发表于 2024-4-19 20:30
建议使用GAMESS的MRSF-TDDFT,从三重态RODFT出发计算T0, T1, T2, ... (几乎自旋纯态,肉眼不可察觉自旋污 ...

老师好,在这种情况下用MOKIT转化之后会优化-收敛,我想得到的是在该结构下的垂直激发能,那么有没有可能略过优化的过程呢
作者
Author:
zjxitcc    时间: 2024-5-8 21:45
猫头鹰 发表于 2024-5-8 21:35
老师好,在这种情况下用MOKIT转化之后会优化-收敛,我想得到的是在该结构下的垂直激发能,那么有没有可能 ...

fch2inp O2.fch -mrsf产生的是inp文件里关键词是RUNTYP=ENERGY,这是单点计算,没有梯度计算、没有结构优化,何来“优化-收敛”之说呢?
作者
Author:
猫头鹰    时间: 2024-5-8 22:12
zjxitcc 发表于 2024-5-8 21:45
fch2inp O2.fch -mrsf产生的是inp文件里关键词是RUNTYP=ENERGY,这是单点计算,没有梯度计算、没有结构优 ...

那"SCF在3~4圈收敛"这个指的是什么呢?除此之外还有个问题是在-mrsf之后,在inp中没有出现基组信息($BASIS),这是为什么呢?(inp可以正常结束,能得到垂直激发能,和老师您图片中的数据一致)
作者
Author:
zjxitcc    时间: 2024-5-8 22:22
猫头鹰 发表于 2024-5-8 22:12
那"SCF在3~4圈收敛"这个指的是什么呢?除此之外还有个问题是在-mrsf之后,在inp中没有出现基组信息($BAS ...

指的是SCF迭代,也称作轨道优化。一个RODFT的单点计算,是要做SCF迭代的,不是凭空产生一个SCF解。

基组数据已经写在inp文件中了,跟坐标写在一块儿,用户不需要自己手写、修改或添加,这就是方便之处(之一)。
作者
Author:
猫头鹰    时间: 2024-5-8 22:28
zjxitcc 发表于 2024-5-8 22:22
指的是SCF迭代,也称作轨道优化。一个RODFT的单点计算,是要做SCF迭代的,不是凭空产生一个SCF解。

基 ...

恍然大悟,多谢老师指导。
作者
Author:
猫头鹰    时间: 2024-5-9 10:33
zjxitcc 发表于 2024-4-19 20:30
建议使用GAMESS的MRSF-TDDFT,从三重态RODFT出发计算T0, T1, T2, ... (几乎自旋纯态,肉眼不可察觉自旋污 ...

老师好,在O2成功之后,我在用自己的体系(分子有175个原子)算时,在MRSF部分出现了这个问题,这个怎么解决呢?【上传文件和图片都失败了,只能粘贴文字了】

   ----------------------------------------------
   DAVIDSON ALGORITHM FOR TRIPLET RESPONSE STATES
   ----------------------------------------------

ddikick.x: application process 4 quit unexpectedly.
ddikick.x: Fatal error detected.
The error is most likely to be in the application, so check for
input errors, disk space, memory needs, application bugs, etc.
ddikick.x will now clean up all processes, and exit...
DDI Process 42: terminated upon request.
......


ddikick.x: Sending kill signal to DDI processes.
ddikick.x: Execution terminated due to error(s).



作者
Author:
zjxitcc    时间: 2024-5-9 11:01
猫头鹰 发表于 2024-5-9 10:33
老师好,在O2成功之后,我在用自己的体系(分子有175个原子)算时,在MRSF部分出现了这个问题,这个怎么 ...

检查一下输入文件内存,可能需要加大
作者
Author:
猫头鹰    时间: 2024-5-9 11:10
zjxitcc 发表于 2024-5-9 11:01
检查一下输入文件内存,可能需要加大

实验室的服务器是126G的内存。有两个问题:
1、在输入文件中已经修改MWORDS,是这个值需要继续加大吗
$CONTRL SCFTYP=ROHF DFTTYP=B3LYP TDDFT=MRSF
        RUNTYP=ENERGY ICHARG=0 MULT=3 NOSYM=1 ICUT=11 $END
$SYSTEM MWORDS=3000 $END
$SCF DIRSCF=.T. $END
$GUESS GUESS=MOREAD NORB=2222 $END
$DFT NRAD0=99 NLEB0=590 NRAD=99 NLEB=590 $END
$TDDFT NSTATE=5 MULT=3 $END
$DATA
GAMESS inp file produced by MOKIT,na=335,nb=333,nif=2222,nbf=2222
2、计算时收敛了5个小时然后进入MRSF部分出错,再次计算能跳过这个过程吗?比如我用.dat文件改成inp文件之后计算什么的。


作者
Author:
zjxitcc    时间: 2024-5-9 13:23
本帖最后由 zjxitcc 于 2024-5-9 22:40 编辑
猫头鹰 发表于 2024-5-9 11:10
实验室的服务器是126G的内存。有两个问题:
1、在输入文件中已经修改MWORDS, ...

(1)继续加大内存。
(2)不建议使用B3LYP,建议使用SF这类方法最常用泛函BHandHLYP。这句话的意思是你在Gaussian和GAMESS中都要用BHandHLYP,随后fch2inp -mrsf会自动在inp文件里写好这个泛函,不用改。你不能在Gaussian中用B3LYP,然后在GAMESS中用BHandHLYP,这样传过去的轨道效果很差。
(3)若体系为中性,基组强烈不建议使用6-311+g(d,p),建议改用def2TZVP。由于体系较大,可以重要的原子用def2TZVP,不重要的原子用6-31G(d,p)。自定义基组在gjf文件中很容易操作。基组设置要合理,不要偷懒或乱设置。
(4)注意监测计算进度,比如RODFT几圈收敛,时间是花在SCF上,还是花在Davidson迭代对角化上,要有更为明确的概念,而非“计算时收敛了5个小时然后进入MRSF部分出错”。模糊用语,无法对症下药,没有人能帮忙。
作者
Author:
猫头鹰    时间: 2024-5-9 22:32
本帖最后由 猫头鹰 于 2024-5-9 22:48 编辑

zjxitcc 发表于 2024-5-9 13:23
(1)继续加大内存。
(2)不建议使用B3LYP,建议使用SF这类方法最常用泛函BHandHLYP。
(3)若体系为 ...


在了解完MWORDS的涵义之后,我用了44个核,MWORDS=3000,然后我用exetyp=check之后是通过,然而在计算时在同一位置又出错了。

另外,我用BHANDHLYP【基组是混合基组,ROBHANDHLYP/GEN......】用gaussian算完之后转化,计算时出错,以下是inp文件和log文件。






作者
Author:
zjxitcc    时间: 2024-5-9 22:41
猫头鹰 发表于 2024-5-9 22:32
在了解完MWORDS的涵义之后,我用了44个核,MWORDS=3000,然后我用exetyp=check之后是通过,然而在计算时 ...

看不出来。至少要有fch文件、inp文件或gms文件,最起码也要有报错信息的截图(不要复制粘贴文字,空格没对齐,会乱)
作者
Author:
猫头鹰    时间: 2024-5-9 22:51
zjxitcc 发表于 2024-5-9 22:41
看不出来。至少要有fch文件、inp文件或gms文件,最起码也要有报错信息的截图(不要复制粘贴文字,空格没 ...

抱歉,老师,在原帖中已修改为图片。
作者
Author:
zjxitcc    时间: 2024-5-9 22:53
本帖最后由 zjxitcc 于 2024-5-9 22:55 编辑
猫头鹰 发表于 2024-5-9 22:51
抱歉,老师,在原帖中已修改为图片。

fch2inp a.fch -mrsf产生的inp文件中写的是DFTTYP=BHHLYP,这就是正确合理的,用起来也很方便,为啥你要把它手动改成错的DFTTYP=BHANDHLYP我不理解。明明是很方便的运行一下,偏要给它改成报错的

“建议使用SF这类方法最常用泛函BHandHLYP”这句话的意思是你在Gaussian的gjf文件中要用BHandHLYP泛函。而GAMESS的inp文件中所有信息都是自动写好的。
作者
Author:
猫头鹰    时间: 2024-5-9 22:58
zjxitcc 发表于 2024-5-9 22:53
fch2inp a.fch -mrsf产生的inp文件中写的是DFTTYP=BHHLYP,这就是正确合理的,用起来也很方便,为啥你要 ...

我gaussian用B3LYP的时候,转化为inp后,显示的是BHHLYP,以为这个是需要自己改成B3LYP。按mokit自动改的话,那用B3LYP的时候在inp文件中也是BHHLYP吗?
作者
Author:
zjxitcc    时间: 2024-5-9 23:07
本帖最后由 zjxitcc 于 2024-5-9 23:10 编辑
猫头鹰 发表于 2024-5-9 22:58
我gaussian用B3LYP的时候,转化为inp后,显示的是BHHLYP,以为这个是需要自己改成B3LYP。按mokit自动改的 ...

fch2inp a.inp -mrsf会在inp文件里指定用BHHLYP,不管gjf和fch文件里是啥泛函。这里需要第三次强调,SF计算最常用的泛函是BHandHLYP(这是gjf文件中的写法),不建议用别的。如果你想用别的泛函(不推荐),需要自己修改inp文件里的泛函名称。
作者
Author:
猫头鹰    时间: 2024-5-9 23:12
zjxitcc 发表于 2024-5-9 23:07
fch2inp a.inp -mrsf会在inp文件里指定用BHHLYP,不管gjf和fch文件里是啥泛函。这里需要第三次强调,SF计 ...

明白了,多谢老师指点,比较傻,不知道BHANDHLYPH和BHHLYP是一回事
作者
Author:
zjxitcc    时间: 2024-5-9 23:16
猫头鹰 发表于 2024-5-9 23:12
明白了,多谢老师指点,比较傻,不知道BHANDHLYPH和BHHLYP是一回事

假设你一直用的是BHandHLYP,且GAMESS SCF在5圈内收敛,随后在MRSF对角化步骤报错,那你可以尝试在$SYSTEM中添加MEMDDI=2000。
作者
Author:
猫头鹰    时间: 2024-5-12 21:56
zjxitcc 发表于 2024-5-9 23:16
假设你一直用的是BHandHLYP,且GAMESS SCF在5圈内收敛,随后在MRSF对角化步骤报错,那你可以尝试在$SYSTE ...

老师好,换了一个小体系之后,这个问题解决了。想问一下如何得到最低能量的三重态激发态的几何构型吗呢?
作者
Author:
zjxitcc    时间: 2024-5-12 22:20
猫头鹰 发表于 2024-5-12 21:56
老师好,换了一个小体系之后,这个问题解决了。想问一下如何得到最低能量的三重态激发态的几何构型吗呢?

看不懂。能否换用更严谨的语言表示一下。我举个例子:假设有个体系基态是三重态,用MRSF-TDDFT算出来基态也是三重态,它当然称为T0,我现在想得到T1态的极小点结构。
作者
Author:
猫头鹰    时间: 2024-5-12 22:25
zjxitcc 发表于 2024-5-12 22:20
看不懂。能否换用更严谨的语言表示一下。我举个例子:假设有个体系基态是三重态,用MRSF-TDDFT算出来基态 ...

老师您说的正是我想表达的意思。
作者
Author:
zjxitcc    时间: 2024-5-12 22:53
本帖最后由 zjxitcc 于 2024-5-13 10:34 编辑
猫头鹰 发表于 2024-5-12 22:25
老师您说的正是我想表达的意思。

把inp文件中这几处改成如下样式
RUNTYP=OPTIMIZE
$TDDFT NSTATE=5 MULT=3 IROOT=2 $END
清理下上次计算的残留文件。把这个inp文件提交计算。优化过程中,往往会发生态顺序的变化,如果你的STATE 2变成了其他态,需要杀掉进程,提取最后一帧结构,重新做ROBHandHLYP计算、生成inp文件做结构优化。

作者
Author:
猫头鹰    时间: 2024-5-12 23:06
zjxitcc 发表于 2024-5-12 22:53
把inp文件中这几处改成如下样式
RUNTYP=OPTIMIZE
$TDDFT NSTATE=5 MULT=3 IROOT=2 $END

谢谢老师的耐心指导,我尝试一下
作者
Author:
猫头鹰    时间: 2024-5-16 16:10
zjxitcc 发表于 2024-5-12 22:53
把inp文件中这几处改成如下样式
RUNTYP=OPTIMIZE
$TDDFT NSTATE=5 MULT=3 IROOT=2 $END

老师好,想请教个问题:通过GAMESS的输出文件可以看激发态(T1)的电子分布以及轨道贡献吗
作者
Author:
天天121    时间: 2024-5-17 20:13
zjxitcc 发表于 2024-5-12 22:53
把inp文件中这几处改成如下样式
RUNTYP=OPTIMIZE
$TDDFT NSTATE=5 MULT=3 IROOT=2 $END

老师这个MRSF-TDDFT能做NTO吗
作者
Author:
zxmre20    时间: 2024-11-28 06:28
zjxitcc 发表于 2024-4-19 13:30
建议使用GAMESS的MRSF-TDDFT,从三重态RODFT出发计算T0, T1, T2, ... (几乎自旋纯态,肉眼不可察觉自旋污 ...

老师您好,我是在macos上使用homebrew编译的mokit, V1.2.5-with-option 版本
在运行您的例子时(三重态O2)第二步
$ fch2inp O2.fch -mrsf 便出现错误:
ERROR in subroutine fch2inp: wrong command line arguments!
Example 1 (R(O)HF, UHF, CAS): fch2inp a.fch
Example 2 (GVB)             : fch2inp a.fch -gvb [npair]
Example 3 (ROGVB)           : fch2inp a.fch -gvb [npair] -open [nopen]

请问这是版本导致的吗? 谢谢老师
作者
Author:
zjxitcc    时间: 2024-11-28 11:07
本帖最后由 zjxitcc 于 2024-11-28 11:09 编辑
zxmre20 发表于 2024-11-28 06:28
老师您好,我是在macos上使用homebrew编译的mokit, V1.2.5-with-option 版本
在运行您的例子时(三重态 ...

版本过低,请至少使用MOKIT-v1.2.6rc28。当然,用现在最新的v1.2.6 Release版更好。GitLab上可联网安装MOKIT,下载Linux预编译版MOKIT,下载MOKIT的Windows可执行程序等等多种选择,任选其一。




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