24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 2628  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

kent1022

金虫 (著名写手)

[求助] molpro的Basis library中的基组输入已有2人参与

在molpro官网的Basis library中有的元素是有A基组的,但在程序安装后的lib文件夹中对应的A基组没有该元素,则运行程序会提示找不到基组而出错。

比如:官网Basis library中有Bi元素的aug-cc-pwCVTZ-DK基组(http://www.molpro.net/info/basis ... -DK&print=1),但在/usr/local/molpro/molprop_2015_1_linux_x86_64_i8/lib中的aug_cc_pwcvtz_dk.libmol中却找不到Bi元素的记录。(所以程序找不到该元素的基组而出错)

问: Basis library中的基组是怎样编写到输入程序中的,请指点。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

121099

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
kent1022: 金币+20 2017-07-27 13:52:23
可以到
http://tyr0.chem.wsu.edu/~kipeters/basis.html
下载需要的基组。

molpro支持外部导入基组,一般读取基组分两种格式,如果是来自llibrary,那么就是.libmol基组,如果不是放到library里的,那么就是.basis.

以下各给出两例解释基组格式:
1. libmol

H   s aug-cc-pVQZ-DK AVQZ-DK  :    7   5  1.06  4.04  5.05  6.06  7.07
basis set from gbasis database
  0.82640000E+02  0.12410000E+02  0.28240000E+01  0.79770000E+00  0.25810000E+00
  0.89890000E-01  0.23630000E-01  0.20131000E-02  0.15349900E-01  0.75592000E-01
  0.25686570E+00  0.49737150E+00  0.29612770E+00  0.10000000E+01  0.10000000E+01
  0.10000000E+01  0.10000000E+01
H   p aug-cc-pVQZ-DK AVQZ-DK  :    4   4  1.01  2.02  3.03  4.04
basis set from gbasis database
  0.22920000E+01  0.83800000E+00  0.29200000E+00  0.84800000E-01  0.10000000E+01
  0.10000000E+01  0.10000000E+01  0.10000000E+01
H   d aug-cc-pVQZ-DK AVQZ-DK  :    3   3  1.01  2.02  3.03
basis set from gbasis database
  0.20620000E+01  0.66200000E+00  0.19000000E+00  0.10000000E+01  0.10000000E+01
  0.10000000E+01
H   f aug-cc-pVQZ-DK AVQZ-DK  :    2   2  1.01  2.02
basis set from gbasis database
  0.13970000E+01  0.36000000E+00  0.10000000E+01  0.10000000E+01

先是元素名,再是angular momentum,然后是基组reference名字(library 搜索的名字),冒号后面分别是exponents个数,contraction个数,然后是各个contraction的方式。 煮个栗子,
H   s aug-cc-pVQZ-DK AVQZ-DK  :    7   5  1.06  4.04  5.05  6.06  7.07
说明是H s function,然后有7个exponents,5个contracted function,1.06指第一个contraction利用第一到第六个exponent,7.07表示最后一个contraction只用了第七个exponent。
接下来的一串字符
  0.82640000E+02  0.12410000E+02  0.28240000E+01  0.79770000E+00  0.25810000E+00
  0.89890000E-01  0.23630000E-01  0.20131000E-02  0.15349900E-01  0.75592000E-01
  0.25686570E+00  0.49737150E+00  0.29612770E+00  0.10000000E+01  0.10000000E+01
  0.10000000E+01  0.10000000E+01
就是首先7个exponents,然后1.06contraction里六个contraction系数,4.04里一个contraction系数(也就是1),5.05里一个,6.06根7.07两个。

2. basis

s,H,82.64,12.41,2.824,0.7977,0.2581,0.08989,0.02363
c,1.6,0.0020131,0.0153499,0.075592,0.2568657,0.4973715,0.2961277
c,4.4,1.0
c,5.5,1
c,6.6,1
c,7.7,1

p,H,2.292,0.838,0.292,0.0848
c,1.1,1.0
c,2.2,1.0
c,3.3,1
c,4.4,1

d,H,2.062,0.662,0.19
c,1.1,1.0
c,2.2,1.0
c,3.3,1

f,H,1.397,0.36
c,1.1,1.0
c,2.2,1

简明扼要地多,分别是 angular momentum,element name,然后就是exponents,接下来以c打头的就是各个contraction,相信不难理解。

-------------------------
第二种格式.basis既可以直接粘到input文件里,
basis={
s,H,82.64,12.41,2.824,0.7977,0.2581,0.08989,0.02363
c,1.6,0.0020131,0.0153499,0.075592,0.2568657,0.4973715,0.2961277
c,4.4,1.0
c,5.5,1
c,6.6,1
c,7.7,1

p,H,2.292,0.838,0.292,0.0848
c,1.1,1.0
c,2.2,1.0
c,3.3,1
c,4.4,1

d,H,2.062,0.662,0.19
c,1.1,1.0
c,2.2,1.0
c,3.3,1

f,H,1.397,0.36
c,1.1,1.0
c,2.2,1
}
也可以把这些信息放到文件里来外部引入,例如

basis=
{
O=avqz-dk
include /home/XX/molpro_basis/H_aug_cc_pvqz_dk.basis
}

至于怎么在.libmol跟.basis格式之间互相转化,可以自己写script,我写了一个简易的python script可以在molpro,gaussian,cfour,DIRAC等不同软件所需基组格式之间互相转化,有空可以发到github上给大家共享。

至于您的问题,如果是correlation consistent基组的话,一般都可以在上述网站中找到,然后可以自己粘成.basis格式喂给molpro。
10楼2017-07-27 08:04:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

匿名

用户注销 (小有名气)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
kent1022: 金币+10 2017-05-31 22:28:39
本帖仅楼主可见
6楼2017-05-23 23:42:02
已阅   申请QC强帖   回复此楼   编辑   查看我的主页

kent1022

金虫 (著名写手)

引用回帖:
6楼: Originally posted by chen-xl13 at 2017-05-23 23:42:02
可以直接在EMSL(https://bse.pnl.gov/bse/portal)里面把想要的基组直接粘贴到输入文件。我都是这样做的。

是的,这个知道
问题是emsl里没有要用的基组
7楼2017-05-24 10:52:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (小有名气)

本帖仅楼主可见
8楼2017-07-06 00:01:05
已阅   申请QC强帖   回复此楼   编辑   查看我的主页
信息提示
请填处理意见