计算化学公社

标题: 【更新!】QUANTUM-ESPRESSO-PWscf可视化解决方案:pwin2gjf、pwout2gjf、gjf2pwin... [打印本页]

作者
Author:
Freeman    时间: 2020-11-3 23:02
标题: 【更新!】QUANTUM-ESPRESSO-PWscf可视化解决方案:pwin2gjf、pwout2gjf、gjf2pwin...
本帖最后由 Freeman 于 2021-11-26 12:52 编辑

2021.11.23更新!

更新内容:

1、新增pwout2gauout.sh脚本
可以把PWscf优化任务的输出文件转换成Gaussian输出文件,方便在GaussView上观看每一帧的结构和能量,替代了pwout2gjf.sh的用途。
2、升级gjf2pwin.sh
之前我说“GV的PBC不太好使”,事后发现是我不会用。这里有个老师分享了用GV构建slab模型的心得https://www.researchgate.net/pos ... m_slab_by_GaussView(里面有一些bug,请大家自行甄别),我也是看了之后才会的。大家可以不用MS和BURAI,直接用GV构建模型,然后用gjf2pwin.sh把包含PBC任务(在分子坐标部分要有三个Tv表示的晶格矢量)的gjf文件转换成pw.in文件。
3、升级pwin2gjf.sh
这个脚本生成的gjf文件的分子坐标部分现在会有Tv表示的晶格矢量了,放在GV里会比较好看、好处理。

注意事项:

1、把PWscf输入文件的ibrav设为0,意思是从CELL_PARAMETERS部分读取晶格矢量
2、所有涉及到的输入文件都要以埃为单位,也就是要确保ATOMIC_POSITIONSCELL_PARAMETERS后面有加angstrom。
3、用GaussView打开的pw.log输出文件的能量单位是Rydberg,而非Hartree。
4pwout2gauout.sh跑起来比较慢,取决于pw.out所包含的帧数。请耐心等待。
5、运行脚本时会产生临时文件init_tmp_atom、init_tmp_lat、tmp_atomtmp_lat,注意不要跟已有的文件冲突了。
6、不要再用pwout2gjf.sh了。

新版下载地址:https://github.com/FreemanTheMaverick/GVPW.git


*******************************************************


QUANTUM-Espresso是很流行的第一性原理计算程序,但现今没有很好的配套建模可视化软件。pwgui+XCrysDen是QE官方的输入文件编辑和可视化程序,但不能有效地建模(XCrysDen貌似还有原子太多就不能显示的bug?);BURAI可以建立简单的模型,但用其建立复杂模型(如在slab模型上加一个较大的吸附分子)的效率太差了,要一个原子一个原子拼接,而且不能打开pw优化任务输出文件;MaterialsStudio可以用来建模,并使用BURAI转换为pw输入文件,但不能直接读取跟QE有关的任何文件。于是我写了三个文件类型转换脚本——pwin2gjf.sh、pwout2gjf.sh和gjf2pwin.sh,可以将pw输入文件和优化输出文件转为gjf文件,实现了用GaussView建模,并转回pw输入文件的功能。下面介绍它们的用法。

1、pwin2gjf.sh
用法:>bash pwin2gjf.sh abc.pw.in
描述:在当前目录下生成pw输入文件abc.pw.in对应的abc.pw.gjf,可以用GaussView打开。
注意事项:(1)解释器为bash,故要将脚本第一行写成自己系统中bash的位置,且要使用bash命令,而非sh命令,下同;(2)pw文件中的原子坐标单位务必设为埃,下同;(3)确保abc.pw.in文件中的原子数nat=参数独立成行,且不加逗号,下同;(4)转化成的gjf文件是Unix换行符格式,如要在Windows系统下使用,请将脚本末尾的unix2dos命令前的#注释符删去并保存。

2、pwout2gjf.sh
用法:>bash pwout2gjf.sh abc.pw.out
描述:在当前目录下生成pw优化输出文件abc.pw.out最后一帧结构对应的abc.pw.gjf,可以用GaussView打开。
注意事项:(1)只能用来转换pw优化任务的输出文件,不能也没必要转换其他任务的输出文件,因为用pwin2gjf转换其输入文件即可;(2)只能转化最后一帧结构,如需转化前面的结构,请在输出文件中相应的原子坐标结尾下一行添加“End final coordinates”文字。

3、gjf2pwin.sh
用法:>bash gjf2pwin.sh abc.pw.gjf settings.pw.in
描述:在当前目录下生成abc.pw.gjf中原子坐标对应的abc.pw.in文件,其余参数(如%CONTROL calculation='scf'、KPOINTS等)沿用settings.pw.in的设置。
注意事项:(1)abc.pw.in中的原子数nat=参数与abc.pw.gjf的一致,与settings.pw.in无关;(2)abc.pw.gjf和settings.pw.in不能是同一个文件,否则会引发混乱,所以想沿用abc.pw.gjf的参数设置的话,请备份成别的名字;(3)运行该脚本时,在当前目录下会生成一个临时文件tmp,运行完毕后删去,请注意该临时文件名不要与其他文件冲突;(4)该脚本不能用来从零开始创建一个pw输入文件,因为GaussView的晶体建模能力也不咋地,问题有:坐标轴可能不与晶格平行,不能将晶格常数直观地体现在gjf文件中等等。

下面以Pt(111)-O2吸附模型为例介绍这些脚本的一般使用流程:
1、用MS或BURAI建立Pt(111)slab模型(第一步不得不用MS或BURAI,因为GV的晶体建模不太好用);
2、用BURAI将Pt(111)slab模型制作成pw输入文件;
3、修改pw输入文件的参数;
4、用pw优化slab模型,获得pw输出文件;
5、用pwout2gjf.sh将pw输出文件转化为gjf文件,用GV在表面上的合适位置添加一个氧气分子,保存gjf文件;
6、用gjf2pwin.sh将gjf文件转换为pw输入文件,用pw优化吸附模型,获得pw输出文件;
7、可以重复第4步,在GaussView里查看吸附模型,也可以直接用XCrysDen查看。

为什么不写个pw转MS格式的脚本呢?因为MS格式文件比GaussView复杂多了,我看不懂。

如有bug,欢迎讨论!

(, 下载次数 Times of downloads: 68)

(, 下载次数 Times of downloads: 68)

(, 下载次数 Times of downloads: 49)


作者
Author:
sobereva    时间: 2020-11-4 04:03
关于gview“不能将晶格常数直观地体现在gjf文件中”,实际上可以保存成Gaussian的PBC任务的输入文件,里面TV定义了晶格平移矢量
作者
Author:
Freeman    时间: 2020-11-4 10:25
sobereva 发表于 2020-11-4 04:03
关于gview“不能将晶格常数直观地体现在gjf文件中”,实际上可以保存成Gaussian的PBC任务的输入文件,里面T ...

受教了!另外请问GV可以用来切割晶面么?如果可以的话,连MS和BURAI都用不着了。
作者
Author:
喵星大佬    时间: 2020-11-4 11:01
本帖最后由 喵星大佬 于 2020-11-4 11:06 编辑
Freeman 发表于 2020-11-4 10:25
受教了!另外请问GV可以用来切割晶面么?如果可以的话,连MS和BURAI都用不着了。

但是你别忘了GV实际上也是付费的,而且还不便宜。。。。所以即使是看fchk或者是分子建模,一般来说在不涉及复杂功能的情况下还是用iQMol是比较安全的

作者
Author:
sobereva    时间: 2020-11-4 14:38
Freeman 发表于 2020-11-4 10:25
受教了!另外请问GV可以用来切割晶面么?如果可以的话,连MS和BURAI都用不着了。

gview的PBC editor里面有个reduce标签页,可以设Miller参数然后切割,不过有时候切的时候会卡住。其实gview的PBC editor还是有一定价值的,只不过由于Gaussian本身的PBC太渣,估计很多人没有太留意。
作者
Author:
Aridea    时间: 2021-11-19 21:30
楼主,有没有可能吧pbc加到gjf里呀
作者
Author:
Freeman    时间: 2021-11-20 23:48
Aridea 发表于 2021-11-19 21:30
楼主,有没有可能吧pbc加到gjf里呀

您是说想在gjf文件里体现晶格的平移矢量吗?
作者
Author:
Aridea    时间: 2021-11-21 19:58
Freeman 发表于 2021-11-20 23:48
您是说想在gjf文件里体现晶格的平移矢量吗?

嗯,是的呀,可以嘛
作者
Author:
Freeman    时间: 2021-11-21 20:15
Aridea 发表于 2021-11-21 19:58
嗯,是的呀,可以嘛

现在没这个功能,这个星期我把它加上吧。
作者
Author:
Aridea    时间: 2021-11-21 20:19
Freeman 发表于 2021-11-21 20:15
现在没这个功能,这个星期我把它加上吧。

哇!十分期待,这里给大佬递阔落了~
作者
Author:
Freeman    时间: 2021-11-24 00:02
Aridea 发表于 2021-11-21 20:19
哇!十分期待,这里给大佬递阔落了~

更新咯!
作者
Author:
Aridea    时间: 2021-11-24 06:00
大佬这波操作帅的呀




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3