前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >量子化学软件Amesp简介

量子化学软件Amesp简介

作者头像
用户7592569
发布2023-09-03 14:15:03
3370
发布2023-09-03 14:15:03
举报
文章被收录于专栏:量子化学量子化学

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添加如下环境变量:

代码语言:javascript
复制
export PATH=$PATH:/opt/Amesp/Bin
export KMP_STACKSIZE=4G
ulimit -s unlimited

3. 输入文件

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

代码语言:javascript
复制
% 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方法的模块

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

代码语言:javascript
复制
% 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,其输入形式为:

代码语言:javascript
复制
% 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) 在终端输入:

代码语言:javascript
复制
amesp input.aip

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

(2) 在终端输入:

代码语言:javascript
复制
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软件使用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子化学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档