计算化学公社
标题: 给def2以ma-方式加弥散函数的Gaussian格式的基组定义文件(含所有def2支持的元素) [打印本页]
作者Author: sobereva 时间: 2019-8-28 07:31
标题: 给def2以ma-方式加弥散函数的Gaussian格式的基组定义文件(含所有def2支持的元素)
给def2以ma-方式加弥散函数的Gaussian格式的基组定义文件(含所有def2支持的元素)
Basis set definition file in Gaussian format that adds diffuse functions to def2 series in the way of "ma-" (including all elements supported by def2)
文/Sobereva@北京科音 First release: 2019-Aug-28 Last update: 2019-Oct-11
def2系列基组非常流行,在笔者的很多博文里都提到、用到,但遗憾的是没有官方标配的带弥散函数的版本。之前笔者写过一篇文章《给ahlrichs的def2系列基组加弥散的方法》(http://sobereva.com/340)介绍了几种给def2加弥散函数的方法,其中一个是以ma-方式加弥散函数,诸如def2-TZVP以ma-方式加弥散后叫ma-TZVP。在Truhlar课题组的基组网站http://comp.chem.umn.edu/basissets/basis.cgi上直接提供了这些ma-基组的定义,但关键缺点是元素不全。原本def2系列是对于除了锕系以及最后一个周期外所有元素都有定义,但那个网站上提供的ma-TZVP.gbs基组文件里甚至连常用的碘都没有,因此用的时候还得自己去基于def2的定义和ma-规则手写,比较麻烦,初学者还容易搞错。而且每当有人问怎么去手动改,如果对方没基组常识,解释起来可费劲了。
为了解决上述问题,笔者写了个程序,直接基于BSE上的def2系列基组支持的所有元素的定义文件,自动批量按照ma-方式添加弥散函数。这些文件可以在这里下载:http://sobereva.com/attach/509/file.zip。此文件包里比如ma-QZVPP.txt就是def2-QZVPP所有元素按ma-方式加上弥散函数的版本。里面还有个文件def2-ECP.txt,这是所有def2基组共用的赝势文件,因为def2系列对第五周期开始的元素是赝势基组。
基于这个文件包里的文件,用Gaussian使用ma-系列基组可省事了。只要把文件先放到某个目录,要用的时候用@来include即可。
下面是一个Windows下计算的例子,用B3LYP-D3(BJ)/ma-TZVP计算水-氟代甲烷的单点。计算前先把ma-TZVP.txt放到C:\下。@代表把后面的文件计算Gaussian之前会被自动展开。
#p B3LYP/gen em=gd3BJ int=fine
[空行]
test
[空行]
0 1
O 2.21137200 -0.00419200 -0.00194900
H 2.78894100 -0.77058600 0.00034800
H 2.79813100 0.75514700 -0.00127500
C -0.65861500 0.01454700 0.00490000
H -0.29784800 -0.58761200 0.83720700
H -0.28960200 -0.38738100 -0.93713900
H -0.32683900 1.04530400 0.12361900
F -2.04578600 -0.01206800 -0.00406300
[空行]
@C:\ma-TZVP.txt
由于ma-TZVP.txt里所有元素前头都有个负号,因此只有当前体系里存在的元素才会自动取.txt里的基组定义,而.txt里定义的其它元素不影响当前计算。
再看另一个例子,BP86计算顺铂,对所有元素用ma-SVP,对Pt还加了赝势,因为def2系列对Pt是赝势基组。计算前先把ma-SVP.txt和def2-ECP.txt放到C:\下。
#P BP86/genecp int=fine
[空行]
b3lyp/def2TZVP opted
[空行]
0 1
Pt 0.00000000 0.00000000 0.18195700
Cl 0.00000000 1.70827400 -1.36819100
Cl 0.00000000 -1.70827400 -1.36819100
N 0.00000000 1.59755500 1.56108400
H -0.82596600 1.64390200 2.14978600
H 0.00000000 2.40772900 0.93575300
H 0.82596600 1.64390200 2.14978600
N 0.00000000 -1.59755500 1.56108400
H -0.82596600 -1.64390200 2.14978600
H 0.00000000 -2.40772900 0.93575300
H 0.82596600 -1.64390200 2.14978600
[空行]
@C:\ma-SVP.txt
[空行]
@C:\def2-ECP.txt
上例中C:\ma-SVP.txt对体系涉及的所有元素都定义了基组,对Pt而言相当于赝势基组。C:\def2-ECP.txt是def2系列支持的从第五周期开始的所有元素的赝势定义,其中自然也包括对Pt的定义。此文件里也是各个元素前头都有负号,因此定义的元素在当前体系中没出现也不会报错。
在Linux下也可以用引用的方式用,下面还是顺铂的例子。这里/N避免Linux下运行时自动把文件里的内容完整输出一遍。两个文件之间这回没有了空行,因为如果有的话,会导致Pt的赝势信息没法被载入。
[同上...一直到坐标]
[空行]
@/sob/ma-SVP.txt/N
@/sob/def2-ECP.txt/N
[空行]
[空行]
当然了,自己手动把.txt文件里的涉及到的元素的基组、赝势定义拷出来,按照常规的genecp的格式去定义基组和赝势也可以正常使用这些ma-基组,但显然不如靠@来引用基组/赝势文件省事。如果在看上文时感到有不解之处,参看《详解Gaussian中混合基组、自定义基组和赝势基组的输入》(http://sobereva.com/60)。
文件包里还有个ma-TZVP(-f).txt,是对def2-TZVP(-f)以ma-方式加弥散函数的版本。def2-TZVP(-f)比def2-TZVP便宜得多,差异在于前者把后者的f极化函数去掉了(对镧系元素笔者保留了f函数,因为f函数对于La系并非是极化函数,而g极化函数被去掉了)。ma-TZVP(-f)比6-311+G(2d,p)略大一丁点,由于def2系列基组很适合代替Pople系列基组,因此强烈鼓励将之代替6-311+G(2d,p)使用。顺带一提,由于def2-TZVP(-f)比def-TZVP更大(比如对于碳,前者有两层d极化而后者只有一层),因此ma-TZVP比起将def-TZVP用ma-方式加弥散函数的版本更贵一些。
最后,给出笔者构建上面那些ma-的基组定义的程序ma-diffuse:http://sobereva.com/soft/ma-diffuse.rar。里面是Windows版可执行文件,Def2-SVP.gbs是原始的def2-SVP的定义文件,可以作为ma-diffuse的输入文件。此程序运行时可以由用户设定最小的s和p指数要除的因子,如果设成3,对应的就是以标准的ma-方式加弥散函数的情况。新产生的基组会输出到当前目录下的new.txt。
PS:笔者之前还有另一个给原有基组加弥散函数的工具,见《给基组以even-tempered方式增加弥散函数的工具adddiffuse》(http://sobereva.com/347)。
作者Author: wuzhiyi 时间: 2019-9-5 04:50
本帖最后由 wuzhiyi 于 2019-9-5 04:54 编辑
据说好像高斯的def2系列稍稍和EMSL的def2有所不同?请问这里有影响吗?
作者Author: sobereva 时间: 2019-9-5 07:15
我印象中没有不同
(说来,倒是以前偶然发现EMSL上好像是某个def2对某个元素的定义是错的,不知道现在改过来没有。不放心的话就用gfinput打印出来对照一下。)
作者Author: 枫沨 时间: 2019-9-12 12:58
请问老师如果是想要计算原子波函数得到.wfn文件,就在上面的计算行中加入out=wfn后,仍然想用ma-的方法计算。在末尾是下面这样的格式吗比如溴原子:
【略】
【坐标】
【空行】
Br.wfn
【空行】
@\ma-TZVP.txt
【空行】
【空行】
我这样写的话总是提示Unrecognized atomic symbolBr.wfn这样的错误
作者Author: sobereva 时间: 2019-9-12 22:30
文件名写到引用基组的后头去
作者Author: 枫沨 时间: 2019-9-13 10:28
非常感谢社长!
用以下类型格式已解决此问题(linux下)
【略】
【坐标】
【空行】
@/ma-TZVP/N
Br.wfn
【空行】
【空行】
作者Author: sobereva 时间: 2019-10-12 00:41
对文章和文中的基组文件进行了更新。
原先笔者提供的ma-系列基组对于镧系只有La有定义,现在把其它镧系元素也都补充上了。
同时新增了ma-TZVP(-f),非常推荐代替6-311+G(2d,p)使用,适合用于大体系弱相互作用能计算、阴离子体系几何优化等目的(这些情况对基组质量要求不是特别高,不需要f极化函数)
作者Author: captain 时间: 2020-1-4 23:00
请问大神
测试了一下顺铂的例子,把ma-SVP.txt和def2-ECP.txt合并成一个文件,中间连接处加一个空行,发现也能正常运行。
这样应该也没有问题吧?
作者Author: sobereva 时间: 2020-1-5 01:05
没问题
引入多少个文件都无所谓,只要被引入的文件都展开之后满足输入文件的格式即可
作者Author: captain 时间: 2020-1-5 09:05
明白了 谢大神
作者Author: captain 时间: 2020-1-5 12:42
本帖最后由 captain 于 2020-1-5 13:11 编辑
大神 请问一个问题
顺铂的例子,关于在Linux下用引用的格式问题
测试了一下,我的理解是,
如果ma-SVP.txt文件里末尾有一个空行了(def2-ECP.txt开头没有空行),引用的时候两个文件之间就不加空行;
@/sob/ma-SVP.txt/N
@/sob/def2-ECP.txt/N
如果ma-SVP.txt文件里末尾没有空行(def2-ECP.txt开头没有空行),引用的时候两个文件之间就要加空行。
@/sob/ma-SVP.txt/N
[空行]
@/sob/def2-ECP.txt/N
也就是说,无论怎么写,保证基组和赝势之间有一个空行。也就是符合《详解Gaussian中混合基组、自定义基组和赝势基组的输入》6 使用赝势基组 里的格式。
但是我还发现一个问题,win下ma-SVP.txt本来末尾有一个空行,但是复制到虚拟机里(centos 7)显示就少了末尾的空行,此时引用的时候两个文件之间加不加空行,都可以正常读入赝势,不明白什么原因了。
作者Author: sobereva 时间: 2020-1-7 18:29
win和linux下换行符不同。为了确保不会因为换行符问题导致莫名其妙的情况,win下编辑的文本文档到了linux下应当用dos2unix转换一下
作者Author: captain 时间: 2020-1-7 19:34
多谢大神指点!
作者Author: qlyfe 时间: 2021-9-10 16:59
老师,下载的压缩包里面还包含了一个file文件夹,文件夹里面的def2-ECP.txt和外面的def2-ECP.txt看大小是不一样的,请问应该用哪一个啊
作者Author: sobereva 时间: 2021-9-11 02:17
重新传了,以当前的为准。对应里面的file文件夹里的的内容
作者Author: WaterMirror 时间: 2022-3-28 10:46
卢老师您好,自己对于外置的基组有点不放心。请问每次调用这个.txt文件该文件里面的内容不会发生变化把?以及多个任务调用同一个.txt文件也没有问题吧?害怕这个.txt文件如果在算的时候变了那就完蛋了....
作者Author: sobereva 时间: 2022-3-28 11:03
不会变。只会读取不会被写入
作者Author: 一条君 时间: 2022-7-14 23:37
老师,Sn元素,引用def2-ECP.txt中的定义,电荷0,自旋多重度为5,报如下错误,
QPErr --- A syntax error was detected in the input line.
RB-ECP 3 28
'
但是电荷为2,多重度为3就不会报错,(1)请问原因是
(2)直接用def2-TZVP,电荷0,自旋多重度为5又不会报错,综上原因是?谢谢老师
附上了报错out文件
作者Author: chands 时间: 2022-7-15 00:06
Sn是主族元素,电子排布1s2 2s2 2p6 3s2 3p6 3d10 4s2 4p6 4d10 5s2 5p2,你为什么要算电荷为0,自旋多重度为5?
作者Author: sobereva 时间: 2022-7-15 08:42
问这种问题时一律上传输入文件
输出文件根本看不出来输入文件里分子坐标之后部分的格式
跟电荷和自旋多重度毫无直接关系
作者Author: 一条君 时间: 2022-7-15 11:40
最外层4个单电子,单电子数+1,多重度5嘛,没错吧嘿嘿
作者Author: 一条君 时间: 2022-7-15 11:57
本帖最后由 一条君 于 2022-7-15 21:37 编辑
老师,Sn元素,引用def2-ECP.txt中的定义,电荷0,自旋多重度为5,报如下错误,
QPErr --- A syntax error was detected in the input line.
RB-ECP 3 28
'
但是电荷为2,多重度为3就不会报错,(1)请问原因是
(2)直接用def2-TZVP,电荷0,自旋多重度为5又不会报错,综上原因是?(3)对于锡原子/离子,两个基组def2-TZVP,def2-ECP算出来的结果是等价的吧,谢谢老师
改附上了报错gjf文件
作者Author: sobereva 时间: 2022-7-16 09:18
def2-ECP.txt里只有赝势信息
显然你还得引入含有赝势基组定义的文件
作者Author: chands 时间: 2022-7-16 09:24
算基态是不会的,这时只有两个未成对电子5p2且自旋平行,除非你要算某个激发态。
作者Author: 一条君 时间: 2022-7-17 20:05
谢谢,那第四主族元素基态 都是有两个未成对电子5p2且自旋平行吗
比如C元素,基态不是都按sp3杂化,4个单电子来吗,谢谢
(确实可以分别算一下各种排布能量哈)
作者Author: wzkchem5 时间: 2022-7-17 20:28
自由的C原子的基态是2s2 2p2。之所以在一般分子里都是按2s1 2p3来成键的,是因为2s1 2p3的能量比2s2 2p2高不了太多,而且前者相比后者可以多成两根键,所以总的来说能量是有利的。
这个属于常识范畴了
作者Author: mfdsrax2 时间: 2022-7-18 18:00
用了这个基组,需要在文章里面致谢吗?
作者Author: MrMr浩 时间: 2023-5-31 19:22
在sob老师的帖子http://sobereva.com/119中提到,“def2-SVPD、TZVPD、TZVPPD、QZVPD、QZVPPD基组:在JCP,133,134105中提出,是分别对def2-系列的SVP、TZVP、TZVPP、QZVP、QZVPP基组加上弥散函数。弥散函数的指数通过优化原子的HF极化率得到。”请问跟ma有什么区别呢
作者Author: sobereva 时间: 2023-6-1 03:46
构造弥散函数的方式、目的都不一样
仔细看下文
给Ahlrichs的def2系列基组加弥散的方法
http://sobereva.com/340(http://bbs.keinsci.com/thread-3487-1-1.html)
作者Author: 月夕江YXJ 时间: 2024-2-22 21:19
老师,我在使用这种方法的时候遇到一个问题,因为我需要自定溶剂,输入文件(Linux版)例如:
#M062X/gen scrf=read
【坐标】
【空行】
@\ma-TZVP.txt
【空行】
eps=46.35475
epsinf=1.7936737425
【空行】
【空行】
最终log文件中看到溶剂是按默认的水来算的,请问这个问题出在哪里
作者Author: sobereva 时间: 2024-2-22 21:37
看清楚ma-TZVP.txt末尾有没有额外的空行,有的话会导致自定义溶剂信息没法被读入
作者Author: 月夕江YXJ 时间: 2024-2-22 21:41
老师,ma-TZVP.txt是以“****”结尾,我是不是应该使“****”置于末行
作者Author: sobereva 时间: 2024-2-22 21:49
我说的是空行,不是****
死活搞不明白就直接把文件里的内容复制到gjf里
作者Author: 月夕江YXJ 时间: 2024-2-22 22:00
好的,谢谢老师,通过试错明白了
****
[空行]
这种是正确的
作者Author: XingXing09 时间: 2024-11-13 08:33
老师您好,我最近遇到一个问题是我在引用文件设定基组时出现了无法打开文件的报错 :
Entering Gaussian System, Link 0=g16
Error opening AtFile: /home/Gaussian/ma-TZVP.txt
Error termination via Lnk1e at Tue Nov 12 23:38:54 2024.
之前用同样方法设定同样的基组路径都没问题
输入文件如下:
%nprocshared=32
%mem=12GB
%oldchk=
%chk=
# M062X/gen em=gd3 int=fine geom=allcheck scrf(read,SMD)
【空行】
@/home/Gaussian/ma-TZVP.txt/N
【空行】
eps=11.4
【空行】
想请问老师出现这问题是什么原因
作者Author: gqinhao@163.com 时间: 2024-11-13 15:40
老师您好,想问一下关于您提到的“里面还有个文件def2-ECP.txt,这是所有def2基组共用的赝势文件,因为def2系列对第五周期开始的元素是赝势基组。”。您之前的帖子《谈谈赝势基组的选用》中提到,“def2系列一大优点是除了锕系以及最后一个周期外覆盖了周期表所有元素,因此对绝大多数体系可以只用def2而无需用混合基组。”。那既然def2是对除了锕系以及最后一个周期外的元素自带赝势,为什么这里还需要引用def2-ECP.txt文件呢?是不是所有第五周期及以后的元素在使用def2时都需要引用该文件呢?谢谢老师。
作者Author: cokie 时间: 2024-11-13 16:17
本帖最后由 cokie 于 2024-11-13 16:21 编辑
这和你通过genecp用赝势基组是一个意思,先写基组定义,再写赝势定义。
你可以去BSE随便找一个五周期及其之后的Def2系列基组下载看看内容,里面都包含两部分,前面是基组定义、后面是赝势定义。高斯里不需要你给def2系列基组写赝势定义是因为你写了这个关键词就包含了两部分内容罢了。
作者Author: gqinhao@163.com 时间: 2024-11-13 16:22
老师您好,但是def2不是直接在关键词行写上基组名字就可以自动调用基组和赝势,不需要分开定义。那为什么def2还要引用def2-ECP.txt文件呢。谢谢老师
作者Author: cokie 时间: 2024-11-13 16:31
不需要分开定义是因为def2-tzvp这样的关键词,是高斯自己能识别的,你写了这个关键词,高斯自然就会把这个关键词“翻译”成基组定义+赝势定义的组合来用。
你点开看看sob老师写的ma-xxx.txt里的内容,里面是不是没有赝势定义?那自然要再引一个包含赝势定义的def2-ECP.txt文件。
如果你想一个文件搞定,比如对含C,H,O,N,Pt使用的体系使用,你直接把基组定义里C,H,O,N,Pt的部分和赝势定义里Pt的部分按顺序考下来,然后存在一个名为Pt.txt(其实叫啥都行)的文件里,你用的时候只需要引这个就好了。
作者Author: gqinhao@163.com 时间: 2024-11-13 16:44
哦哦,那是不是可以理解为引用这个赝势是给弥散计算用的
作者Author: cokie 时间: 2024-11-13 16:49
本帖最后由 cokie 于 2024-11-13 16:52 编辑
弥散函数在ma-xxxx.txt里,赝势没变,只不过sob老师给他拆出来了。
建议先看看sob老师这篇博文(谈谈赝势基组的选用 - 思想家公社的门口:量子化学·分子模拟·二次元),理解一下什么是赝势,赝势是怎么用的。
作者Author: gqinhao@163.com 时间: 2024-11-13 17:00
好的,谢谢您!
欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |