24小时热门版块排行榜    

查看: 461  |  回复: 5
【奖励】 本帖被评价2次,作者beefly增加金币 2
当前主题已经存档。

[资源] NWChem自定义ECP容易遇到的问题

这两个问题都是有关局域项的。为了说明问题,用EMSL网站上的ECP作为例子,见https://bse.pnl.gov/bse/portal

1. 局域项因子为零的情况。以Ar原子的Stuttgart RLC ECP为例,如下。

ecp
Ar nelec 10
Ar G
2      1.000000000            0.000000000
Ar S
2     10.261721000           68.667788010
2      3.952725000           24.042766290
Ar P
2      5.392714000           27.730763310
2      2.699967000            4.045459040
Ar D
2      8.086235000           -8.137476960
2      4.016632000           -1.664528080
Ar F
2      5.208459000           -3.400098450
end

直接用这个ECP,NWChem会出现以下错误并终止:

**** WARNING Zero Coefficient **** on atom "              Ar"

和GAMESS、Gaussian等程序不同,NWChem的零因子局域项是由程序内部产生的,用户不能输入。直接删除“Ar G”和“2      1.000000000            0.000000000”两行就可以了。

另外,“Ar G”的写法是错的,应写为“Ar ul”,这是EMSL数据库的BUG,解释见下。

2. 局域项因子不为零的情况。

对于Def2-nZVPP,LANL08,SBKJC VDZ ECP,等基组的ECP,其最高角动量对应的项就是局域项,其他低角动量的项都投影到这个局域项上。以Ar原子的LANL08 ECP为例,如下。

ecp
Ar nelec 10
Ar D
1    711.5242175            -10.0000000
2    144.6708689            -99.0606669
2     32.9246992            -35.2711767
2      9.9103877            -11.8151947
2      3.1328926             -1.0453382
Ar S
0    152.8553033              3.0000000
1     82.1424792             11.2465621
2     83.7154800            250.7412812
2     23.8557161            139.1606543
2      4.3128823             41.2897981
Ar P
0    212.5573747              5.0000000
1    266.4884712              5.2787358
2    139.9222477            631.7135166
2     50.1097659            305.1649809
2     14.5537276            106.4807615
2      3.4828623             17.0215765
end

在LANL08 ECP的原始定义中,局域函数为d,s和p函数都投影到d上。但在NWChem程序中,却不这么解释。由于局域项(ul项)没有指定,按照NWChem的隐含规则,上面的ECP相当于

ecp
Ar nelec 10
Ar F
2      1.0000000              0.0000000
Ar S
0    152.8553033              3.0000000
1     82.1424792             11.2465621
2     83.7154800            250.7412812
2     23.8557161            139.1606543
2      4.3128823             41.2897981
Ar P
0    212.5573747              5.0000000
1    266.4884712              5.2787358
2    139.9222477            631.7135166
2     50.1097659            305.1649809
2     14.5537276            106.4807615
2      3.4828623             17.0215765
Ar D
1    711.5242175            -10.0000000
2    144.6708689            -99.0606669
2     32.9246992            -35.2711767
2      9.9103877            -11.8151947
2      3.1328926             -1.0453382
end

也就是说,这个ECP的局域函数为f,s,p,d都投影到f上。直接用上面的ECP虽然不会出现错误信息,但计算结果是完全错的!

正确的写法为:

ecp
Ar nelec 10
Ar ul
1    711.5242175            -10.0000000
2    144.6708689            -99.0606669
2     32.9246992            -35.2711767
2      9.9103877            -11.8151947
2      3.1328926             -1.0453382
Ar S
0    152.8553033              3.0000000
1     82.1424792             11.2465621
2     83.7154800            250.7412812
2     23.8557161            139.1606543
2      4.3128823             41.2897981
Ar P
0    212.5573747              5.0000000
1    266.4884712              5.2787358
2    139.9222477            631.7135166
2     50.1097659            305.1649809
2     14.5537276            106.4807615
2      3.4828623             17.0215765
end

可以做个测试。在RHF级别,错误的ECP能量为-20.2528 a.u.,用改正后的ECP能量为-20.6732 a.u.,和Gaussian 03计算结果一致。

以上两个问题都是由EMSL数据库的NWChem格式存在BUG导致的,用之前最好和GAMESS、Gaussian等格式的ECP比较一下,先确定局域项因子是否为零,再决定如何修改。幸好NWChem程序自带的ECP都没问题,可以放心用。EMSL和NWChem本是一家,为什么NWChem格式的ECP不兼容呢?真是奇怪!

我们自己在从其他数据库提取ECP时也容易犯类似的错误,所以一定要注意。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
咋就不能评价涅?
2楼2008-08-24 13:08:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huilaoshu999

金虫 (著名写手)


★★★★★ 五星级,优秀推荐

楼主的理论功底太扎实了。佩服!学习中!
3楼2008-09-22 11:46:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

khaki

新虫 (初入文坛)


好啊,受教育了。用杂化dft时在不同程序下往往也要注意,尤其是不常用的,经常会有问题
4楼2008-10-10 20:15:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
第一个问题,nwchem 5.1已经改正了,可以不用管。

第二个问题,基组网站最近已经改正了。
5楼2008-10-11 00:54:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 beefly 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见