VASP问题MicrosoftWord.doc
15页VASP计算的过程遇到的问题1、VASP能够进行哪些过程的计算?怎样设置?我们平时最常用的研究方法是做单点能计算,结构优化、从头计算的分子动力学和电子结构相关性质的计算一般我们的研究可以按照这样的过程来进行如果要研究一个体系的最优化构型问题可以首先进行结构弛豫优化,然后对优化后的结构进行性质计算或者单点能计算如果要研究一个体系的热力学变化过程可以首先进行分子动力学过程模拟,然后在某个温度或压强下进行性质计算或者单点能计算如果要研究一个体系的热力学结构变化可以首先在初始温度下进行NVT计算,然后进行分子动力学退火,然后在结束温度下进行性质计算研究2、什么是单点能计算(singlepointenergy)?如何计算?跟其它软件类似,VASP具有单点能计算的功能也就是说,对一个给定的固定不变的结构(包括原子、分子、表面或体材料)能够计算其总能,即静态计算功能单点能计算需要的参数最少,最多只要在KPOINTS文件中设置一下合适的K点或者在INCAR文件中给定一个截断能ENCUT就可以了还有一个参数就是电子步的收敛标准的设置EDIFF,默认值为EDIFF=1E-4,一般不需要修改这个值具体来说要计算单点能,只要在INCAR中设置IBRION=-1也就是让离子不移动就可以了。
3、什么是结构优化(structureoptimization)?如何计算?结构优化又叫结构弛豫(structurerelax),是指通过对体系的坐标进行调整,使得其能量或内力达到最小的过程,与动力学退火不同,它是一种在0K下用原子间静力进行优化的方法可以认为结构优化后的结构是相对稳定的基态结构,能够在实验之中获得的几率要大些(当然这只是理论计算的结果,必须由实验来验证)一般要做弛豫计算,需要设置弛豫收敛标准,也就是告诉系统收敛达成的判据(convergencebreakcondition),当系统检测到能量变化减小到一个确定值时例如EDIFFG=1E-3时视为收敛中断计算,移动离子位置尝试进行下一步计算EDIFFG这个值可以为负,例如EDIFFG=-0.02,这时的收敛标准是当系统发现所有离子间作用力都小于给定的数值,如0.02eV/A时视为收敛而中断弛豫计算主要有两种方式:准牛顿方法(quasi-NewtonRMM-DIIS)和共轭梯度法(CG)两种准牛顿方法计算速度较快,适合于初始结构与平衡结构(势能面上全局最小值)比较接近的情况,而CG方法慢一些,找到全局最小的可能性也要大一些。
选择方法为IBRION=1时为准牛顿方法而IBRION=2时为CG方法具体来说要做弛豫计算,设置IBRION=1或者2就可以了,其它参数根据需要来设置NSW是进行弛豫的最大步数,例如设置NSW=100,当计算在100步之内达到收敛时计算自动中断,而100步内没有达到收敛的话系统将在第100步后强制中止(平常计算步数不会超过100步,超过100步可能是计算的体系出了问题)参数通常可以从文献中发现,例如收敛标准EDIFFG等有的时候我们需要一些带限制条件的弛豫计算,例如冻结部分原子、限制自旋的计算等等冻结部分原子可以在POSCAR文件中设置selectivedynamic来实现自旋多重度限制可以在INCAR中以NUPDOWN选项来设置另外ISIF选项可以控制弛豫时的晶胞变化情况,例如晶胞的形状和体积等费米面附近能级电子分布的smearing是一种促进收敛的有效方法,可能产生物理意义不明确的分数占据态情况,不过问题不大在INCAR文件中以ISMEAR来设置一般来说K点只有一两个的时候采用ISMEAR=0,金属体材料用ISMEAR=1或2,半导体材料用ISMEAR=-5等等不过有时电子步收敛速度依然很慢,还需要设置一些算法控制选项,例如设置ALGO=Very_Fast,减小真空层厚度,减少K点数目等。
弛豫是一种非常有效的分析计算手段,虽然是静力学计算但是往往获得一些动力学得不到的结果4、vasp的分子动力学模拟vasp做分子动力学的好处,由于vasp是近些年开发的比较成熟的软件,在做电子scf速度方面有较好的优势缺点:可选系综太少尽管如此,对于大多数有关分子动力学的任务还是可以胜任的主要使用的系综是NVT和NVE一般做分子动力学的时候都需要较多原子,一般都超过100个当原子数多的时候,k点实际就需要较少了有的时候用一个k点就行,不过这都需要严格的测试通常超过200个原子的时候,用一个k点,即Gamma点就可以了INCAR:EDIFF 一般来说,用1E-4或者1E-5都可以,这个参数只是对第一个离子步的自洽影响大一些,对于长时间的分子动力学的模拟,精度小一点也无所谓,但不能太小IBRION=0分子动力学模拟IALGO=48一般用48,对于原子数较多,这个优化方式较好NSW=1000 多少个时间步长POTIM=3 时间步长,单位fs,通常1到3.ISIF=2 计算外界的压力.NBLOCK=1 多少个时间步长,写一次CONTCAR,CHG和CHGCAR,PCDAT.KBLOCK=50NBLOCK*KBLOCK个步长写一次XDATCAR.(个离子步写一次PCDAT.)ISMEAR=-1 费米迪拉克分布.SIGMA=0.05单位:电子伏NELMIN=8 一般用6到8,最小的电子scf数.太少的话,收敛的不好.LREAL=AAPACO=10径向分布函数距离,单位是埃.NPACO=200 径向分布函数插的点数.LCHARG=F尽量不写电荷密度,否则CHG文件太大.TEBEG=300 初始温度.TEEND=300终态温度。
不设的话,等于TEBEG.SMASS=-3 NVEensemble;-1用来做模拟退火大于0NVT系综正确:SMASS=1,2,3是没有区别的都是NVTensembleSMASS只要是大于0就是NVT系综CONTCAR是每个离子步之后都会写出来的,但是会用新的把老的覆盖CHG是在每10个离子步写一次,不会覆盖CHGCAR是在任务正常结束之后才写的5、收敛判据的选择结构弛豫的判据一般有两中选择:能量和力这两者是相关的,理想情况下,能量收敛到基态,力也应该是收敛到平衡态的但是数值计算过程上的差异导致以二者为判据的收敛速度差异很大,力收敛速度绝大部分情况下都慢于能量收敛速度这是因为力的计算是在能量的基础上进行的,能量对坐标的一阶导数得到力计算量的增大和误差的传递导致力收敛慢到底是以能量为收敛判据,还是以力为收敛判据呢?关心能量的人,觉得以能量为判据就够了;关心力相关量的人,没有选择,只能用力作为收敛标准对于超胞体系的结构优化,文献大部分采用Gamma点做单点优化这个时候即使采用力为判据(EDIFFG=-0.02),在做静态自洽计算能量的时候,会发现,原本已经收敛得好好的力在不少敏感位置还是超过了结构优化时设置的标准。
这个时候,是不是该怀疑对超胞仅做Gamma点结构优化的合理性呢?是不是要提高K点密度再做结构优化呢在我看来,这取决于所研究的问题的复杂程度我们的计算从原胞开始,到超胞,到掺杂结构,到吸附结构,到反应和解离每一步都在增加复杂程度结构优化终点与初始结构是有关的,如果遇到对初始结构敏感的优化,那就头疼了而且,还要注意到,催化反应不仅与原子本身及其化学环境有关,还会与几何构型有关气固催化反应过程是电子的传递过程,也是分子拆分与重新组合的过程如果优化终点的构型不同,可能会导致化学反应的途径上的差异仅从这一点来看,第一性原理计算的复杂性,结果上的合理性判断都不是手册上写的那么简单对于涉及构型敏感性的结构优化过程,我觉得,以力作为收敛判据更合适而且需要在Gamma点优化的基础上再提高K点密度继续优化,直到静态自洽计算时力达到收敛标准的6、结构优化参数设置结构优化,或者叫弛豫,是后续计算的基础其收敛性受两个主要因素影响:初始结构的合理性和弛豫参数的设置初始结构初始结构包括原子堆积方式,和自旋、磁性、电荷、偶极等具有明确物理意义的模型相关参数比如掺杂,表面吸附,空位等结构,初始原子的距离,角度等的设置需要有一定的经验积累。
DFT计算短程强相互作用(相对于范德华力),如果初始距离设置过远(如超过4埃),则明显导致收敛很慢甚至得到不合理的结果比较好的设置方法可以参照键长比如CO在O顶位的吸附,可以参照CO2中C-O键长来设置(如增长20%)也可以参照文献记住一些常见键长,典型晶体中原子间距离等参数,有助于提高初始结构设置的合理性实在不行,可以先在小体系上测试,然后再放到大体系中算弛豫参数弛豫参数对收敛速度影响很大,这一点在计算工作没有全部铺开时可能不会觉察到有什么不妥,反正就给NSW设置个“无穷大”的数,最后总会有结果的但是,时间是宝贵的,恰当的设置3小时就收敛的结果,不恰当的设置可能要一个白天加一个黑夜如果你赶文章或者赶着毕业,你就知道这意味这什么结构优化分电子迭代和离子弛豫两个嵌套的过程电子迭代自洽的速度,有四个响很大的因素:初始结构的合理性,k点密度,是否考虑自旋和高斯展宽(SIGMA);离子弛豫的收敛速度,有三个很大的影响因素:弛豫方法(IBRION),步长(POTIM)和收敛判据(EDIFFG).一般来说,针对理论催化的计算,初始结构都是不太合理的因此一开始采用很粗糙的优化(EDIFF=0.001,EDIFFG=-0.2),很低的K点密度(Gamma),不考虑自旋就可以了,这样NSW<60的设置就比较好。
其它参数可以默认经过第一轮优化,就可以进入下一步细致的优化了就我的经验,EDIFF=1E-4,EDIFFG=-0.05,不考虑自旋,IBRION=2,其它默认,NSW=100;跑完后可以设置IBRION=1,减小OPTIM(默认为0.5,可以设置0.2)继续优化优化的时候让它自己闷头跑是不对的,经常看看中间过程,根据情况调节优化参数是可以很好的提高优化速度这个时候,提交两个以上的任务排队是好的方式,一个在调整的时候,下一个可以接着运行,不会因为停下当前任务导致机器空闲无论结构优化还是静态自洽,电子步的收敛也常常让新手头痛如果电子步不能在40步内收敛,要么是参数设置的问题,要么是初始模型太糟糕(糟糕的不是一点点)静态自洽过程电子步不收敛一般是参数设置有问题这个时候,改变迭代算法(ALGO),提高高斯展宽(SIGMA增加),设置自洽延迟(NELMDL)都是不错的方法对于大体系比较难收敛的话,可以先调节AMIN,BMIX跑十多步,得到电荷密度和波函数,再重新计算实在没办法了,可以先放任它跑40步,没有收敛的迹象的话,停下来,得到电荷密度和波函数后重新计算一般都能在40步内收敛对于离子弛豫过程,不调节关系也不大。
开始两个离子步可能要跑满60步(默认的),后面就会越来越快了总的说来,一般入门者,多看手册,多想多理解,多上机实践总结,比较容易提高到一个熟练操作工的水平如果要想做到“精确打击”,做到能在问题始发的时候就立刻采取有效措施来解决,就需要回归基础理论和计算方法上来了7、优化结果对初始结构和“优化路径”的依赖原子吸附问题不大,但是小分子吸附,存在初始构型上的差异slab上水平放置,还是垂直放置,可能导致收敛结果上的差异根据H-K理论,理想情况下,优化得到的应该是全局最小,但在数值计算的时候可能经常碰到不是全局最小的情况实际操作中发现,多个不同初始结构优化收敛后在能量和结构上存在一定差异为了加快收敛速度,特别是对于表面-分子吸附结构,初始放松约束,比。





