Post

量子化学软件BDF探路

量子化学软件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分子几何结构优化
SCFHartree-Fock及Kohn-Sham自洽场
TDDFT含时密度泛函计算
RESPHartree-Fock、Kohn-Sham及TDDFT梯度
GRADHartree-Fock梯度
LOCALMO分子轨道定域化
NMR核磁屏蔽常数计算
ELECOUP电子迁移积分,能量迁移积分,定域化激发态
MP2Mø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
      

以下为非必须输入

  • MPEC+COSX:开启多级展开库伦势加速计算。bool
  • title:计算备注;
    1
    2
    
    Title
    test
    
  • Group:指定点群。可以省略,此时由BDF自动判断对称性
    1
    2
    
    Group
    D(2h)     # 指定使用D2h计算
    
    • nosymm:关闭对称性。与指定C1群不同,一旦使用了这个参数,分子坐标不会旋转。默认情况下,分子坐标会被旋转到标准取向(Standard orientation)。bool
  • Unit:默认Angstrom,可改为Bohr
  • Skeleton:对称化处理方法。对于非post-HF计算默认Skeleton(可省略);否则需要切换至Saorb。bool

XUANYUAN

XUANYUAN承担单、双电子积分计算

1
2
$xuanyuan
$end
  • Direct:使用积分直接的SCF计算。bool Default
  • RS:指定Range-Separated泛函如CAM-B3LYP等的$\omega$系数。如果DFT使用了Range-Speration泛函,必须加入此参数。

    标准范围分离泛函建议$\omega$值
    CAM-B3LYP0.33
    LC-BLYP0.33
    wB970.40
    wB97X0.30
  • Heff:指定标量相对论哈密顿
    • 0:非相对论,包括使用ECP的情况。Default
    • 3、4:sf-X2C(二者计算流程不同,一般用3即可)
      1
      2
      3
      4
      
      $xuanyuan
      Heff
      3
      $end
      

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
  • 波函数相关
    • 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迭代。

  • 收敛性
    • 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算法。boolean Default
    • SMH:指定使用Semiempirical Model Hamiltonian(SMH)方法加速SCF收敛。bool Default
      • NoSMH:指定不使用SMH方法加速SCF收敛。对于满足以下情况之一的计算,不支持使用SMH:(1)ROHF/ROKS计算;(2)用户指定了Smeartemp时;(3)基组存在线性相关时。除这些情况外,SMH一律默认开启。bool
  • 打印
    • Molden:输出molden格式的波函数文件。bool
    • Pyscforb:输出Pyscf格式的波函数文件。bool
  • 溶剂
    • 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:指定进行态特定平衡溶剂化效应计算。
This post is licensed under CC BY 4.0 by the author.
Total hits!