Dalton使用——磷光及其相关过程
关于Dalton的使用,出现问题建议多查看手册和官方论坛:
http://forum.daltonprogram.org/
注册验证:它用的是一些计算化学方法填空的方式进行验证的。coupled后面cluster;configuration后面填interaction;Møller后面填plesset。
关于荧光和磷光的计算,beefly老师在计算化学公社上有一个详细的教程:
http://bbs.keinsci.com/thread-2455-1-1.html
大家可以参考。本文展示笔者所做的一个示例以及相关的一些讨论。
文件的输入,一般使用.mol和.dal两个文件,以下分别说明如何设置这两个文件。
一、.mol文件——坐标文件
1. 输入原子坐标及使用的基组,使用的赝势基组须在Dalton手册中仔细对照,切不可想当然的输入;
2. Dalton的默认长度单位是bohr,我们使用的是一个小脚本将高斯输出坐标转换为Dalton坐标,也可以使用openbabel转换。
以下为示例:
ATOMBASIS
Using the mixed basis
Name
Atomtypes=5 Nosymmetry Charge=0
Charge=78 Atoms=1 Basis=ecp-sdd-DZ ECP=ecp-sdd-DZ
Pt1 1.404217 1.558459 0.403980
Charge=6 Atoms=27 Basis=6-31G**
C1 -8.810181 -7.279769 -2.296690
C2 -6.444497 -8.443568 -2.704491
C3 -4.201458 -7.289719 -2.010537
C4 -4.342966 -4.899561 -0.885844
C5 -6.715953 -3.681625 -0.511555
C6 -8.959580 -4.905561 -1.221589
...
限于篇幅,以上输入文件中未将所有坐标列出。分子的结构如下:
二、.dal文件——输入执行命令
**DALTON INPUT
.RUN RESPONS
我们先介绍一下隐式溶剂环境模型PCM模型的输入:
给原子定义一个合适的空腔半径:在不知道准确值的时候,直接使用如下命令
*PCM
.SOLVNT
METHYLCL
*PCMCAV
.NEQRSP
计算完后在.out文件中搜SPHERES,就可以看到Dalton的自定义空腔半径。
我们计算的分子一般比较大,必须自定义空腔半径,否则计算无法继续下去:
*PCM
.SOLVNT
METHYLCL
.ICESPH /给特定的非H原子自定义半径
2
.NESFP /确定非H原子的数目
3
.NEQRSP /溶剂对响应计算的非平衡贡献
*PCMCAV
.INA /非H原子的.mol的顺序排列
1 /在.mol文件中的第一个原子
2
7 /在.mol文件中的第七个原子
.RIN
1.7 /第一个原子的自定义半径
1.7
1.5
.AREATS /H原子的空腔半径为0.3
0.3
以下分别介绍与磷光有关的三个过程的输入文件写法:
1. 磷光跃迁偶极矩计算
**WAVE FUNCTIONS
.DFT
B3LYP /在二次响应计算中目前只能使用B3LYP,CAM-B3LYP
*SCF INPUT
.MAX DIIS ITERATIONS
300
**RESPONSE
*QUADRATIC
.ECPHOS /使用赝势
.APROP /计算偶极矩A,即偶极矩算符
XDIPLEN
.APROP
YDIPLEN
.APROP
ZDIPLEN
.BPROP /即有效电荷自旋轨道算符
X1SPNSCA
.BPROP
Y1SPNSCA
.BPROP
Z1SPNSCA
.ISPABC
0
1 1
.ROOTS /计算的态的数目
1
**END OF INPUT
对第17行的关键词X1SPNSCA,我猜测正是这个关键词使用有效核电荷势,只计算SOC单电子积分,这个和beefly老师的对照使用,检验结果是一样的,但是beefly老师的关键词计算量大。我这个不用计算双电子积分(这个双电子积分无法使用赝势)。
2. T1和S0的旋轨耦合计算
**WAVE FUNCTIONS
.DFT
B3LYP
*SCF INPUT
.MAX DIIS ITERATIONS
300
**RESPONS
.TRPFLG
*LINEAR /线性响应
.SINGLE RESIDUE /单残是激发态与基态间的计算
.SPIN-O
.PROPRT
X1SPNSCA
.PROPRT
Y1SPNSCA
.PROPRT
Z1SPNSCA
.ROOTS
1
**END OF INPUT
3. Sn和Tn的旋轨耦合计算
**WAVE FUNCTIONS
.DFT
B3LYP /在二次响应计算中目前只能使用B3LYP,CAM-B3LYP
*SCF
INPUT
.MAX DIIS ITERATIONS
300
**RESPONS
.TRPFLG
*QUADRATIC /二次响应
.DOUBLE
RESIUDE /双残是激发态之间的计算
.PROPRT
X1SPNSCA
.PROPRT
Y1SPNSCA
.PROPRT
Z1SPNSCA
.ISPABC
1 0 1
.ROOTS
10
**END OF INPUT
磷光输出结果
Length gauge / effective charge spin-orbit integrals:
Partial rates (ECSO): X-polarization 0.16950 Transition moment : 1.302E-04
Length gauge / effective charge spin-orbit integrals:
Partial rates (ECSO): Y-polarization 1.91459E-02 Transition moment : 4.375E-05
Length gauge / effective charge spin-orbit integrals:
Partial rates (ECSO): Z-polarization 2.63235E-02 Transition moment : 5.130E-05
Phosphorescence - length gauge / effective charge spin-orbit integrals:
Oscillator strength (/2PI) (ECSO) 1.769113E-10
Dipole strength [a.u.] (ECSO) 2.149131E-08
Dipole strength E-40 [esu**2 cm**2] 1.388441E-03
Total transition rate (ECSO) 7.165600E-02 s-1
Total phosphorescence lifetime (ECSO) 1.395557E+01 s
上面的结果简单清晰明了,一个问题是beefly等认为打印的磷光辐射寿命需要除以3;振子强度需要乘2π。这一点可以参考计算化学公社上beefly老师的帖子。Dalton论坛上也有一定的讨论,大家可以自己把握。
- 【MySQL】主从GTID复制修复
- hdu---(1800)Flying to the Mars(trie树)
- 解决Tomcat数据连接池无法释放
- hdu----(1075)What Are You Talking About(trie之查找)
- hdu--(1247)Hat’s Words(trie树)
- HDU----(4519)郑厂长系列故事——体检
- 张戈博客成功启用移动端主题:Mobile Pack
- Oracle数据库性能障碍分析利器:SYSTEMSTATE DUMP介绍
- hdu ---(4517)小小明系列故事——游戏的烦恼(Dp)
- HTTP加速器varnish安装小记(1)
- 手把手教你估算深度神经网络的最优学习率(附代码&教程)
- 批处理判断第一个硬盘的最后一个分区并进入
- MVCC原理探究及MySQL源码实现分析
- 关于热点数据导出与加载的影响,多的是你不知道的事
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- MySQL 的全文索引.
- Swift Reusable开源库使用
- 面试官:聊聊你读过的开源代码中用到的设计模式
- Swift Moya的简单使用
- 信用风险建模 in Python 系列 5 - 阈值模型概述
- 理解 Kubernetes 的亲和性调度
- CppSQLite - C++ Wrapper for SQLite
- 在.NET Core中使用MongoDB明细教程(3):Skip, Sort, Limit, Projections
- wsl 2 unbuntu 部署 asp.net core 使用 nginx 做反向代理,调试文件上传失败
- .NET Core + K8S + Apollo 玩转配置中心
- 休眠与唤醒机制
- Guava - 布隆过滤器的使用
- [浅析] 特定场景下代替优化 if-else 的方案 (二)
- 面试官:mysql如何重置自增id
- 如何在kubernete集群上部署springboot应用