投稿问答最小化  关闭

万维书刊APP下载

VASP之运算的大体逻辑

2023/12/20 15:45:21  阅读:35 发布者:

不管怎么说,或是自己千辛万苦编译了一个vasp,或者是组里本身就有vasp,在老师和师兄师姐的帮助下已经开始着手实质性内容了,我们都真正的接触了vasp一下,消除了一些恐惧感,这时候按我的学习逻辑,我首先要大致知道他怎么用,然后再用好,这一篇就是记录一下我认为vasp使用的这么一个大体框架。

在大师兄的教程里,大师兄把vasp的运算总结成三步:

第一, 打开冰箱门。(准备输入文件)

第二, 把大象放进冰箱。(将输入文件放入具有vasp的服务器里)

第三, 关上冰箱门。(提交命令运算)

我在其基础上扩展一下,我们对于vasp的使用,应分为

前处理——运算——后处理

应如是看待vasp,他就像一个外国万事通,我们有事要问他,一是我问题问的要明确,二是我要说他能听懂的话,这就是前处理:准备输入文件,也就是把我们的问题转化成几个文件,给他看。

我们经常看到vasp的四个主要输入文件有INCAR,POSCARKPOINTS,POTCAR”,这话不完全,应当说这是四个需要我们使用者专门去准备的四个文件。在vasp手册的第二章就简单介绍了所有输出输入文件,当然了有些东西需要我们对第一性原理计算有些了解才看得懂,我现在也看不懂,以后有机会我们共同的仔细看一下。

想必我们也都见过这四个文件,这四个文件中,INCAR相当于一个控制台,就是说它包含什么信息呢:你想算什么,你想用什么方法,你想算到什么精度,你想输出什么东西——和计算有关的细节,我们需要在这里说明,也就是说我得告诉人家,我打算知道点什么,我打算怎么知道。INCAR中的各项参数都是什么,怎么设,vasp手册大部分篇幅在写这个,我们短期内是不可能全部弄懂的,有些参数怎么设又完全是个人多年经验得来,所以大部分我们都是用组里已有的模板,针对我们自己的计算需求,去改其中的一些参数,这些需要改的参数,大概也就在五六个这样,也就是说短期之内,我们只要知道这几个参数怎么修改就可以了。

POSCARposition之谓也。就是记录我们要计算的晶体的原胞中各原子位置的文件,告诉人家我打算问一个什么样的结构。建立一个我们想要了解的晶胞,再得到他的POSCAR文件的过程,就是建模的过程。通常大家用的都是MS这个软件。这里面我们遇到的问题大抵有:怎么建立一个我想要的晶胞?怎么掺杂?怎么吸附?怎么扩胞?其中各项数值怎么取?等等,这也是一个很微妙的过程,我也在探索的过程当中,要等一段时间才能讲讲体会。这里只是简介。

KPOINTk点文件,这个如果有的同学是跨专业的,没学过固体物理,可以稍微看一眼我的固体物理的笔记,这样我们就知道,我们计算一个体系,大抵上都是基于能量的计算的,这个k空间就起着至关重要的作用,我们要指定计算要用k点文件,如果是计算能带的机构等,还要指定k点路径等,其中的详细的细节,也是放到大后面进一步了解。

POTCAR,赝势文件,这个赝势我也在固体笔记里写过了,学过固体我们就比较熟了,对于一个原子,如果我们全按真实情况考虑,计算起来很麻烦,如果我们用一个合适的赝势替代真实的原子势,这样得出的结果与真实的原子势所差不多,而大大简化计算。Vasp的巨大优势之一就是他的赝势文件经久耐用(这是什么措辞)。

细节统统略去了,容待后续,现在我们假设我们通过了惊人的努力,准备好了vasp能看懂的四个文件,交到vasp手上(也就是放到编译好vasp的计算机上的一个文件夹里,对了关于linux系统的使用我基本不提,因为提的很多,熟能生巧,这东西也没什么难的),光荣地完成了前处理的工作,下一步就是:运算

也就是拍着vasp的肩膀说:mpirun -np 20 vasp。(劳驾,您给算一算,跑二十个核的)

Vasp咳嗽一声,白眼一翻,掐指开算:“乾三连,坤六断,震仰盂,艮覆碗。宿命本是前生定,月下老人主姻缘……”

叨咕了一会儿,写了几个条给你,比如所OUTCAR,CHARGCARCOTCAR等等,你接过来一看,看不明白,连个上上签都没写,怎么办呢(其实有些简单信息我们是能看懂得),这时候就进入到下一步:后处理

前后处理的软件都很多,比如今年比较火的vaspkit,还有originmatlabpython等等吧,具体要用哪个那就看各组和个人的偏好了,(神仙当然全学了),你把vasp给的那些条再给这些软件处理一下之后,做了图或者拟合线,诶,这回就是人能看懂的形式了,你就可以结合自己的理论研究和文献阅读针对这个计算结果进行分析和取舍。比如我就是算了一天半金属,最后发现算的啥也不是,仔细思索之后,建模没建对。

这就是一个大体的逻辑框架,其间的一些细节容待后面慢慢总结,另有一些很细很细的细节,就不好跟大家分享了。我注意到有些朋友这样问问题:你看我这个结果是这样,他是什么意思?你不能让别人给你讲你自己方向的理论吧?

我目前一直停留在理论上,也就是自己算的不多,但是我辅助一些朋友解决了一些问题,在这里给大家提供一个解决问题的思路:

首先,vasp自己本身会报错,大家尽量读一下这个英文,我真的虽然啥也不会但是看到有同学截个图来问:这咋回事啊?一看上面赫然写着OUTCAR文件不存在

其次,vasp运算出问题基本上就两类,第一你服务器环境有问题,这对于组里一直搞计算这个问题不大会出,但是新装的vasp确实需要逐渐的调试。第二,各个文件的设置有问题。而且很方便看出来哪个文件出问题,哪个文件出问题,vasp就没显示xxx is ok的字样,这时候你回去再想想这文件哪里有些问题。而且我观察出问题最多的就是用前处理软件(比如vaspkit)产生输入文件,这我还没用过,我怀疑是大家用的太草率了,vaspkit功能很多,大家用的时候还是仔细看看手册(有完善的中文手册,中国人做的嘛),你拿过来问我为什么vaspkit产生文件用的时候出问题了,那谁知道你设什么了怎么设的。

转自:“闪思科研空间”微信公众号

如有侵权,请联系本站删除!


  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com