当前位置: 首页 > 第一原理 >【转】POTCAR和vasp能量意义

【转】POTCAR和vasp能量意义

作者 Gina88
来源: 小木虫 700 14 举报帖子
+关注

哎,应该有一个blog的,可以收藏一些自己找的资源.

POTCAR将要告诉vasp计算的系统中所包含的各种元素的赝势pesudopotential,vasp本身就带有比较完善的赝势包,我们需要做的就是选择我们需要具体哪种赝势,然后把相应的文件拷贝形成我们具体的POTCAR文件。我们以GaAs为例。
1.赝势的选择:
vasp的赝势文件放在目录 ~/vasp/potentials 下,可以看到该目录又包含五个子目录 pot pot_GGA potpaw potpaw_GGA potpaw_PBE ,其中每一个子目录对应一种赝势形式。
赝势按产生方法可以分为PP (standard pesudopotential,其中大部分是USPP, ultrasoft pesudopotential) 和 PAW (projector augmented wave method)。按交换关联函数的不同又可以有 LDA (local density approximation) 和 GGA (generalized gradient approximation),其中GGA之下又可以再分为PW91和PBE。
以上各个目录对应起来分别是 pot ==> PP, LDA ; pot_GGA ==> PP, GGA ; potpaw ==> PAW, LDA ; potpaw_GGA ==> PAW, GGA, PW91 ; potpaw_PBE ==> PAW , GGA, PBE。选择某个目录进去,我们还会发现对应每种元素往往还会有多种赝势存在。这是因为根据对截断能量的选取不同还可以分为 Ga,Ga_s,Ga_h,或者根据半芯态的不同还可以分为Ga,Ga_sv,Ga_pv的不同。
一般推荐选取PAW_PBE。其中各个元素具体推荐哪种形式的赝势可以参考vasp workshop中有关赝势部分的ppt。当然自己能测试之后在选择是最好不过的了,以后再聊。
2.POTCAR的建立:
选好哪一种赝势之后,进入对应的目录,你会看到里边有这么几个文件,POTCAR.Z PSCTR.Z V_RHFIN.Z WS_FTP.LOG 。我们需要的是第一个。把它解压,如 zcat POTCAR.Z > Ga 。对As元素我们也可以类似得到一个As文件。用 cp 命令或者 mv 命令把这两个文件都移到我们的工作目录里。然后再用 cat 命令把这两个文件合并在一起,如 cat Ga As > POTCAR ,这样就得到了我们需要的POTCAR。同理,有多个元素的POTCAR也可以这样产生。这里需要注意的是,记住元素的排列顺序,以后在POSCAR里各个元素的排列就是按着这里来的。

3.POTCAR里的信息:
如果你想看POTCAR长什么样,可以用 vim POTCAR 命令,进去后可以用上下键移动光标。想出来的时候,可以敲入:q!就可以。具体的vim的命令可以在网上查到。一般我会看POTCAR里的截断能量为多大,用 grep -in "enmax" POTCAR 。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
据说B3LYP的赝势计算比较准,我在MS上面测试过,好像DOS和能带图的计算确实比较准。不过不知道vasp有没有类似的赝势包。
hybrid functional的计算,并不需要特定的hybrid functional 的赝势。大部分就是基于GGA-PBE的赝势来做,也就是芯电子与价电子的交换关联作用,以及芯电子与芯电子的交换关联作用还是基于GGA-PBE的,只是将价电子与价电子的交换关联作用通过hybrid functional交换关联来描述。
谢谢老师的解答。那具体操作是不是像网上写的那样,使用GGA的赝势,设置GGA = B3,然后更改 POTCAR里面的LEXCH =B3就行了。我试过了,可以跑,不过结果没做详细的分析。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
VASP是使用赝势和平面波基组,进行从头量子力学分子动力学计算的软件包,它基于CASTEP 1989版开发。VAMP/VASP中的方法基于有限温度下的局域密度近似(用自由能作为变量)以及对每一MD步骤用有效矩阵对角方案和有效Pulay混 合求解瞬时电子基态。这些技术可以避免原始的Car-Parrinello方法存在的一切问题,而后者是基于电子、离子运动方程同时积分的方法。离子和电 子的相互作用超缓Vanderbilt赝势(US-PP)或投影扩充波(PAW)方法描述。两种技术都可以相当程度地减少过渡金属或第一行元素的每个原子 所必需的平面波数量。力与张量可以用VAMP/VASP很容易地计算,用于把原子衰减到其瞬时基态中。

VASP程序的亮点:
1. VASP使用PAW方法或超软赝势,因此基组尺寸非常小,描述体材料一般需要每原子不超过100个平面波,大多数情况下甚至每原子50个平面波就能得到可靠结果。
2. 在平面波程序中,某些部分代码的执行是三次标度。在VASP中,三次标度部分的前因子足可忽略,导致关于体系尺寸的高效标度。因此可以在实空间求解势的非局域贡献,并使正交化的次数最少。当体系具有大约2000个电子能带时,三次标度部分与其它部分可比,因此VASP可用于直到4000个价电子的体系。
3. VASP使用传统的自洽场循环计算电子基态。这一方案与数值方法组合会实现有效、稳定、快速的Kohn-Sham方程自洽求解方案。程序使用的迭代矩阵对角化方案(RMM-DISS和分块Davidson)可能是目前最快的方案。
4. VASP包含全功能的对称性代码,可以自动确定任意构型的对称性。
5. 对称性代码还用于设定Monkhorst-Pack特殊点,可以有效计算体材料和对称的团簇。Brillouin区的积分使用模糊方法或四面体方法。四面体方法可以用Blöchl校正去掉线性四面体方法的二次误差,实现更快的k点收敛速度。

VASP 5.2的新功能:
1. 大规模并行计算需要较少的内存。
2. 加入新的梯度校正泛函AM05和PBEsol;用标准PBE POTCAR文件提供新泛函;改善了单中心处理。
3. 离子位置和格矢中加入有限差分,从而得到二阶导,用于计算原子间力常数和声子(需要超晶胞近似),和弹性常数。计算中自动考虑对称性。
4. 离子位置和静电场中加入线性响应,从而得到二阶导,用于计算原子间力常数和声子(需要超晶胞近似),Born有效电荷张量,静态介电张量(电子和离子贡献),内应变张量,压电张量(电子和离子贡献)。线性响应只能用于局域和半局域泛函。
5. 精确的非局域交换和杂化泛函:Hartree-Fock方法;杂化泛函,特别是PBE0和HSE06;屏蔽交换;(实验性的)简单模型势GW-COHSEX,用于经验的屏蔽交换内核;(实验性的)杂化泛函B3LYP。
6. 通过本征态求和计算含频介电张量:使用粒子无关近似,或通过GW的随机相近似。可用于局域,半局域,杂化泛函,屏蔽交换,和Hartree-Fock。
7. 完全含频GW,速度达到等离子极点模型:单发G0W0;在G和W中迭代本征矢直至自洽;(实验性的)迭代G(也可以选W)本征矢的自洽GW;(实验性的)对相关能使用RPA近似的GW总能量;用LDA计算G和W的顶点校正(局域场效应),仅能用于非自旋极化的情况;(实验性的)W的多体顶点校正,仅能用于非自旋极化的情况。
8. 实验性的功能:用TD-HF和TD-杂化泛函求解Cassida方程(仅能用于非自旋极化的Tamm-Dancoff近似);GW顶点的Bethe-Salpeter(仅能用于非自旋极化的Tamm-Dancoff近似)。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
让你彻底明白所有vasp里能量的物理意义

(一)首先我们应明白,固体的结合能就是固体的内能E(结合)=U(内能),
原因如下:
    一般情况都把孤立原子的能量作为能量参考点。前段时间有个同学问VASP中得出的绝对能量是相对于什么的,其实就是相对孤立原子得。
(二)其次我们根据自由能与内能之间的关系F=U-TS
而且我们都知道VASP的所有计算都是在绝对0度下的情况,T=0代入上式,有F=U。所以结合就等于内能等于自由能。肯定有Free energy TOTEN=energy without entropy恒成立...
这时候肯定有人会说不对啊,可以看VASP手册,候博的参考书作证,肯定不对得。
现在我告诉你确实它们二者确实有区别,区别在下面的情况
(1)当我们用ISMEAR=-5时,费米能这儿没有展宽,它算出来的就是完全在绝对0度的能量。Free energy TOTEN=energy without entropy恒成立。
(2)有时为了在数学上处理的方便,为了更容易积分,我们也用ISMEAR!=-5(!=是不等于的意思)的方法,这个时候费米能这儿有一定的展宽。此时,我们容易想到,有展宽不就是相当有一定的熵值吗?所以这个时候虽然算的是绝对0度的情况,但是有一定的熵值(我们应明白,这个熵值不是由一定的温度带来的,而是数学处理的结果)。所以在SMEAR!=-5的方法我们会发现Free energy TOTEN和energy without entropy有一定的差别。此时energy without entropy是Free energy TOTEN在SIGMA趋于0的极限。
注意:(1)有人在算单个原子的能量时会发现单个原子的能量虽然很小但并不是0,但是按我上面的推导,固体中的结合能是相对孤立体系的能量而来的,所以单个原子得到的TOTEN肯定是0啊,原因在于我们的POTCAR不可能绝对合理,而且我们也知道计算单个原子的能量就是为了检测赝势,单原子得到的TOTEN越小说明赝势越好。但一般不会正好是0.
(2)如果你注意的话,energy without entropy与Free energy TOTEN在SIGMA趋于0也不是完全相等,但是也会发现它们之间的差别在10E-3左右,原因在于计算机求积分、求极限不能像我们人一样达到任意的精度。

还有,指出你几个概念上的问题,供探讨
第一,关于结合能。结合能是定义为相距无穷远的原子结合形成一定结构的物质所放出的能量
第二,关于单点能。它是第一性原理计算直接得到的能量,或者说是赝能,是一个空间点阵平均每阵点上采用赝势计算所得到的能量,其中包含了结合能的贡献,但是更多的,也包含了靠近芯区附近的电子在采用赝势近似下的能量,这一部分能量既不是原子芯区附近电子能量的真实反应,也不会影响化学键性质,不会对结合能有所贡献。
第三,Free energy TOTEN是体系总能,要减去阵点上分布的原子的能量再除以平均原子数才是结合能(当然,这个和你的计算脚本的设计有关),而且这还没有考虑不加展宽时没有被计算到的能带的因素。
第四,是否考虑能级展宽,和结合能的定义没有关系。
第五,结合能计算时对单个原子能量的计算应该只计算Gamma点能量,且用消除简并。


关于你说的这几点做个讨论
(一)关于结合能。你说“结合能是定义为相距无穷远的原子结合形成一定结构的物质所放出的能量”
你和我说的没区别,我说的是结合能是相对于“孤立原子做参考点的”,也就是它与周围任何原子没有相互作用,和你所说的相距无穷远一回事,我这个好像没有任何错误
(二)关于单点能。你说“它是第一性原理计算直接得到的能量,或者说是赝能,是一个空间点阵平均每阵点上采用赝势计算所得到的能量,其中包含了结合能的贡献,但是更多的,也包含了靠近芯区附近的电子在采用赝势近似下的能量,这一部分能量既不是原子芯区附近电子能量的真实反应,也不会影响化学键性质,不会对结合能有所贡献”。
我赞同你的大部分观点,也提出你说的几点错误,单点能准确的来说它包含了所有哈密顿的量,而且这儿的单点能不是你所说的“平均每个原子的能量”,而是你计算的整个原胞的能量。但是这个能量有一个参考点。你可以看候博得,也可以看我回的下一个贴子,至于“影响不影响成键之类的内容”固体力学上已经说的很清楚了
(三)你说“Free energy TOTEN是体系总能,要减去阵点上分布的原子的能量再除以平均原子数才是结合能(当然,这个和你的计算脚本的设计有关),而且这还没有考虑不加展宽时没有被计算到的能带的因素”
我不赞同你后面说的几点。Free energy TOTEN从字面意思上我们也知道它的结果是自由能,你可以说它是总能,因为根据我上面的推导,它们至少在数值是相等得。不在于你把它说成什么,你就是把它说成总能,其实它还是等于结合能,等于自由能,等于内能。至于除不除原子总数在于你想得到的是平均每个原子的还是总体系的,这在于个人。考虑不考虑展宽,那要看ISMEAR等于几,做几个实例就会感觉到它考虑没考虑了。
(四)你说“是否考虑展宽和结合能的定义没有关系”
我也没说和它的定义有什么关系啊,但是由于数学处理带来的误差,它对结合能的结果有一定的影响啊。
(五)对单个原子的结合能的计算应该只计算Gamma点的能量,且用削除简并。
你说得第五点我不懂,我算单个原子的能量时一直是按三个表面的构造方法来算的,也没想过什么简并。还望有高手给我帮助,第五点怎么理解


我给你写一遍候柱锋书上怎么说结合能得,然后和我说得对照一下:“VASP计算得到的总能己经减去了在以原子参考组态计算得到的总能(也就是构造赝势时,得到的总能,对应于POTCAR文件中的EATOM)”要得到准确的结合能,还需要减去前面单个原子计算中的第2种情况计算得到的修正值。
所以:::::我们可以认为vasp得到的总能就是结合能,但是由于赝势带来的影响,它存在一定的误差。为什么要减去修正值。我在这儿做个解释,由于我们在计算单原子时也用这个赝势了,计算总能时也用这个赝势了,两都有误差,但对于同一种元素来说,它们的误差相近,这样相减的话,正好能把误差消去(不可能完全消去,但是使我们的结果更加精确)。
这只是为了提高精度,就像候博说得“为了得到准确的结合能”,候博不是说从前面的计算来得到结合能,这只是为了考虑POTCAR带来的误差,而不是概念上差别。


关于你说的这几点做个讨论
(一)关于结合能。你说“结合能是定义为相距无穷远的原子结合形成一定结构的物质所放出的能量”
你和我说的没区别,我说的是结合能是相对于“孤立原子做参考点的”,也就是它与周围任何原子没有相互作用,和你所说的相距无穷远一回事,我这个好像没有任何错误。
===============
这里你说的是没有错误,但是我觉得有必要先澄清一下。
(二)关于单点能。你说“它是第一性原理计算直接得到的能量,或者说是赝能,是一个空间点阵平均每阵点上采用赝势计算所得到的能量,其中包含了结合能的贡献,但是更多的,也包含了靠近芯区附近的电子在采用赝势近似下的能量,这一部分能量既不是原子芯区附近电子能量的真实反应,也不会影响化学键性质,不会对结合能有所贡献”。
我赞同你的大部分观点,也提出你说的几点错误,单点能准确的来说它包含了所有哈密顿的量,而且这儿的单点能不是你所说的“平均每个原子的能量”,而是你计算的整个原胞的能量。但是这个能量有一个参考点。你可以看候博得,也可以看我回的下一个贴子,至于“影响不影响成键之类的内容”固体力学上已经说的很清楚了。
==============
从你的回复中,我可以知道你肯定没有学过晶体学或者空间群理论,你应该看看晶体学国际表中对于阵点的定义,阵点并不是每个原子,这里你的理解有问题,阵点是一个抽象点,一个晶体中包含所有对称性的可以仅通过平移来构造整个晶体的结构所占据的位置就是一个阵点,换句话说,一个阵点,就是一个满足平移对称性的原子集团,且该集团内部的位置满足该晶体结构的全部对称性,而且它不仅仅是“原胞”
(三)你说“Free energy TOTEN是体系总能,要减去阵点上分布的原子的能量再除以平均原子数才是结合能(当然,这个和你的计算脚本的设计有关),而且这还没有考虑不加展宽时没有被计算到的能带的因素”
我不赞同你后面说的几点。Free energy TOTEN从字面意思上我们也知道它的结果是自由能,你可以说它是总能,因为根据我上面的推导,它们至少在数值是相等得。不在于你把它说成什么,你就是把它说成总能,其实它还是等于结合能,等于自由能,等于内能。至于除不除原子总数在于你想得到的是平均每个原子的还是总体系的,这在于个人。考虑不考虑展宽,那要看ISMEAR等于几,做几个实例就会感觉到它考虑没考虑了。
===============
这个能量确切的说应该是叫做考虑电子振动熵的体系总自由能,当不考虑展宽的时候,它是等于总能的,如果你读过Vasp的代码,就知道TOTEN在vasp的计算中就是总能,这个和结合能不是一个概念,还包含有非成键部分的贡献,至于内能的定义,如果你阅读过塞兹的现代固体理论,或者Pauling的书,或者读过Morse当时提出morse势的那篇文献,就应该知道,固体物理中所使用的内能,指的是离子实的动能和原子的“结合能”之和——这里结合能之所以要打引号,是因为按定义,是要形成稳定结构或者亚稳态结构时才能称之为结合能,内能定义并没有考虑粒子芯区附近电子能量的影响,正如你所说,是“相对于“孤立原子做参考点的””,在0K下已经不考虑动能,因此就应是总能减去孤立原子的能量和才行,至于结合能,则是稳定状态下结构的这个能量。
(四)你说“是否考虑展宽和结合能的定义没有关系”
我也没说和它的定义有什么关系啊,但是由于数学处理带来的误差,它对结合能的结果有一定的影响啊。
(五)对单个原子的结合能的计算应该只计算Gamma点的能量,且用削除简并。
你说得第五点我不懂,我算单个原子的能量时一直是按三个表面的构造方法来算的,也没想过什么简并。还望有高手给我帮助,第五点怎么理解。
=============
简单的操作是计算单个原子能量只考虑Gamma点,然后三边都设置在10A以上,且不相等
至于原因,应该去查量子力学的书,记得本科的时候,老师都会讲到的。

根据F=U-TS,E(结合)=E(bulk)-nE(单个离散)。而E(bulk)就是U,通常我们取E(离散)为参考点。也就是把E(离散)看为0,这样推出来,在T=0时,F=E(结合)。 它是包含你所说得那些,而且就像我在前面的贴子中说得,它就是总得H得到的能量,但是它有一个参考,而这个参考就是离散原子的能量

[ Last edited by Gina88 on 2011-8-3 at 16:20 ] 返回小木虫查看更多

今日热帖
  • 精华评论
  • cenwanglai

    呵呵呵呵,学习。谢谢分享!

  • Gina88

    引用回帖:
    2楼: Originally posted by cenwanglai at 2011-08-03 22:01:51:
    呵呵呵呵,学习。谢谢分享!

    哎,这个也不是我写了,就是自己不是很清楚这方面的,查过之后想保存下来,所以就保存在这里的,要是小木虫能有个blog就好了。

  • Gina88

    POTCAR 赝势文件

    可以理解为分子力学模拟中的力场文件 但包括的信息更多
    VASP4.6将各元素优化的INCAR里的参数也包括在这里了,作为支持PREC的缺省选择
    通常各元素的POTCAR已经包括在软件包里了
    我们只需要按照POSCAR里的顺序,将各元素的POTCAR按顺序连接起来就可以了
    如以下命令:
    cat file1 file2 file3 > POTCAR

    软件包自带的绝大多数赝势是超软赝势(US-PP)了,但不少元素有两个版本,如何
    选取呢?
    一个简单的办法是看后缀
    标准的没有后缀 _h 硬一点 _s 软一点
    _pv,_sv,_d 就是说semi-core的p,s或者d也当做价态处理了
    如果是数字的话,表示的可能是不同的半径截距

    也可以参考各版本同目录下的V_RHFIN file ,PSCTR file
    这两个文件告知该版本的赝势是如何生成的。比如:
    V_RHFIN file
    Sc: 6p d2 s1
        8  21.   .002000  44.95590 125.   .25E-05 .300  200FCA 12.00000
       .7  1.0   0
      1.0   .0   .5 -320.8847 2.0000
      2.0   .0   .5  -34.4217 2.0000
      2.0  1.0  1.5  -28.2366 6.0000
      3.0   .0   .5   -3.7944 2.0000
      3.0  1.0  1.5   -2.2591 6.0000
      3.0  2.0  2.5    -.1113 2.0000
      4.0   .0   .5    -.2699 1.0000
      4.0  3.0  2.5    -.1000  .0000
    第一行是注释行 给出基本的信息
    第二行是最重要的控制行
        8  21.   .00 2000  44.95590 125.   .25E-05 .300  200 F CA 12.00000
        J   Z   XION    N  AM         H    DELRVR   PHI  NC1 | CH QCOR
                                                             |
                                                         GREEN

    J - 轨道数  Z - 原子序数    XION - 离子化程度 一般设为0 N - 格点数
    AM - 原子质量   H - 决定格点间距    DELRVR - 自洽收敛标准
    PHI - 线性拟合参数 NC1 - 最大自洽循环次数 GREEN - 是否存在初始的势
    CH - 交换相关能(XC)类型
          Slater-XC
        HL Hedin Lundquist (1971)
        CA Ceperly and Alder parameterized by J.Perdew and Zunger
        WI Wigner interpolation
        PB Perdew -Becke
        PW Perdew -Wang 86
        LM Langreth-Mehl-Hu
        91 Perdew -Wang 91
    QCOR - 非价键电子数(core electrons)
    第三行开始是每个轨道的具体参数,依次为
    n l j(=l±1/2) 原子轨道能 占有率

    PSCTR file of LDA/H1.25
       TITEL  = US H
       LULTRA =    T    use ultrasoft PP ?
       RWIGS  =    0.57  nn distance ! Wigner-Seitz radius

       RCLOC  =   .65
       NE     =   100
       LCOR   =   .TRUE.
       QCUT   =   -1
       RMAX   = 3.0 ! core radius for proj-oper

       Description
    l     E      TYP RCUT    TYP  RCUT(cutoff radius)
    0   0         15   0.80  23   1.25
    0   0.5       15   0.80  23   1.25
    1  -0.2       15   0.80  23   1.25
    最重要的地方上面已经用颜色标出来啦:)
    说明一下,TYP是指赝势的类型,RCUT是半径截距,TYP可取的值如下:
    正则
    1 BHS
    2 TM
    3 VAN
    6 XNC
    7 RRKJ wave function possibly with node
    15 RRKJ wave function strictly no node
    非正则 +8

    最后一个问题是LDA or GGA。貌似没有定论目前。
    这个最好是两个一起做做看啦。或者看文献别人验证过哪个数据好。
    其实据说目前最好的是PAW(P.E.Blochl,Phys.Rev.B 50,17953(1994).,Phys.Rev.B 59,
    1758(1999).),PP已经落伍了,不过好像我们用的VASP不带这个,就不展开讨论了。

  • Gina88

    初学VASP(六) 最重要的INCAR参数

    INCAR是决定how to do 的文件

    限于能力,只对部分最基本的一些参数(>,没有这个标志的参数都是可以不出现的)
    详细说明,在这里只是简单介绍这些参数的设置,详细的问题在后文具体示例中展开。
    部分可能会干扰VASP运行的参数在这里被刻意隐去了,需要的同学还是请查看VASP自带
    的帮助文档原文。

    参数列表如下:

    >SYSTEM name of System
        任务的名字 ***

    >NWRITE verbosity write-flag (how much is written)
        输出内容详细程度 0-3 缺省2
        如果是做长时间动力学计算的话 最好选0或1(首末步/每步核运动输出)
        据说也可以结合shell的tail或grep命令手动输出

    >ISTART startjob:
        restart选项 0-3 缺省0/1 for 无/有 前次计算的WAVECAR(波函数)
        1 'restart with constant energy cut-off'
        2 'restart with constant basis set'
        3 'full restart including wave function and charge prediction'

    ICHARG charge: 1-file 2-atom 10-const Default:if ISTART=0 2 else 0

    ISPIN spin polarized calculation (2-yes 1-no) default 2
       
    MAGMOM initial mag moment / atom Default NIONS*1

    INIWAV initial electr wf. : 0-lowe 1-rand
        Default 1 only used for start jobs (ISTART=0)  

    IDIPOL calculate monopole/dipole and quadrupole corrections
        1-3 只计算第一/二/三晶矢方向 适于slab的计算
        4   全部计算 尤其适于就算孤立分子

    >PREC precession: medium, high or low(VASP.4.5+ also: normal, accurate)
        Default: Medium VASP4.5+采用了优化的accurate来替代high,所以一般不推荐使用
        high。不过high可以确保'绝对收敛',作为参考值有时也是必要的。
        同样受推荐的是normal,作为日常计算选项,可惜的是说明文档提供的信息不足。
        受PREC影响的参数有四类:ENCUT; NGX,NGY,NGZ; NGXF, NGYF, NGZF; ROPT
        如果设置了PREC,这些参数就都不需要出现了
        当然直接设置相应的参数也是同样效果的,这里不展开了,随后详释

    >ENCUT energy cutoff in eV : default taken from POTCAR-file
        important! 重要到几乎最好不要手工去设置
        除非文献告诉你要用多少,或者经过结果可靠性的验证
        当然,为了测试一下提交的任务,也不妨先设个较小的值
    附加说明:
        当且仅当POTCAR里头没有设置ENCUT时(其实貌似没有才是常态),才受PREC设置影
    响从POTCAR里找出相应的ENMAX/ENMIN值来设置。
        PREC=   Low     Medium  Accurate High
        ENCUT=  ENMIN   ENMAX   ENMAX    130%ENMAX
        对于多个元素的POTCAR不同的ENMAX/ENMIN,都取最大值

    >NGX,NGY,NGZ: FFT mesh for wavefunctions
    >NGFX, NGFY, NGFZ: FFT mesh for charges
        也是两类重要的最好不要去动的参数,PREC设置将从POTCAR中自动读取。
        PREC=High,Accurate 2倍值,用来避免wrap around errors得到精确解
        PREC=Low,Medium,Normal 3/4 也已经足够精确到 1 meV/atom

    >LREAL: Default= .FALSE.
        赝势的非局域部分用到的一个积分在倒格空间或者实空间都可以求值。这个选项就
    是决定是在哪个空间里求。在倒格空间里,采用平面波基组求解,在实空间里,采用积
    分球求解。
        缺省是.FALSE,即不在实空间求。但效率会低一些。
        其他选项是 O or On,A or Auto 和.True.。
        On和.TRUE.的差别在于是否使用King-Smith算法优化,Auto则自动选择,推荐。
       
    >ROPT: 优化控制每个核周围的积分球内的格点数,LREAL=Auto or On
        For LREAL=On   
            PREC= Low 700 points in the real space sphere ( ROPT=0.67)
            PREC= Med 1000 points in the real space sphere ( ROPT=1.0)
            PREC= High 1500 points in the real space sphere ( ROPT=1.5)
        For LREAL=Auto
            PREC= Low accuracy 1e-2 ( ROPT=0.01)
            PREC= Med accuracy 2e-3  ( ROPT=0.002)
            PREC= High accuracy 2e-4  ( ROPT=2E-4)

    >NELM, NELMIN and NELMDL nr. of electronic steps
        Default
    最大电子自洽循环次数  NELM = 60
    最小次数              NELMIN = 2
    弛豫次数              NELMDL = -5  if ISTART=0, INIWAV=1, and IALGO=8
                                   -12 if ISTART=0, INIWAV=1, and IALGO=48
                                   0   else
    如果初始的波函数采取随机赋值,即ISTART=0, INIWAV=1,那么很可能开始的值比较离
    谱,那么在第一步核运动循环之前采用NELMDL(负值)步的非自洽(保留初始的H)步计算将
    减少计算所需的时间。
    如果NELMDL取正值,将在每次核运动之后附加指定次数的弛豫步,目前不知道可以干嘛

    >EDIFF 电子SC循环的收敛精度 缺省:1e-4
        注意,即使EDIFF=0,NELM步也会执行

    >EDIFFG 核运动的收敛精度 缺省:EDIFF*10 (总能量)
        EDIFFG<0 则在所有的力都小于EDIFFG时停止
        EDIFFG=0 则在NSW步后停止
        此参数不支持MD,仅用于Relax

    >NSW 指定核运动步数 缺省: 0

    NBLOCK and KBLOCK inner block; outer block
        Default  NBLOCK = 1 KBLOCK = NSW

    >IBRION ionic relaxation: -1-Fixed 0-MD 1-quasi-New 2-CG 3-Damp 5-freq
        Default if NSW=0 or 1 IBRION=-1 else IBRION=0
        这个参数是和ISIF;IALGO/ALGO一起决定怎么算的最重要的参数
        1-3 是三种Relax的方法,受ISIF决定是否固定核位置、晶胞大小和形状
        0 是标准的ab-initio MD,不受ISIF影响,即不改变晶胞大小和形状
        5 大概是和0差不多吧?支持Hessian和Freq(仅Г点)的计算以及部分固定的MD
        详细的要在示例中具体情况具体分析了。

    >ISIF calculate stress and what to relax
        Default  if IBRION=0 (MD) 0 else 2
        ISIF│calculate │  calculate   │relax │   change   │  change
            │  force   │stress tensor │ions  │ cell shape │cell volume
        ──┼─────┼───────┼───┼──────┼──────
        0   │  yes     │ no           │yes   │ no         │no
        1   │  yes     │ trace only   │yes   │ no         │no
        2   │  yes     │ yes          │yes   │ no         │no
        3   │  yes     │ yes          │yes   │ yes        │yes
        4   │  yes     │ yes          │yes   │ yes        │no
        5   │  yes     │ yes          │no    │ yes        │no
        6   │  yes     │ yes          │no    │ yes        │yes
        7   │  yes     │ yes          │no    │ no         │yes
    Trace only means that only the total pressure

    IWAVPR prediction of wf.: 0-non 1-charg 2-wave 3-comb
        Default  if IBRION=0 (MD) 2
                 if IBRION=1,2 (relaxation) 1
                 else (static calculation) 0
        以上选项保存TMPCAR +10 则全部使用内存,不保存此文件
        IWAVPR determines how wave functions and/or charge density are
        extrapolated from one ionic configuration to the next configuration.

    >ISYM symmetry: 0-nonsym 1-usesym 是否使用对称性 Default 1
       
    SYMPREC determines precision of the positions in POSCAR file. Default 1e-5

    LCORR Harris-correction to forces. Default .TRUE.

    >POTIM time-step for ion-motion (fs)
        Default   
         IBRION=0 (MD) no default,必须指定,MD每步步长
         IBRION=1,2,3 (relaxation) 0.5 最小化的'scaling constant',尤其是IBRION=1

    >TEBEG, TEEND temperature during run (MD有效)
        Default: TEBEG = 0 TEEND = TEBEG
        注意VASP的温度定义与实际温度有细微的差别,所以
        TEBEG=T×(N-1)/N  T为实际温度,N为原子数

    SMASS 控制MD中的速度模拟方法
    default -3 微正则系综(总自由能不变)
    -2 保持初速度不变
    -1 每NBLOCK步调整速度,来保证动能连续
    >=0 Nosé算法模拟正则系综,(不懂-,-)

    NPACO and APACO
    NPACO : number of slots for pair correlation (PC) function. Default 256
    APACO : maximum distance for the evaluation of PC function in A. Default 16
    简单说就是在不超过APACO的NPACO个距离上求成对相关函PCF

    RWIGS Wigner-Seitz半径 DOS计算用

    >NELECT 总电子数
        如果系统不是电中性的就必须设置,所带电荷作为均一的背景电子气考虑

    NUPDOWN default不考虑电子自旋态改变的可能

    EMIN, EMAX energy-range for DOSCAR file

    >ISMEAR part. occupancies: -5 tet with Blochl -4-tet -1-fermi 0-gaus >0 MP
    采用所谓部分占有波函数,用一个函数来平滑积分,尤其是对于金属体系可减少k点
    Default ISMEAR = 1 如果在KPOINTS里使用了tetrahedra方法 推荐ISMEAR=5

    SIGMA determines the width of the smearing in eV
    Default SIGMA = 0.2

    >ALGO algorithm: Normal (Davidson) | Fast (mixed)| Very_Fast (RMM-DIIS)
    >IALGO algorithm: use only 48 (RMM-DIIS) or 38(Davidson) or 8(CG)
    Default IALGO = 38 for VASP4.5
    算法是最重要的参数之一。一般VASP推荐使用的是以上三种算法,一般来说8/38是初期
    比较快收敛,在接近平衡时采用48较快,在初期或MD时使用48可能会遇到不收敛的情况
    。也可以使用ALGO参数来替代IALGO,设置Fast,VASP会先用38,再自动切换到48。
    各种算法只要收敛,结果应该一致。
    另一个可能有用的选项是-1。不进行实际的计算,只对重要的步骤做计算测试,并将测
    试得到的各部分耗时输出在OUTPUT里。

    VOSKOWN use VWN interpolation 算法,default 0 不用,如果使用了PW91或者需要计
    算磁性质,不妨设为1 用

    mixing tag & MAXMIX
        IMIX = type of mixing
        AMIX = linear mixing parameter
        AMIN = minimal mixing parameter
        BMIX = cutoff wave vector for Kerker mixing scheme
        AMIX_MAG = linear mixing parameter for magnetization
        BMIX_MAG = cutoff wave vector for Kerker mixing scheme for mag.
        WC = weight factor for each step in Broyden mixing scheme
        INIMIX = type of initial mixing in Broyden mixing scheme
        MIXPRE = type of preconditioning in Broyden mixing scheme
        MAXMIX = maximum number steps stored in Broyden mixer
    Default
    for US-PP non-magnetic
    IMIX  =     4                    
    AMIX  =     0.8        
    BMIX  =     1.0        
    WC    =     1000.  
    INIMIX =    1  
    MIXPRE =    1
    MAXMIX =    -45
    值得注意的是,在MD或者Relax的时候,设置MAXMIX(>0,一般约3倍的电子SC步数),可能
    会大大减少核运动步数。 但是同时会增加对内存的要求。

    LWAVE,LCHARG and LVTOT create WAVECAR/CHGCAR/LOCPOT
    LELF create ELFCAR
    LORBIT create PROOUT
    输出文件的选项

    NPAR 并行计算band的节点数,每一个节点计算一个band当然可以提高并行效率,减少通
    讯量,不过貌似现在硬件的主要限制还是内存,而这个选项的使用可能会大幅增加内存
    的需求

    >NBANDS 总能带数。
        之所以把它放在最后,是因为它对于解决内存需求的重要性。计算需要大量的
    能带(空带),至少要1个空带(否则VASP会给出警告)。一般NBANDS=NELECT/2+NIONS/2
    以上可得到较精确的结果,如果内存不够就只好减少NBANDS,在牺牲精度和体系大小之
    间平衡了。

    最后提示一下大多数参数的首字母代表了参数的性质
    I 初始化 L 逻辑开关 E 能量 N 数目 T 温度
    便于记忆,

  • Gina88

    初学VASP(七) VASP程序的编译

    下面以编译VASP4.4.5版本为例,编译更新的版本VASP4.5.5、VASP4.6和VASP5.0(即将发布)的步骤与此相同。

    1、  所需文件和程序

    VASP源代码:vasp.4.4.5.tar.gz和vasp.4.lib.tar.gz
    数学库:LAPACK和BLAS (http://www.netlib.org/
    或mkl(配合intel的fotran编译器用),
    或ATLAS (http://math-atlas.sourceforge.net/
    或Lib GOTO (http://www.cs.utexas.edu/users/flame/goto/  
    Fortran编译器:PGI fortran 至少4.0以上版本(http://www.pgroup.com/
    或Intel的 ifc (8.0以上版本是ifort,
    http://www.intel.com/software/products/compilers/flin/ ,前者可以从网站上下载到15天的试用版本,后者可以从网站下载到免费的版本。

    2、下面采用PGI fortan编译器pgf90、ATLAS数学库对VASP4.4.5进行编译

    这里假定已经安装好了fortran编译器,所有文件都放在/home/xxxx/VASP_SRC目录下,机器的操作系统是Linux: Redhat9.0。

    a) 从http://math-atlas.sourceforge.net/下载atlas3.6.0_Linux_P4SSE2.tar.gz,并
    用如下命令解压:tar xzvf atlas3.6.0_Linux_P4SSE2.tar.gz

    解压后得到一个目录Linux_P4SSE2,在此目录下有个lib子目录,该lib子目录中的文件为libatlas.a, libcblas.a, libf77blas.a, liblapack.a, 这些就是编译vasp时所需要
    的数学库文件之一。

    b) 用如下命令解压vasp.4.4.5.tar.gz和vasp.4.lib.tar.gz:
       tar  xzvf  vasp.4.4.5.tar.gz
       tar  xzvf  vasp.4.lib.tar.gz

    解压后分别得到目录vasp.4.4和vasp.4.lib,目录vasp.4.4中文件是vasp的主要源代码,vasp.4.lib是编译vasp时需要的一些特定的数学库程序,在这两个目录中都有编译时所用的makefile文件,针对机器和fortran编译器,选择相应的makefile。

    c) 进入vasp.4.lib目录,选择makefile.linux_pg,并把它拷贝成makefile,然后键入make命令开始编译。整个命令如下:
      cd   vasp.4.lib
       cp   makefile.linux_pg   makefile
       make

    编译成功后,得到libdmy.a文件。

    d) 退出vasp.4.lib目录,进入vasp.4.4目录,选择makefile.linux_pg,并把它拷贝成makefile,编辑makefile文件,通过修改LIB变量的赋值而采用基于ATLAS的数学库文件,修改的地方和方法是:

    在第87和88行前加上#,把这两行注释掉,然后去掉第91,92和93行前的#。

    修改前和后的内容为分别为:

    LIB     = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \
         ../vasp.4.lib/lapack_double.o -L/usr/local/lib /usr/local/lib/libblas.a
    #
    # the following lines should allow you to link to atlas based blas
    #LIB     = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \
    #     ../vasp.4.lib/lapack_double.o -L/usr/local/lib \
    #     -L$(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_ATHLONTB/ -lf77blas –latlas
    #LIB     = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \
    #     ../vasp.4.lib/lapack_double.o -L/usr/local/lib /usr/local/lib/libblas.a
    #
    # the following lines should allow you to link to atlas based blas
    LIB     = -L../vasp.4.lib -ldmy ../vasp.4.lib/linpack_double.o \
         ../vasp.4.lib/lapack_double.o -L/usr/local/lib \
         -L../Linux_P4SSE2/lib/ -lf77blas -latlas

    修改后保存makefile文件,键入make命令开始编译vasp。整个命令为:
      cd  ..
       cd  vasp.4.4
       cp  makefile.linux_pg  makefile
       编辑修改makefile文件
       make
    编译成功后,就可以得到VASP的可执行文件vasp。

    e) 以root帐号登录机器,把成功编译VASP后得到的vasp放到/bin目录下,则任何一个普通用户都可以使用vasp。此时vasp可以当成于一个linux的命令来使用了,不再需要把vasp拷贝到当前的计算目录下。

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓