使用newtonx和gaussian16模拟荧光光谱_第1页
使用newtonx和gaussian16模拟荧光光谱_第2页
使用newtonx和gaussian16模拟荧光光谱_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用 NewtonX 和 Gaussian16 模拟荧光光谱模拟吸收发射光谱的方法 sob 写了不少文章,可以先参考: Gaussian 中用 TDDFT 计算激发态和吸收、荧光、磷光光谱的方法振动分辨的电子光谱的计算使用 Multiwfn 绘制构象权重平均的光谱NewtonX 产生吸收发射光谱的原理是基于预先算好分子的正则振动模随机产生一批符合谐振分布(harmonic oscillator distribution)的分子结构。然后在这些结构基础之上计算垂直跃迁。最后将所有结构的垂直跃迁加和,得到相应的光谱图。NewtonX 官网提供了 Tutorial 和 Docs,不过里面没有模拟荧光

2、的,而且他的操作比较麻烦,这里我就来做一个简明版的。前言:这是本算例中计算的分子 DMABN,此时S0-S1 跃迁振子强这个分子在极性溶剂中由于TICT 现象,弛豫激发态中的 NN 二甲基平面垂直于苯平面,产生电荷分离态,空穴电子基本不度为 0。振子强度为 0,对应于跃迁禁阻,荧光淬灭,此时,由于分子振动,打破了禁阻,从而发出荧光。模拟这种条件下产生的荧光就我所知有如下几种方案:1,使用 gausisian16 提供的 freq=FCHT,具体做法参考振动分辨的电子光谱的计算,对于本例不是很合适,因为基态和激发态几何结构相差比较大。2,基于谐振分布产生一批分子,分别计算垂直跃迁(这是本中使用的

3、方法)。3,基于激发态势能面上的绝热动力学产生一批结构,分别计算垂直跃迁。正文前提条件电脑中安装了 Gaussian09 and Gaussian16 安装方法参考 http/thread-5493-1-1.html (Gaussian09 非必要)NewtonX2.0 安装方法参考 NewtonX2.0 安装方法openbabel使用 Gaussian16 优化激发态结构并计算频率使用 gv 建立模型,使用如下制作 dmabn.gjf 文件,用 g16 计算得到 dmabn.log#p b3lyp def2svp td(singlets) opt freq nosym代码文件准备依次运行下面

4、的代码准备 NewtonX 需要的文件obabel -i g09 dmabn.log -o xyz -O dmabn.xyz#将log 文件转换为xyz 文件xyz2nx JOB_AD/basiscp dmabn.gjf Jsed -i s/freq/ ./Jsed -i s/opt/ ./J#删除模板输入文件中的opt 和freq代码产生 NewtonX 输入文件运行nxinp代码命令,NewtonX 会采用交互式引导产生输入文件,对新手非常友好,首先选 1 1. GENERATE INITIAL CONDITIONS然后按照他的提示依次进行选择,如果对选项有不明白的地方,可以对照下面产生好

5、的输入文件来完成操作,【回车跳过】表明设定该参数时可以直接回车使用默认值。的详细说明可以参考手册第运行完成后,当前下会产生一个名为 initqp_input 的文件&dat nact= 2numat = 21npoints = 2000 file_geom = geom iprog = 4file_nmodes = gaussian.loganh_f = 1temp= 300ics_= n chk_e = 1nis= 1nfs= 2#获取分子结构的方式,nact=2 意思是 Wigner distribution for the harmonic oscillator,【回车跳过】 #体系原子

6、数,【回车跳过】#一共生成多少个结构,此处需设定,个人建议设大一点,后面可以使用分割的方法只算一部分。 #分子坐标,【回车跳过】#分子振动信息的来源,选 4 表明分子振动来自 Gaussian 的输出文件#含有分子振动信息的Gaussian 输出文件名#非谐矫正系数,如何设置可以参考谈谈谐振频率校正因子#设定温度,参考谈谈温度、压力、同位素设定对量子化学计算结果产生的影响#是否计算光电子能谱,【回车跳过】#是否计算垂直跃迁,这里默认是 0,不可直接跳过,需要改成 1 #初始态,1 为基态,【回车跳过】#末态,2 为S1 态(Kasha 规则了解一下),NewtonX 会统计初态到末态,以及中间

7、所有态的垂直跃迁能,如果算紫外吸收,此处应该根据情况设置 20-50 左右。kvert = 1#能量限定规则,见下个参数,【回车跳过】de =100过】 prog= 6.5iseed = -1lvprt = 1#单位 eV,如果产生的结构能量超过正负 100eV,则认为不合理,剔除,这里设 100eV 相当于不做限制了,【回车跳#选择计算垂直跃迁的程序,6.5 对应于 Gaussian TDDFT#设定随机数,【回车跳过】#打印级别,【回车跳过】5,分割,计算,合并(如果只有一台机器学习使用,可以跳过 5.1 和 5.3 的步骤)分割上一步产生的输入文件指定产生 2000 个构象,这其实是过量

8、的,实际上几百个大概就够了。实际上一个节点算几百个 TD 任务也要很长时间,这就需要把任务分割成很多小份提到不同节点上。输入:split_initcond.pl代码命令,它会问你需要把任务分解成多少份,这里输入 100。这样每个任务只需要算 2000/100=20 个结构的 TD 了。然后它会问是否需要提交到集群计算,这里需要准备一个作业调度系统的模板,然而各个作业调度系统设定不一样,这里就不单独对这一步说明,如果没有模板,选否即可。此时当前文件夹下会产生一个名为 INITIAL_CONDITIONS 的文件夹,进入后会发现里面有 I1 I2 I3 I4 . I100 这样的子文件夹。调用 g

9、aussian 运算分别进入每个文件夹,把initcond.pl initcond.log代码命令提交到作业调度系统上。如果某个文件夹下的任务顺利运行完毕,会自动产生 final_output.1.2 文件,否则,查看 initcond.log 以及 DEBUG 文件夹中的.error 中的信息判断,如果还找不到有用的错误信息,则需要把打印级别 lvprt 设为 2。合并部分文件夹中的任务运行完毕后,就可以运行merge_initcond.pl利用这个文代码合并,它会问你需要合并几个文件夹,假设这里的 I1 到I25夹中的任务都运行完毕(500 个结构),就输入 25。然后会产生一个 I_me

10、rged 文件夹。其中有个 final_output.1.2 的文件,其中记录了每个结构的坐标,跃迁能,振子强度等信息,下一步件产生光谱。产生光谱在I_merged 文件夹下(如果上一步没有执行分割合并的步骤就在当前含有 final_output.1.2 文件的文件夹下)运行nxinp代码命令,进入交互式问答环节,首先选 5, (5. GENERATE TRAJECTORIES AND SPECTRUM)然后按照它的提示依次进行选择。会产生 emission-rate.dat 的一个文件,这个文件有 4 列数据,其中第一列是垂直跃迁能 eV,第二列是垂直跃迁能 nm,第三列是吸收发射的强度,这

11、里这些数据导入 excel 表格中,用第二列和第三列作图。得到如下的结果:激发态的其他信息,则需要自己手动修改源代码,前提是用户对 perl 语言和后记如何添加自己所需的属性?默认的 finaloutput 文件中只给出了能量,振子强度等基本信息,如果用户需要Fortran 语言有一定的了解。需要编辑 3 个文件,首先是:bin/run_g09_initcond.pl该调用 gaussian,gaussian 运行完后从 log 文件中信息,并写入临时文件中,比如 oos.2 文件记录了第一激发态的振子强度。epot.3 文件记录了第2 激发态的能量。如果需要添加自己需要的信息,在该中添加从

12、log 文件中抓取其他信息的语句,比如把跃迁偶极抓取并写入 tmd.n 文件中(n 代表第 n-1 激发态),把强大的分析,比如将空穴电子写入 overlap.n 文件中。激发态偶极写入 dip.n 文件中。或者是调用 Multwfn 进行然后是:source/initcond/writeall.f90该程序 上一步中产生的各种临时文件中的信息。然后整合写入 readall.out 文件中。修改该程序后,运行make 编译后,从EXE_initcond 文件夹中将可执行文件拷贝到 bin 下最后是:bin/initcond.pl 文件该程序整合上面两个程序,如果上面两个做了修改,initcon

13、d.pl 中也需相应的改动,比如把 tdm.n 拷贝成 tdm 供writeall 程序。后记 2如何添加自己所需的属性?(简单版)输入 nxinp 后,有一步会问你是否 chk_e,如果这里选 1,那么就会调用 gaussian 计算 tddft这里不要选 1,而是选 0,那么之后运行 initcond.pl 时它不会调用 gaussian,而仅仅产生结构。几秒内就可以完成,产生 finaloutput 文件,该文件中包含所有的结构信息。那么拿到这些结构,用这些结构产生 Gaussian 输入文件,或者别的量化的输入文件,就可以了。而不需要象后记 1 中的改原文件那么麻烦。下面是具体步骤:首

14、先把 finaloutput 文件转换成 xyz 轨迹:1. echo 0 n 100 | finaloutput2dynmld.pl#在有finaloutput 文件的地方运行,把finaloutput 文件转换成dyn.mld 文件,dyn.mld 文件就是xyz 格式的轨迹文件,也没有gjf 后缀。代码然后把 xyz 轨迹,转换成 gaussian 的 gjf 输入文件1. obabel -i xyz dyn.mld -o gjf -O osc #该命令会产生以osc 开头的后面跟数字的一系列文件,格式为gjf,不过没有代码如果想转成xyz 文件,把-o gjf 改成-o xyz 就行了,修改文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论