|
|
本帖最后由 coolrainbow 于 2020-6-11 11:58 编辑
ABCluster是一个十分高效易用的化学团簇全局优化软件。自2015年发布以来,已经再催化、反应、大气、金属等领域取得广泛应用,被多个高水平工作使用(如PNAS 2019, 116, 24966; JACS 2018, 140, 11020; Nanoscale 2020, 20, 5125)。2020年6月,ABCluster推出了2.1版。这个版本有很多重大更新,将分几个帖子介绍。
ABCluster最新版本的下载:http://www.zhjun-sci.com/software-abcluster-download.php
ABCluster的已发表应用:http://www.zhjun-sci.com/software-abcluster-stories.php
ABCluster的Gallery:http://www.zhjun-sci.com/software-abcluster-gallery.php
本文将介绍ABCluster 2.1的一个重要功能:生成具有特定点群的原子团簇。
ABCluster有一个模块叫做isomer,可以用于原子团簇的结构搜索。在之前的版本中,可以用isomer研究任意形状的团簇。从2.1版本开始,isomer可以指定只搜索特定点群对称性的团簇。这是一个非常好用的特性,将大大方便研究者的团簇研究。
ABCluster的优势:
(1)不限原子个数和种类;
(2)操作极其简单,只要isomer,不需要任何其它程序就可以生成结构。
(3)速度极快,不到1分钟就可以生成大量结构
(4)当然也可以链接xTB,Gaussian,ORCA等任意程序进行优化。
(5)几乎支持所有点群:Cs, Ci, Cn, Cv, Cnh, Cnd, Dnh, Dnd, S2n, T, Th, Td, O, Oh都可以,n可以是任意整数(也就是说,你可以产生C7v,D13h这种诡异的点群)(遗憾的是,由于某些数学推导尚未完成,I和Ih的点群尚不能完美生成,希望能在以后的版本实现。如果有人知道相关的算法的话,欢迎告知,我感激不尽!)
下面我来演示一下如何产生结构。
例1: Au20
考虑Au20,假设我要知道他的D3h点群是什么样的,那么只需要下面一个文件:au20.inp:
=========
au20 # Result file name
Au 20 # Symbols
C5h 2 2 2 # Structure types
10 # Maximal number of calculations
>>>>
cp $inp$ $out$ #如果你是Windows系统,换成: copy $inp$ $out$
>>>>
=========
第一行表示,将生成的结果存储在名字为au20-LM的文件夹里,第二行表示Au有20个。第三行就是点群:C5h. 后面的2 2 2 表示某种尺寸大小,可以多次尝试看看哪些参数比较合理。如果不知道的话,就选择2 2 2. 第四行表示生成10个结构。两个>>>>中间是命令,表示直接生成结构不用其它程序优化。你可以通过修改这里,是isomer调用xTB或者Gaussian或者其他软件来优化。可以参考ABClsuter手册。熟悉ABCluster的读者都知道,这个输入文件与之前版本的没有任何差别,只要把cube .. 之类换成C5h之类就可以。
现在开始生成结构,执行:isomer au20.inp > au20.out
几乎瞬间就生成了10个结构。
打开au20.out,你可以看到这些内容:
这就是点群生成的算法。其中“Delete the ugly one”是把一些丑陋的结构删除。相关算法以后有一会会开贴讲一下。
打开au20-LM,可以看到一大堆的xyz和gjf文件。可以用GaussView测试一下,没错就是C5h。
实际上,au20-LM里面所有的结构都是C5h对称性的。
如果你用下面的输入文件:
=========
au20 # Result file name
Au 20 # Symbols
Td 2 2 2 # Structure types
50 # Maximal number of calculations
>>>>
cp $inp$ $xxx$.xyz
xtb $xxx$.xyz --gfn 1 -o > $xxx$.out 2>/dev/null
energy=`awk 'NR==2{print $2}' xtbopt.xyz` ; sed -i "2c ${energy}" xtbopt.xyz
mv xtbopt.xyz $out$
rm $xxx$.xyz $xxx$.out charges wbo xtbopt.log xtbrestart
>>>>
=========
就可以研究Td对称性的Au20,并且每个结构用xTB优化。在我的机器上,第38个结构,就是著名的“金字塔”Au20.整个过程不超过20分钟。
例2: B12N12
假设我们想看看B12N12的D6h的结构,那么只要:
=========
b12n12 # Result file name
B 12 N 12 # Symbols
D6h 2 2 2 # Structure types
10 # Maximal number of calculations
>>>>
cp $inp$ $out$ #如果你是Windows系统,换成: copy $inp$ $out$
>>>>
=========
这样将生成10个D6h的结构。不过似乎都不怎么好看。(可以试试)
事实上,BN的团簇似乎更倾向于平面结构。ABCluster有专门的关键字可以只生成平面的点群,只要在相关的点群关键字后面加上“plane”即可。
=========
b12n12 # Result file name
B 12 N 12 # Symbols
D6h 2 2 2 plane # Structure types
10 # Maximal number of calculations
>>>>
cp $inp$ $out$ #如果你是Windows系统,换成: copy $inp$ $out$
>>>>
=========
这样就会生成10个平面的D6h结构。例如:
只要将isomer与xTB或者Gaussian连起来(参见Manual),就可以生成更加合理的结构,并且可以按照能量排序。
你可以把上述文件中的“C5h”“Td”“D6h”换成任意的点群,如Cs, S8, Oh, C7h, D9d, .... 当然,有些结构肯定会非常不合理,需要用化学知识将其排除掉。
这些例子表明,使用ABCluster可以以黑箱的方式生成几乎任意点群的团簇,还可以指定生成平面的结构。希望这个程序能够帮助到相关的化学工作者 。
|
评分 Rate
-
查看全部评分 View all ratings
|