计算化学公社
标题: 求gamess能量分解输入文件的格式 [打印本页]
作者Author: 小菜鸟求关照 时间: 2015-1-20 15:01
标题: 求gamess能量分解输入文件的格式
求gamess能量分解输入文件的格式?这个输入文件怎么写呢 ?谢谢老师啦,有没有这方面专门的帖子呢?
作者Author: sobereva 时间: 2015-1-20 19:18
以前随手写的:
!-----LMOEDA能量分解例子,用6-31+G*。必须写nosym=1。用了MP、CC、DFT才有色散能。如果mplevl=2则有MP2色散能。如果写cctyp=CCSD(T)则既有MP2色散能也有CCSD(T)色散能,但此时会很耗内存,若内存不够应当减少线程数。MP2/CCSD(T)色散能是来自于它们计算的总相互作用能与HF总相互作用能的差值。如果用了DFT,则输出的色散能是复合物的相关能减去各个单体孤立状态下的相关能,这里说的相关能是交换相关泛函中的相关泛函对应的能量。
LMOEDA给出的是:静电能(负值)+交换能(负值)+互斥能(正值)+极化能(负值)+色散能(负值)。LMOEDA普适性比Morokuma广得多,可以用于多重态、可以分裂化学键、可以结合DFT以及R/U/RO。考虑相对论只能结合赝势而不能DK。
matom输入一串数,指定体系中哪些原子是那些片段,比如下例前三个原子是第一个片段,后4个是第二个片段。最多能指定十个。mcharge指定各个片段的电荷。mmult指定各个片段的自旋多重度,负值代表beta。默认是SUPBAS=.t.,即用counterpoise考虑BSSE,如果是.f.则输出只有"OWN BASIS SET"内容。
Morokuma形式的EDA只支持RHF闭壳层。在$morokm里定义内容。iatm和ICHM定义片段和每个片段的电荷。
Morokuma可以将相互作用能分解为:静电(负值)+交换(正值)+极化(负值)+电荷转移(负值)+混合(负值)
$contrl scftyp=rhf runtyp=eda coord=zmt nosym=1 cctyp=CCSD(T) $end
$system mwords=80 $end
$basis gbasis=n31 ngauss=6 ndfunc=1 DIFFSP=.t. $end
x$morokm iatm(1)=3 $end
$lmoeda matom(1)=3,4 mcharg(1)=0,0 mmult(1)=1,1 $end
$data
water-ammonia dimer...6-31+G* basis set
Cs
H
O 1 rOH
H 2 rOH 1 aHOH
N 2 R 1 aHOH 3 0.0
H 4 rNH 3 aHNaxis 1 180.0
H 4 rNH 3 aHNaxis 5 +120.0
H 4 rNH 3 aHNaxis 5 -120.0
rOH=0.956
aHOH=105.2
rNH=1.0124
aHNaxis=112.1451 ! makes HNH=106.67
R=2.93
$end
!-----LMOEDA能量分解例子,basnam混合基组+笛卡尔坐标
$contrl scftyp=rhf runtyp=eda cctyp=CCSD(T) ispher=1 $end
$system mwords=800 $end
$basis basnam(1)=H,Heavy,H,Heavy,H,H,H $end
$lmoeda matom(1)=3,4 mcharg(1)=0,0 mmult(1)=1,1 $end
$data
water-ammonia dimer
C1
H 1.0 0.00000000 0.00000000 0.00000000
O 8.0 0.00000000 0.00000000 0.95600000
H 1.0 0.92255577 0.00000000 1.20665285
N 7.0 2.82749833 0.00000000 1.72421429
H 1.0 2.94991596 0.00000000 2.72918578
H 1.0 3.31870502 -0.81208716 1.37181652
H 1.0 3.31870502 0.81208716 1.37181652
$end
$H
CCD
$end
$Heavy
ACCD
$end
作者Author: 小菜鸟求关照 时间: 2015-1-20 20:34
嗯呢 谢谢老师!
作者Author: 小菜鸟求关照 时间: 2015-1-20 20:52
(1)用6-31+G*。必须写nosym=1 这点是为什么呢?
(2)在默认情况下默认是SUPBAS=.t.,即用counterpoise考虑BSSE,意思是DIFFSP=.t这里一般不需要改吗?
(3)mmult指定各个片段的自旋多重度,负值代表beta这句话是什么意思呢?自旋多重度有负值吗?
(4)一般需要改的是这几个地方,nosym=1 cctyp=CCSD(T) matom(1)=3,4 mcharg(1)=0,0 mmult(1)=1,1 $data部分 别的不需要修改吗?
问题有点多,谢谢老师!
作者Author: sobereva 时间: 2015-1-20 21:25
1 忘了,反正写了准没错
2 这和用不用弥散函数没直接关系。
3 对共价键相连的两个片段之间进行能量分解分析,那么一方的单电子是alpha,另一方是beta,虽然自旋多重度都是2,但是得写成一正一负。
4 基组也经常根据实际情况修改
作者Author: 小菜鸟求关照 时间: 2015-1-20 22:10
谢谢老师
作者Author: brothers 时间: 2015-1-23 21:48
本帖最后由 brothers 于 2015-1-23 21:51 编辑
请问sobereva ,我在你上述提供的输入文件基础上,新填入dfttyp=b3lyp(或其他DFT泛函方法),结果计算结果出现很多NaN。(请看附图的最后一行)D:\无标题.jpg, 不知道是为什么?
在gamess提供的能量分解例题中也碰到这种情况,用mplevl=2可以进行mp2的能量分解,但是用dfttyp=b3lyp就会NaN。
那么请问是不是需要其他参数来控制DFT水平的能量分解呢?switch、soscf,swoff等关键字我也试了一下,都没什么起色。
附上最开始出现NaN的部分
DENSITY MATRIX CONVERGENCE THRESHOLD= 1.00E-05
COARSE -> FINE DFT GRID SWITCH THRESHOLD= 3.00E-04 (SWITCH IN $DFT)
HF -> DFT SWITCH THRESHOLD= 5.00E-03 (SWOFF IN $DFT)
MEMORY REQUIRED FOR RHF ITERS= 303447 WORDS.
DFT IS SWITCHED OFF, PERFORMING PURE SCF UNTIL SWOFF THRESHOLD IS REACHED.
ITER EX DEM TOTAL ENERGY E CHANGE DENSITY CHANGE DIIS ERROR
* * * INITIATING DIIS PROCEDURE * * *
1 0 0 -56.0010149252 -56.0010149252 0.201191300 0.471902026
2 1 0 -56.1766838888 -0.1756689637 0.086685749 0.045577797
3 2 0 -56.1887253471 -0.0120414583 0.023893084 0.015751971
4 3 0 -56.1902678935 -0.0015425464 0.016210481 0.009238234
5 4 0 -56.1904867841 -0.0002188906 0.003782533 0.002451094
CONVERGED TO SWOFF, SO DFT CALCULATION IS NOW SWITCHED ON.
* * * INITIATING DIIS PROCEDURE * * *
6 5 0 NaN NaN 0.000000000 NaN
7 6 0 NaN NaN 0.000000000 NaN
作者Author: 小菜鸟求关照 时间: 2015-2-2 11:02
本帖最后由 小菜鸟求关照 于 2015-2-2 11:04 编辑
1.对于hxf...hf,x为原子序数较大的原子,用到赝势基组LMOEDA能量分解例子如下:
$contrl scftyp=rhf runtyp=eda cctyp=CCSD(T) ispher=1 $end
$system mwords=800 $end
$basis basnam(1)=H,Heavy,H,Heavy,H,H,H $end
$lmoeda matom(1)=3,2 mcharg(1)=0,0 mmult(1)=1,1 $end
$data
hxf...hf dimer
坐标部分
$end
$h f
CCD
$end
$x
$DATA
X
S 6
1 2058.3200000 0.0009380
2 307.4270000 0.0044200
3 15.7815000 0.3543950
4 9.5447000 -0.8885140
5 2.2296900 0.9496240
6 1.1120000 0.3810660
S 6
1 2058.3200000 -0.0004380
2 307.4270000 -0.0022770
3 15.7815000 -0.1557960
4 9.5447000 0.4175780
5 2.2296900 -0.6793250
6 1.1120000 -0.3183090
S 1
1 0.3554300 1.0000000
S 1
1 0.1377260 1.0000000
S 1
1 0.0473000 1.0000000
P 5
1 20.1725000 0.0687400
2 11.8122000 -0.2446140
3 2.9346000 0.6676480
4 1.3189000 0.4501800
5 0.3858160 0.0286890
P 5
1 20.1725000 -0.0229670
2 11.8122000 0.0881150
3 2.9346000 -0.3233110
4 1.3189000 -0.1542280
5 0.3858160 0.6228820
P 1
1 0.1269610 1.0000000
P 1
1 0.0379000 1.0000000
D 5
1 52.6666000 0.0048070
2 14.3464000 -0.0045170
3 4.8159700 0.3015100
4 2.2149600 0.5120370
5 0.9611280 0.2990900
D 1
1 0.3412000 1.0000000
D 1
1 0.1404000 1.0000000
$END
$ECP
X-ECP GEN 28 4
1 ----- g-ul potential -----
0.0000000 2 1.0000000
3 ----- s-ul potential -----
49.9979620 2 40.0051840
281.0133030 2 17.8122140
61.5382550 2 9.3041500
4 ----- p-ul potential -----
67.4391420 2 15.7017720
134.8747110 2 15.2586080
14.6633000 2 9.2921840
29.3547300 2 8.5590030
6 ----- d-ul potential -----
35.4369080 2 15.1856000
53.1957720 2 14.2845000
9.0462320 2 7.1218890
13.2236810 2 6.9919630
0.0848530 2 0.6239460
0.0441550 2 0.6472840
4 ----- f-ul potential -----
-23.0892950 2 20.8815570
-30.0744750 2 20.7834430
-0.2882270 2 5.2533890
-0.3869240 2 5.3611880
$END
$end
这样写正确吗?
2.$basis basnam(1)=H,Heavy,H,Heavy,H,H,H $end这行的命令是什么意思呢?
谢谢老师!
作者Author: sobereva 时间: 2015-2-2 11:24
不能这么写。
basnam(1)=H,Heavy,H,Heavy,H,H,H 这个的意思是给这7个原子分成H和Heavy这两组,然后分别通过$H ... $END和$Heavy ... $END来定义这两组里的原子分别用什么基组。
作者Author: 小菜鸟求关照 时间: 2015-2-2 12:43
我那个文件里哪一部分错了呢?
作者Author: sobereva 时间: 2015-2-2 12:53
$h f、$x都不能这么直接写,比如你用basnam先把某些原子定义为成名为MIO的组,然后才能用$MIO字段来指定这个组里的原子的基组。而且也不该出现第二个$data。
建议看看手册里$BASIS部分的说明
作者Author: 小菜鸟求关照 时间: 2015-2-2 13:07
嗯呢 谢谢老师
作者Author: brothers 时间: 2015-2-2 15:42
gamess提供的input文档里有一个关于赝势基组和混合基组输入的完整例子。(P23)
作者Author: 小菜鸟求关照 时间: 2015-2-2 15:58
没有呀,您说的是哪一部分呢,我找找看,可能咱们版本不同吧,谢谢老师
作者Author: brothers 时间: 2015-2-2 16:52
本帖最后由 brothers 于 2015-2-2 16:58 编辑
我可不是老师,嘿嘿~gamess才学了不到半个月。第23页,一个Cr的例子
作者Author: 小菜鸟求关照 时间: 2015-2-2 16:56
您说的那个是哪一部分呢?
作者Author: brothers 时间: 2015-2-2 16:57
本帖最后由 brothers 于 2015-2-2 16:59 编辑
搜索basnam关键词,一定有这个例子 $contrlscftyp=rohf icharg=+3 mult=4 runtyp=gradient
pp=read ispher=1 $end
$system mwords=1 $end
$guess guess=huckel $end
$basis basnam(1)=metal, ligO,ligO,ligO,ligO,ligO,ligO,
ligH,ligH,ligH,ligH,ligH,ligH,
ligH,ligH,ligH,ligH,ligH,ligH $end
$data
Cr+3(H2O)6 complex...SBKJC & 6-31G(d) geometry
Th
CHROMIUM 24.0 .0000000000 .0 .0000000000
OXYGEN 8.0 .0000000000 .0 2.0398916104
HYDROGEN 1.0 .7757887450 .0 2.6122732372
$end
! core potential basis forChromium
$metal
sbkjc
$end
! normal 6-31G(d) for oxygenligands
$ligO
n31 6
d 1 ; 1 0.8 1.0
$end
! unpolarized basis forhydrogens
$ligH
n31 6
$end
$ecp
Cr-ecp SBKJC
O-ecp none
...snipped... there must be 6 O's given here
O-ecp none
H-ecp none
...snipped... there must be 12 H's given here
H-ecp none
$end
作者Author: 小菜鸟求关照 时间: 2015-2-2 17:10
嗯呢 谢谢
作者Author: 小菜鸟求关照 时间: 2015-2-2 20:07
我看了,还是不理解赝势基组在gamess的定义,比如我从emsl上获得的定义基组写到输入文件里,上面给出的是混合基组的格式,和这个不一样吧,basis basnam(1)=H,Heavy,H,Heavy,H,H,H 这部分的分组名称我也不太明白?
brothers
看我给你的那个gamess自带的例子当中,
$basis basnam(1)=metal, ligO,ligO,ligO,ligO,ligO,ligO,
ligH,ligH,ligH,ligH,ligH,ligH,
ligH,ligH,ligH,ligH,ligH,ligH $end
意思很明显啊,对每个原子都需要定义一个代号,然后在$data $end后面,注意是后面,利用basnam定义的这个代号来识别基组。比如用$ligH 基组 空行 $end 来为H原子指明基组内容。这个基组内容可以是gamess自定义的形式,比如n 31G;也可以是从网站上copy下来的一系列本征值那种形式。 在$data $end那部分是不用输入基组内容的,只需要输入对称性和原子坐标。
现在我去试一试。
作者Author: 小菜鸟求关照 时间: 2015-2-2 21:16
$contrl scftyp=rhf runtyp=eda cctyp=CCSD(T) ispher=1 pp=read $end
$system mwords=800 $end
$guess guess=huckel $end
$basis basnam(1)=gas,ligF,ligCl,ligH,ligH $end
$lmoeda matom(1)=3,2 mcharg(1)=0,0 mmult(1)=1,1 $end
$DATA
请问一下我这里哪部分错了 总是出现
ERROR READING INPUT GROUP $BASIS *****
THE PROBLEM IS WITH THIS INPUT LINE, NEAR THE X MARKER
$BASIS BASNAM(1)=GAS,LIGF,LIGCL,LIGH,LIGH $END
X
谢谢各位老师啦!
作者Author: youyno 时间: 2015-4-28 14:58
这样的输入直接放在window版本下的gamess-us里面好像不行?是不是和输入格式有关系?
作者Author: brothers 时间: 2015-4-28 15:23
是没问题的。
你自己好好看看格式要求
作者Author: zidu113 时间: 2020-4-29 16:02
老师您好,请问自定义基组时,使用$basis basnam(1),关键词basnam后面的括号中的(1)是什么意思?
作者Author: sobereva 时间: 2020-4-30 07:17
这是GAMESS-US输入文件里数组的定义规则,代表定义第一个元素。但如果定义时后面跟着多个元素值,将被依次认为是从1、2、3...号元素的值。手册里都有说明
作者Author: zidu113 时间: 2020-5-1 13:49
老师,谢谢您的及时回复,因为没有找到手册,所以对数组的定义规则还是有些疑问。根据您的提示,我理解basnam(1)中的括号里的值如果是2,比如basnam(2)=metal, ligO, 。。。,那么就是从2个元素开始依次用metal, ligO, 。。。进行赋值,对吗?
作者Author: sobereva 时间: 2020-5-1 19:40
手册就在官网上啊,程序包里也都自带了,怎么会找不到
是
作者Author: zidu113 时间: 2020-5-2 13:00
,谢谢您的解答。
欢迎光临 计算化学公社 (http://bbs.keinsci.com/) |
Powered by Discuz! X3.3 |