量子化学软件Amesp简介

IT知识
287
0
0
2024-01-07

1. 软件简介

Atomic and molecular electronic structure program (Amesp)是由张英峰独立开发的一款GTO框架的闭源免费的量子化学软件,软件由Fortran语言编写,软件网址为www.amesp.xyz。Amesp软件支持多种WFT方法和DFT方法及其一阶和二阶解析导数,可进行几何结构优化以及振动分析,支持激发态计算,并可以考虑溶剂化以及相对论效应。同时可以使用RI和COSX等近似方法加快能量和能量导数的计算。SCF采用多种方法提高收敛的稳定性和速度,具体的功能介绍如下:

(1) WFT方法:

RHF, UHF, ROHF。

RMP2, UMP2, ROMP2, SCS-MP2, SOS-MP2。

基于RHF和UHF的MP3, MP2.5, MP4。

基于RHF和UHF的CID, CISD, QCISD, QCISD(T)。

基于RHF和UHF的CCD, CCSD, CCSD(T)。

CASSCF, CASCI, Full CI。

检测RHF, UHF, ROHF的波函数稳定性。

(2) DFT方法:

RKS, UKS, ROKS,支持LDA, GGA, meta-GGA三种类型的泛函,以及双杂化泛函,共24种泛函。

LDA: LSDA, Xalpha; GGA: PBE, BLYP, PW91, BP86, HCTH407。

meta-GGA: TPSS, M06L。

Hybrid-GGA: B3LYP, BHLYP, PBE0, B3PW91, B97, B971, B972。

Hybird-meta-GGA: TPSSh, TPSS0, M06-2X, M05-2X。

Double-hybrid functionals: B2PLYP, B2GP-PLYP, DSD-PBEP86, DSD-BLYP。

检测RKS, UKS, ROKS的波函数稳定性。

(3) 大体系计算方法:

DFTB方法。

UFF力场。

(4) 激发态方法:

基于RHF, UHF, ROHF的CIS, TDHF方法

基于RKS, UKS, ROKS的TDDFT, TDA方法。

基于RHF, UHF的CIS(D)方法。

基于RKS, UKS的双杂化泛函的激发态(TDDFT, TDA)计算。

SOC: 单重态-三重态的旋轨耦合矩阵元。

NAC: 基态-激发态的非绝热耦合矩阵元。

(5) 加速计算的方法:

使用 RI 近似和 chain of spheres exchange (COSX) 近似加速SCF、MP2以及激发态计算,其中RIJ和COSX支持到二阶解析导数。

(6) 辅助SCF收敛方法:

初猜:harris, huckel, gwh, core。

使用ADIIS/EDIIS+CDIIS的组合加快收敛, Second-Order SCF(SOSCF)。

其他:密度阻尼方法,费米展宽,能级移动。

(7) 溶剂化效应:

使用CPCM隐式溶剂化模型考虑溶剂化效应,支持到二阶解析导数。

(8) 相对论效应:

使用Spin-free exact two-component (SF-X2C)考虑标量相对论效应,支持到一阶解析导数。

(9) 波函数分析:

Mulliken电荷和Löwdin电荷,电子密度,多极矩,静电势(ESP)和密度拟合静电势(DF-ESP),交换相关势等。

(10) 其他:

极化率,电荷转移积分,Mayer能量分解方法,DFT-D2和DFT-D3,Basis Set Superposition Error (BSSE),定域化轨道计算等。

(11) 一阶解析导数:

RHF, UHF, ROHF, RMP2, UMP2。

RKS, UKS,ROKS,支持LDA, GGA, meta-GGA三种类型的泛函,以及双杂化泛函。

基于RHF和UHF的CIS,TDHF。

基于RKS, UKS的TDDFT, TDA方法。

CASSCF方法。

DFTB方法。

UFF力场。

(12) 几何结构优化:

使用Berny方法,支持使用解析一阶导数和解析二阶导数进行优化,支持笛卡尔坐标、冗余内坐标以及内坐标优化,支持限制性优化。

(13) 二阶解析导数:

RHF, UHF。

RKS, UKS,支持LDA, GGA, meta-GGA三种类型的泛函。

UFF力场。

可以对其他支持一阶解析导数计算的方法使用数值方法进行计算,计算谐振频率以及相关的热力学量,解析二阶导数也可用于几何结构优化。

2. 软件的安装

首先从www.amesp.xyz下载软件,然后将软件解压,将解压后的Amesp文件移动到某个目录,比如/opt,并在~/.bashrc添加如下环境变量:

export PATH=$PATH:/opt/Amesp/Bin
export KMP_STACKSIZE=4G
ulimit -s unlimited

3. 输入文件

Amesp的输入文件需要书写相应的功能模块以及对应的关键词,功能模块以及对应的关键词以固定的结构书写,其结构如下所示:

% maxcore M
% npara N
! method1 method2 method3 ...
>block1
 keyword11 option11
 keyword12 option12
 ......
end
>block2
 keyword21 option21
 keyword22 option22
 ......
end
......
>xyz charge spin_mult
 elem1   coordinate_x1   coordinate_y1   coordinate_z1
 elem2   coordinate_x2   coordinate_y2   coordinate_z2  
 ......
end // 注:每一个模块的end这一行必须写。

第一行中的“% maxcore M” 确定使用多少内存,比如用户想使用500M用于计算,那么这一行就写作:“% maxcore 500” , 如果想使用3GB,需要写作:“% maxcore 3000”。默认:% maxcore 1000。“% npara N”这一行确定使用多少CPU并行。默认:% npara 1。“! method1 method2 method3...” 这一行确定方法、基组以及计算方法等,“!”与关键词之间要空一格。每一个功能模块>block需要以“>” 作为开始,并且以“end”作为结束标志。默认情况下不需要写任何功能块,用户需要特定的功能时可以在输入文件中通过功能块控制,在Amesp中一共设置了如下表1所示的功能模块:

表1. Amesp中的功能块

scf

控制scf的模块

method

控制使用各种方法的模块

posthf

控制post-HF的模块

ope

控制其他操作的模块

opt

控制几何优化的模块

freq

控制频率的模块

pcm

控制PCM溶剂化的模块

cas

控制CASCI和CASSCF的模块

dftb

控制DFTB方法的模块

更多关于功能模块的信息请参考手册。这里给出一个具体输入文件的例子:

% npara 4
% maxcore 1000
! b3lyp def2-SVP d3bj opt freq
>scf
 maxcyc 100
 guess harris
end
>opt
 geomtol tight
end
>xyz 0 1
C     -1.09929085    0.22458629    0.00000000
H     -0.74263642   -0.78422372    0.00000000
H     -0.74261801    0.72898448    0.87365150
H     -0.74261801    0.72898448  -0.87365150
H     -2.16929085    0.22459947    0.00000000
end

上述例子使用的是直角坐标进行输入,>xyz后面的0和1分别是净电荷和自旋多重度。若使用内坐标,>xyz应换成>zmat,其输入形式为:

% npara 4
% maxcore 1000
! b3lyp def2-SVP d3bj opt freq
>scf
 maxcyc 100
 guess harris
end
>opt
 geomtol tight
end
>zmat 0 1
 C
 H    1    R1
 H    1    R1      2     A1
 H    1    R2      3     A1     2    D1
 H    1    1.08    3     109.5  2   -D1
end
>coord
 R1  1.070
 R2  1.060
 A1  109.471
 D1  -119.999
end

4. 软件运行

软件运行有两种方式:

(1) 在终端输入:

amesp input.aip

成功运行后会产生一个input.aop的输出文件,以及默认产生一个input.mo的波函数文件。

(2) 在终端输入:

amesp input.aip outut.aop

成功运行后会产生一个outut.aop的输出文件,以及默认产生一个input.mo的波函数文件。

这两种方式,在使用时,要将input.aip换成实际的输入文件名。

5. 辅助程序

在Amesp中,有数个辅助程序帮助使用Amesp,在这里介绍其中三个,分别为m2a,a2m,m2m。m2a为mo file to amo file,是将amesp产生的二进制波函数mo文件转化成文本文件amo,类似于Gaussian软件的formchk。amo文件可用于aesp计算静电势以及电子密度等。a2m为amo file to mo file,是将m2a或者mokit产生的文本波函数amo文件转化成二进制文件mo,类似于Gaussian软件的unfchk,可用于作为scf的初猜。m2m为mo file to molden file,是将mo文件转化成molden文件,可以给Multiwfn软件使用。