量子化学软件BDF探路
基本输入结构
#标记注释行- 简洁输入:
1 2 3 4 5 6 7 8 9
#!anywords # 首行为标记行,shebang语法,不能出现除'.'以外的特殊符号 B3lyp/3-21G # 关键词块,可以多行 iroot=4 # 空行表示关键词输入结束 Geometry # 输入原子坐标,单位 Angstrom O 0.00000 0.00000 0.36827 H 0.00000 -0.78398 -0.18468 H 0.00000 0.78398 -0.18468 End Geometry
- 高级输入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$bdfmodule1 # $标记模块输入 # Comment Keyword1 value # inline comment Keyword2 value ... $end # $end结束输入 %cp $BDFTASK.scforb $BDF_TMPDIR/$BDFTASK.inporb # %标识可以执行bash命令 $bdfmodule2 Keyword1 value Keyword2 value ... $end
模块列表:
| 模块名 | 功能 |
|---|---|
| AUTOFRAG | 分子自动分片,驱动iOI-SCF和FLMO计算 |
| COMPASS | 分子结构、基组及对称性预处理 |
| XUANYUAN | 原子轨道积分 |
| BDFOPT | 分子几何结构优化 |
| SCF | Hartree-Fock及Kohn-Sham自洽场 |
| TDDFT | 含时密度泛函计算 |
| RESP | Hartree-Fock、Kohn-Sham及TDDFT梯度 |
| GRAD | Hartree-Fock梯度 |
| LOCALMO | 分子轨道定域化 |
| NMR | 核磁屏蔽常数计算 |
| ELECOUP | 电子迁移积分,能量迁移积分,定域化激发态 |
| MP2 | Møller-Plesset二级微扰理论 |
模块
COMPASS
COMPASS是初始化与对称性处理模块。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$COMPASS
Title
C6H6
Geometry
C -0.43575114 0.22072984 -4.00000000
C 0.95940885 0.22072984 -4.00000000
...
End Geometry
Basis
STO-3G
Skeleton
Group
C(1)
$end
主要结构:
- Geometry:几何结构
1 2 3 4 5 6
Geometry H 0.0 0.0 -1.1 C 0.0 0.0 0.0 N 0.0 0.0 1.0 Xe 3.0 0.0 0.0 End Geometry # 需要End Geometry
- Basis:基组定义
1 2
Basis cc-pVDZ
- Basis-block:混合基组
1 2 3 4 5
Basis-block 3-21g # 首行默认基组 C,N = 6-31g #元素定义 Xe = cc-pvdz-pp End Basis #额外需要End Basis
- RI-J/RI-K/RI-C:密度拟合技术的辅助基组
1 2 3 4 5 6
$Compass Basis DEF2-SVP RI-J DEF2-SVP $End
- Basis-block:混合基组
以下为非必须输入:
- MPEC+COSX:开启多级展开库伦势加速计算。
bool - title:计算备注;
1 2
Title test
- Group:指定点群。可以省略,此时由BDF自动判断对称性
1 2
Group D(2h) # 指定使用D2h计算
- nosymm:关闭对称性。与指定C1群不同,一旦使用了这个参数,分子坐标不会旋转。默认情况下,分子坐标会被旋转到标准取向(Standard orientation)。
bool
- nosymm:关闭对称性。与指定C1群不同,一旦使用了这个参数,分子坐标不会旋转。默认情况下,分子坐标会被旋转到标准取向(Standard orientation)。
- Unit:默认Angstrom,可改为Bohr
- Skeleton:对称化处理方法。对于非post-HF计算默认Skeleton(可省略);否则需要切换至Saorb。
bool
XUANYUAN
XUANYUAN承担单、双电子积分计算
1
2
$xuanyuan
$end
- Direct:使用积分直接的SCF计算。
boolDefault RS:指定Range-Separated泛函如CAM-B3LYP等的$\omega$系数。如果DFT使用了Range-Speration泛函,必须加入此参数。
标准范围分离泛函 建议$\omega$值 CAM-B3LYP 0.33 LC-BLYP 0.33 wB97 0.40 wB97X 0.30 - Heff:指定标量相对论哈密顿
- 0:非相对论,包括使用ECP的情况。
Default - 3、4:sf-X2C(二者计算流程不同,一般用3即可)
1 2 3 4
$xuanyuan Heff 3 $end
- 0:非相对论,包括使用ECP的情况。
SCF
SCF模块是BDF的核心计算模块之一,进行Hartree-Fock和DFT计算。
1
2
3
4
5
6
7
8
9
10
11
$scf
RKS
Charge
0
SpinMulti
1
DFT
GB3LYP
D3
Molden
$end
主要结构:
- 计算方法
- RHF / UHF / ROHF:HF计算必须三选一
bool - RKS / UKS / ROKS:DFT计算必须三选一
bool
- RHF / UHF / ROHF:HF计算必须三选一
- 波函数相关
- Charge:电荷。
Default=0 - Spinmulti:自旋多重度。
Default=1,Default=2 if odd electron - Guess:atom/Hcore/Huckel/Readmo,一般使用默认atom即可,Readmo时从以下位置搜索。
Default=atom- $BDF_TMPDIR/$BDFTASK.inporb
- $BDF_TMPDIR/inporb
- $BDF_WORKDIR/$BDFTASK.scforb
如果失败,改回atom。读取到的轨道会先进行Lowdin正交归一化,然后才用于SCF迭代。
- Charge:电荷。
- 收敛性
- Maxiter:最大迭代次数。
Default=100 - Vshift:能级移动值,可选任意非负实数。通常取0.7。
Default=0 - Damp:一般只有在SCF迭代能量非单调降低的时候,才需要设置Damp。通常取0.7。
Default=0 - ThrEne:能量收敛阈值。
Default=1.d-8 - ThrDen:密度收敛阈值。
Default=5.d-6当且仅当以下任何一条满足时,程序认为SCF收敛:(1)能量变化小于ThrEne,且RMS密度矩阵元变化小于ThrDen;(2)能量变化小于ThrEne的0.1倍,且RMS密度矩阵元变化小于ThrDen的1.5倍;(3)最大密度矩阵元变化小于ThrDen。
- NoDiis:指定不使用DIIS家族的收敛加速算法加速 SCF 收敛。
bool- Diis:传统DIIS算法。
booleanDefault
- Diis:传统DIIS算法。
- SMH:指定使用Semiempirical Model Hamiltonian(SMH)方法加速SCF收敛。
boolDefault- NoSMH:指定不使用SMH方法加速SCF收敛。对于满足以下情况之一的计算,不支持使用SMH:(1)ROHF/ROKS计算;(2)用户指定了Smeartemp时;(3)基组存在线性相关时。除这些情况外,SMH一律默认开启。
bool
- NoSMH:指定不使用SMH方法加速SCF收敛。对于满足以下情况之一的计算,不支持使用SMH:(1)ROHF/ROKS计算;(2)用户指定了Smeartemp时;(3)基组存在线性相关时。除这些情况外,SMH一律默认开启。
- Maxiter:最大迭代次数。
- 打印
- Molden:输出molden格式的波函数文件。
bool - Pyscforb:输出Pyscf格式的波函数文件。
bool
- Molden:输出molden格式的波函数文件。
- 溶剂
- solvent
- dielectric:定义介电常数
TDDFT
TDDFT模块基于线性响应理论,通过求解Casida方程计算分子激发态。TDDFT模块支持TDDFT(包括TDHF)、TDA(包括CIS)等方法,可以处理基态是闭壳层或者是开壳层的分子体系。其中基态是开壳层的体系不仅可以用传统的U-TDDFT方法处理,还可以用自旋匹配的SA-TDDFT(又称X-TDDFT)来处理,该方法是BDF的特色。除此之外,BDF还支持自旋翻转(SF-)TDDFT方法,包括自旋向上翻转TDDFT和自旋向下翻转TDDFT,可以用来计算和基态自旋多重度不同的激发态。
Imethod:默认值:当参考态为RHF/RKS时为1,否则为2
指定基于哪种基态计算方法进行TDDFT计算。1为R-TDDFT, 基态为RHF/RKS参考态;2为U-TDDFT,基态为UHF/UKS参考态。其中自旋匹配X-TDDFT需要从ROKS/ROHF出发,采用U-TDDFT,利用imethod=2,itest=1,icorrect=1计算(见下)。该参数用户一般无需手动指定,程序会自动选取合理的默认值。注意对于U-TDDFT和X-TDDFT,程序只支持在阿贝尔点群下进行计算。
Isf:可选值:0、1、-1。
Default=0控制是否进行spin-flip的TDDFT计算。0为no spin-flip(或称spin-conserving,计算磁量子数Ms与基态相同的激发态);1为spin flip up(计算Ms比基态大1的激发态);-1为spin flip down(计算Ms比基态小1的激发态)。一个特例是当imethod=1且isf=1时,程序计算的是三重态的Ms=0分量而非Ms=1分量,因此此时不能称该计算为spin-flip TDDFT计算,而仍应称之为spin-conserving R-TDDFT计算。注意当isf不等于0且imethod=2时,itda必须设为1。
Itda:可选值:0、1。
Default=0控制是否使用Tamm-Dancoff approximation(TDA)。0为不使用TDA的TDDFT计算;1为TDA计算。
- Grimmestd:指定使用Grimme的sTDA或sTDDFT方法,其中当itda=0时,指定 grimmestd 表示使用sTDDFT方法;当itda=1时,指定 grimmestd 表示使用sTDA方法。sTDDFT和sTDA是近似求解TDDFT问题的方法,较MPEC+COSX快约10~100倍左右,但引入的误差也较大,对激发能引入的误差约为0.2 eV量级(相比之下MPEC+COSX引入的误差一般在0.01 eV以内),对于个别过渡金属体系可能达到1 eV量级。推荐用于100原子以上有机体系的pi-pi*激发态的计算,且常规TDDFT计算耗时或内存消耗过多的情况。目前程序支持计算sTDA、sTDDFT级别下的激发能、振子强度、NTO、SOC矩阵元等,支持所有纯泛函、杂化泛函(包括HF)以及wB97、wB97X、LC-BLYP、CAM-B3LYP几种范围分离泛函的sTDA、sTDDFT计算,但不支持计算sTDA、sTDDFT级别下的激发态梯度、激发态偶极矩和非绝热耦合矩阵元,也不支持配合isf=-1使用。
- Iroot:当iroot>0时,表示每个不可约表示下计算iroot个根。当iroot<0时,表示所有不可约表示下总共计算$iroot$个根,由程序自动判断每个不可约表示下应该计算多少个根。注意对于简并的不可约表示,同一个态的不同简并分量按一个态处理,例如当分子存在二维表示,且iroot=3时,该不可约表示下会计算得到3个能量彼此不同的态。同义词:iexit。
Default=10 - Nroot:对每个不可约表示指定不同数目的根。如Nroot为5 1 3,表示计算5个属于第1个不可约表示的激发态,1个属于第2个不可约表示的激发态,和3个属于第3个不可约表示的激发态。如果同时指定iroot和nroot,nroot会被忽略。
- Istore:指定将波函数存储于编号为istore的文件中,以备其他计算使用。
- Cthrd:指定打印绝对值大于cthrd的轨道激发信息。
- Imatsoc:指定需要计算的SOC矩阵元。
- 如果imatsoc<0,所有的SOC矩阵元都会打印;
- 如果imatsoc=0,不打印任何SOC矩阵元;
- 如果imatsoc>0,打印imatsoc个矩阵元
- Ntoanalyze:自然跃迁轨道(Natrual transtion orbital - NTO)分析,指定对TDDFT计算的某些态做NTO分析。该功能仅支持阿贝尔点群。
1 2 3 4 5 6 7 8 9 10
$TDDFT istore 1 #存储TDDFT波函数,以备后续使用。注:此处只能输入1,而不能输入其他数字,即便这不是该输入文件的第一个TDDFT计算也是如此 $End $TDDFT Ntoanalyze 2 #指定对两个态做NTO分析 1 3 #指定对第1和第3个激发态做NTO分析 $End
- Solneqlr:指定进行线性响应非平衡溶剂化效应计算。
- Soleqlr:指定进行线性响应平衡溶剂化效应计算。
- Solneqss:指定进行态特定非平衡溶剂化效应计算。
- Soleqss:指定进行态特定平衡溶剂化效应计算。