快速入门

闭壳层体系计算:R-TDDFT

R-TDDFT用于计算闭壳层体系。如果基态计算从RHF出发,TDDFT模块执行的是TDHF计算。

利用TDDFT计算 \(\ce{H2O}\) 分子激发能,简洁输入如下:

#!bdf.sh

TDDFT/B3lyp/cc-pvdz iroot=1

geometry

O

H 1 R1

H 1 R1 2 109.

R1=1.0 # OH bond length in angstrom

end geometry

这里,关键词 TDDFT/B3lyp/cc-pvdz 指定执行TDDFT计算,所用泛函为 B3lyp ,基组为 cc-pVDZ 。

与之对应的高级输入为:

$compass

Geometry

O

H 1 1.0

H 1 1.0 2 109.

End geometry

Basis

cc-pvdz

$end

$xuanyuan

$end

$scf

RKS # Restricted Kohn-sham

DFT # DFT exchange-correlation functional B3lyp

b3lyp

$end

# input for tddft

$tddft

iroot # For each irrep, calculate 1 root.

1 #on default, 10 roots are calculated for each irreps if advanced input used

$end

完成计算将顺序调用 COMPASS , XUANYUAN , SCF 及 TDDFT 四个模块。其中 SCF 模块执行RKS计算。

基于RKS的计算结果,进行后续的 TDDFT 计算。

注意因为水分子属于 \(\rm C_{2v}\) 点群,共有4个不可约表示,而不同不可约表示的激发态是分别求解的,因此视用户需求而定,有以下若干种指定激发态数目的方法,例如:

(1)每个不可约表示均计算1个激发态:

$TDDFT

iroot

1

$END

此时每个不可约表示计算得到的激发态大概率是该不可约表示下能量最低的激发态,但是这一点无法保证,也就是说有较小的概率会收敛到第二激发态甚至更高的某个激发态。如果要提高得到最低激发态的概率,可以写

$TDDFT

iroot

2

$END

此时每个不可约表示计算2个激发态,且每个不可约表示下计算得到的第一个激发态是该不可约表示下能量最低的激发态的概率较iroot=1时更高。此外,此时每个不可约表示下计算得到的第二个激发态大概率是该不可约表示下能量第二低的激发态,但满足这一点的概率较“计算得到的第一个激发态是该不可约表示下能量最低的激发态”的概率更低。如果进一步增加iroot,则计算得到的第一个激发态是能量最低的激发态的概率很快趋近于100%,但永远无法严格达到100%。

出于类似的原因,不仅当计算1个激发态时常常需要将iroot设为大于1,当计算N(N>1)个激发态时,若想相对可靠地确保这N个激发态是能量最低的N个激发态,也需要将iroot设为大于N。一般而言,当分子满足下述条件之一时,应当将iroot设得较大,例如比所需的激发态数目大至少3个:(1)分子具有近似的点群对称性;(2)分子虽然具有精确的点群对称性,但是受程序限制或者应用户需要,计算在更低的点群下进行,例如在开壳层TDDFT(见下文)计算中,因开壳层TDDFT代码不支持非阿贝尔点群,而改为在最大的阿贝尔子群下进行计算。当分子不属于上述情况之一时,iroot只需比所需的激发态数目略大即可,例如大1~2个。

(2)只计算一个B1激发态和一个B2激发态,不计算其他不可约表示下的激发态:

#! tdtest.sh

TDDFT/B3lyp/3-21G nroot=0,0,1,1

Geometry

...

End geometry

或者

$TDDFT

nroot

0 0 1 1 # 也可输入为 0,0,1,1

$END

其中nroot关键词表明用户分别对每个不可约表示指定激发态的数目。因程序内部将 \(\rm C_{2v}\) 点群的不可约表示以A1、A2、B1、B2的顺序排列(见点群相关章节关于各个不可约表示的排序的介绍),因此以上输入表明只计算B1、B2各一个激发态。类似iroot的情形,如需要相对可靠地确保计算得到的是相应不可约表示下能量最低的态,则应当将nroot设得比所需值略大。

(3)计算最低的4个激发态,而不限定这些激发态的不可约表示

#! tdtest.sh

TDDFT/B3lyp/3-21G iroot=-4

Geometry

...

End geometry

或者

$TDDFT

iroot

-4

$END

此时程序通过初始猜测的激发能来判断各个不可约表示应当求解多少个激发态,但因为初始猜测的激发能排列顺序可能和完全收敛的激发能有一定差异,程序不能严格保证求得的4个激发态一定是能量最低的4个激发态。如用户要求严格保证得到的4个激发态为最低的4个激发态,用户应当令程序计算多于4个激发态,如8个激发态,然后取能量最低的4个。

Kohn-Sham计算的输出前面已经介绍过,这里我们只关注 TDDFT 计算的结果。程序输出会先给出TDDFT计算的设置信息,方便用户检查是否计算的设置,如下:

--------------------------------------------------

--- PRINT: Information about TDDFT calculation ---

--------------------------------------------------

ERI Maxblk= 8M

[print level]

iprt= 0

[method]

R-TD-DFT

isf= 0

SC Excitations

RPA: (A-B)(A+B)Z=w2*Z

[special choice for method]

ialda= 0

[active space]

Full active space

[algorithm]

Target Excited State in each rep / Diag method :

1 A1 1 1

2 A2 1 1

3 B1 1 1

4 B2 1 1

[dvdson_parameters]

iupdate = 3

Nfac = 50

Nmaxcycle= 50

nblock = 50

crit_e = 0.10E-06

crit_vec = 0.10E-04

crit_demo= 0.10E-07

crit_indp= 0.10E-09

guess = 20

dump = 0

[output eigenvector control]

cthrd= 0.100

-------------------------------------------------

--- END : Information about TDDFT calculation ---

-------------------------------------------------

这里,

R-TD-DFT 表示正在进行的是基于限制性基态波函数计算的TDDFT;

isf= 0 表示计算不翻转自旋;

ialda= 0 表示使用 Full non-collinear Kernel,这是非自旋翻转TDDFT的默认Kernel。

下面的输出给出了每个不可约表示计算的根的数目。

Target Excited State in each rep / Diag method :

1 A1 1 1

2 A2 1 1

3 B1 1 1

4 B2 1 1

TDDFT模块还会打印占据轨道,虚轨道等TDDFT计算的活性轨道信息

Print [Active] Orbital List

---[Alpha set]---

idx irep (rep,ibas,type) F_av(eV) iact

---------------------------------------------------

1 1 A1 1 2 -520.34813 0.05

2 1 A1 2 2 -26.42196 1.84

3 3 B1 1 2 -13.66589 2.96

4 1 A1 3 2 -9.50404 2.49

5 4 B2 1 2 -7.62124 2.12

6 1 A1 4 0 1.23186 9.86

7 3 B1 2 0 3.27539 11.48

8 3 B1 3 0 15.02893 7.40

9 1 A1 5 0 15.44682 6.60

10 1 A1 6 0 24.53525 4.35

11 4 B2 2 0 25.07569 3.88

12 3 B1 4 0 27.07545 6.17

13 2 A2 1 0 33.09515 3.99

14 1 A1 7 0 34.03695 5.08

15 4 B2 3 0 39.36812 4.67

16 3 B1 5 0 43.83066 4.86

17 1 A1 8 0 43.91179 4.34

18 3 B1 6 0 55.56126 4.35

19 1 A1 9 0 56.13188 4.04

20 4 B2 4 0 78.06511 2.06

21 2 A2 2 0 80.16952 2.10

22 1 A1 10 0 83.17934 2.38

23 1 A1 11 0 94.37171 2.81

24 3 B1 7 0 99.90789 2.86

这里,轨道1-5是占据轨道,6-24是虚轨道,其中,第5个和第6个轨道分别是HOMO和LUMO轨道, 分别属于不可约表示B2和不可约表示A1,

轨道能分别是-7.62124 eV和1.23186 eV。由于 \(\ce{H2O}\) 分子有4个不可约表示,TDDFT会对每个不可约表示逐一求解。

在进入Davidson迭代求解Casida方程之前,系统会估计内存使用情况,

==============================================

Jrep: 1 ExctSym: A1 (convert to td-psym)

Irep: 1 PairSym: A1 GsSym: A1

Nexit: 1 Nsos: 33

==============================================

Estimated memory for JK operator: 0.053 M

Maxium memory to calculate JK operator: 512.000 M

Allow to calculate 1 roots at one pass for RPA ...

Allow to calculate 2 roots at one pass for TDA ...

Nlarge= 33 Nlimdim= 33 Nfac= 50

Estimated mem for dvdson storage (RPA) = 0.042 M 0.000 G

Estimated mem for dvdson storage (TDA) = 0.017 M 0.000 G

这里,系统统计存储JK算符需要的内存约 0.053MB, 输入设置的内存是512MB (见 memjkop 关键词 )。

系统提示RPA计算,即完全的TDDFT计算每次(one pass)可以算1个根,TDA计算每次可以算2个根。由于分子体系小,内存足够。

分子体系较大时,如果这里输出的允许的每次可算根的数目小于系统设置数目,TDDFT模块将根据最大允许可算根的数目,通过

多次积分计算构造JK算符,导致计算效率降低,用户需要用 memjkop 关键词增加内存。

Davidson迭代开始计算输出信息如下,

Iteration started !

Niter= 1 Nlarge = 33 Nmv = 2

Ndim = 2 Nlimdim= 33 Nres= 31

Approximated Eigenvalue (i,w,diff/eV,diff/a.u.):

1 9.5246226546 9.5246226546 0.350E+00

No. of converged eigval: 0

Norm of Residuals:

1 0.0120867135 0.0549049429 0.121E-01 0.549E-01

No. of converged eigvec: 0

Max norm of residues : 0.549E-01

*** New Directions : sTDDFT-Davidson step ***

Left Nindp= 1

Right Nindp= 1

Total Nindp= 2

[tddft_dvdson_ZYNI]

Timing For TDDFT_AVmat, Total: 0.08s 0.02s 0.02s

MTrans1: 0.00s 0.02s 0.00s

COULPOT: 0.00s 0.00s 0.00s

AVint : 0.08s 0.00s 0.02s

MTrans2: 0.00s 0.00s 0.00s

TDDFT ZYNI-AV time-TOTAL 0.08 S 0.02 S 0.02 S

TDDFT ZYNI-AV time-Coulp 0.08 S 0.02 S 0.02 S

TDDFT ZYNI-AV time-JKcon 0.00 S 0.00 S 0.00 S

tddft JK operator time: 0.00 S 0.00 S 0.00 S

Niter= 2 Nlarge = 33 Nmv = 4

Ndim = 4 Nlimdim= 33 Nres= 29

Approximated Eigenvalue (i,w,diff/eV,diff/a.u.):

1 9.3817966321 0.1428260225 0.525E-02

No. of converged eigval: 0

Norm of Residuals:

1 0.0029082582 0.0074085379 0.291E-02 0.741E-02

No. of converged eigvec: 0

收敛信息如下:

Niter= 5 Nlarge = 33 Nmv = 10

Ndim = 10 Nlimdim= 33 Nres= 23

Approximated Eigenvalue (i,w,diff/eV,diff/a.u.):

1 9.3784431931 0.0000001957 0.719E-08

No. of converged eigval: 1

### Cong: Eigenvalues have Converged ! ###

Norm of Residuals:

1 0.0000009432 0.0000023006 0.943E-06 0.230E-05

No. of converged eigvec: 1

Max norm of residues : 0.230E-05

### Cong. Residuals Converged ! ###

------------------------------------------------------------------

Orthogonality check2 for iblock/dim = 0 1

Averaged nHxProd = 10.000

Ndim = 1 Maximum nonzero deviation from Iden = 0.333E-15

------------------------------------------------------------------

------------------------------------------------------------------

Statistics for [dvdson_rpa_block]:

No. of blocks = 1

Size of blocks = 50

No. of eigens = 1

No. of HxProd = 10 Averaged = 10.000

Eigenvalues (a.u.) =

0.3446513056

------------------------------------------------------------------

从上面输出的第一行可以看出,5次迭代计算收敛。系统随后打印收敛后电子态的信息,

No. 1 w=9.3784 eV -76.0358398606 a.u. f= 0.0767 D= 0.0000 Ova= 0.5201

CV(0): A1( 3 )-> A1( 4 ) c_i: 0.9883 Per: 97.7% IPA: 10.736 eV Oai: 0.5163

CV(0): B1( 1 )-> B1( 2 ) c_i: -0.1265 Per: 1.6% IPA: 16.941 eV Oai: 0.6563

Estimate memory in tddft_init mem: 0.001 M

其中第1行的信息,

No. 1 w= 9.3784 eV 表示第一激发态激发能为 9.3784 eV;

-76.0358398606 a.u. 给出第一激发态的总能量;

f= 0.0767 给出第一激发态与基态之间跃迁的振子强度;

D= 0.0000 为激发态的值与基态的值之差(对于自旋守恒跃迁,该值反映了激发态的自旋污染程度;对于自旋翻转跃迁,该值与理论值 S(S+1)(激发态)-S(S+1)(基态) 之差反映了激发态的自旋污染程度);

Ova= 0.5201 为绝对重叠积分(absolute overlap integral,取值范围为[0,1],该值越接近0,说明相应的激发态的电荷转移特征越明显,否则说明局域激发特征越明显)。

第2行和第3行给出激发主组态信息

CV(0): 中CV(0)表示该激发是Core到Virtual轨道激发,0表示是Singlet激发;

A1( 3 )-> A1( 4 ) 给出了电子跃迁的占据-空轨道对,电子从A1表示的第3个轨道跃迁到A1表示的第4个轨道,结合上面输出轨道信息,可看出这是HOMO-2到LUMO的激发;

c_i: 0.9883 表示该跃迁在整个激发态里的线性组合系数为0.9883;

Per: 97.7% 表示该激发组态占97.7%;

IPA: 10.736 eV 代表该跃迁所涉及的两个轨道的能量差为10.736 eV;

Oai: 0.5163 表示假如该激发态只有这一个跃迁的贡献,那么该激发态的绝对重叠积分为0.5001,由这一信息可以方便地得知哪些跃迁是局域激发,哪些跃迁是电荷转移激发。

所有不可约表示求解完后,所有的激发态会按照能量高低排列总结输出,并打印对应的振子强度等信息,

No. Pair ExSym ExEnergies Wavelengths f D Dominant Excitations IPA Ova En-E1

1 B2 1 B2 7.1935 eV 172.36 nm 0.0188 0.0000 99.8% CV(0): B2( 1 )-> A1( 4 ) 8.853 0.426 0.0000

2 A2 1 A2 9.0191 eV 137.47 nm 0.0000 0.0000 99.8% CV(0): B2( 1 )-> B1( 2 ) 10.897 0.356 1.8256

3 A1 2 A1 9.3784 eV 132.20 nm 0.0767 0.0000 97.7% CV(0): A1( 3 )-> A1( 4 ) 10.736 0.520 2.1850

4 B1 1 B1 11.2755 eV 109.96 nm 0.0631 0.0000 98.0% CV(0): A1( 3 )-> B1( 2 ) 12.779 0.473 4.0820

随后还打印了跃迁偶极矩。

*** Ground to excited state Transition electric dipole moments (Au) ***

State X Y Z Osc.

1 -0.0000 -0.3266 0.0000 0.0188 0.0188

2 0.0000 0.0000 0.0000 0.0000 0.0000

3 0.0000 0.0000 0.5777 0.0767 0.0767

4 0.4778 -0.0000 0.0000 0.0631 0.0631

很多情况下,用户并不知道需要计算多少个激发态,只知道需要计算哪个波长范围内的激发态。为此可以用以下写法

$TDDFT

...

iwindow

300 800 nm

$END

代替上述的iroot等关键词,即代表计算300~800 nm范围内的激发态,或者说计算300~800 nm范围内的UV-Vis吸收光谱(也可以eV、cm-1、au为单位指定激发能范围)。但程序只能保证计算的激发态范围大致是在用户所设定的范围,其既不能保证计算出来的所有激发态都在300~800 nm范围内,也不能保证300~800 nm范围内的所有激发态都被计算出来。若要保证计算出来的激发态既不多也不少,刚好涵盖用户指定的波长范围,可采用 iVI方法 。


2025年财务费用报销最新填写规范和附件粘贴规范来了
【徕卡数码相机】徕卡数码相机报价及图片大全