VASP计算前的各种测试
VASP测试报告

VASP常规计算测试报告黄孙超(897091619@)PhD of UOW, Australia以下只是测试内容不能保证正确可靠一、手动晶格常数优化体系为FCC的硅,具体参数设置如下:INCAR文件:System= fcc si #此行(第一行)为注释行,它的值对VASP计算没有影响。
ISTART=0; ICHARG=2 #这两个参数的作用类似,因此放在同一行。
ISTART=0和ICHARG=2表示开启一个新任务。
ENCUT=240 #截断能的大小,一般设置为1.3倍ENMAX,此处约等于ENMAX。
ENMAX的值可由命名grep ENMAX POTCAR获得。
ISMEAR=0; SIGMA=0.1 !注意:该颜色(蓝色)字体表示某文件的内容,黑色字体为注释字体不要写到文件中,如INCAR文件的第一行只是System=fcc siKPOINTS文件:K-POINTSM #产生KPOINTS方法,非六角结构建议用Monkhorst,六角结构用Gamma,VASP只读取第一个字母,所以只写M就行。
11 11 110 0 0POTCAR 文件从势函数库中获得。
POSCAR由脚本控制文loop.sh件产生,脚本的内容如下:#! /bin/bashrm eosfit.txt #删除以前存在的eosfit.txt 文件rm WAVECARfor i in 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3; docat >POSCAR <<!fcc:$i0.5 0.5 0.00.0 0.5 0.50.5 0.0 0.51cartesian0 0 0!mpirun -n 8 vasp-5.3 #采用mpi命令运行VASP程序,根据自己的情况修改此行,只要让VASP运行就行。
E=`grep "entropy=" OUTCAR | tail -1 | awk '{printf "%12.6f\n", $4}'` #从OUTCAR文件中读取不包含熵的自由能,并赋给E。
VASP表面

Next: 采用VASP如何计算晶体的弹性常数 Up: VASP计算实例 Previous: 用VASP 计算Pd金属的晶格常数 Contents用VASP 计算表面能做表面计算时,第一步我们需要测试K 点的收敛性。
通常,在垂直表面方向用1个K 点就可以了,在平行表面方向,可以用和体材料类似的K 点密度。
其次,我们要测试真空厚度(vacuum thickness)的收敛性。
我们构造完一个slab 后,将真空厚度逐渐从增加到,体系的总能量改变不超过10meV 的时候,可以初步认为真空厚度达到标准。
以下是一个3层的(fcc) Pd slab 的能量随着真空厚度的变化。
其INCAR 文件如下:SYSTEM = undeformed fcc Pd (111) surface calculation Startparameter for this run: PREC = AccurateISTART = 0 job : 0-new 1-cont 2-samecut ICHARG = 2 charge: 1-file 2-atom 10-const ISPIN = 1 spin polarized calculation?Electronic Relaxation 1NELM = 90; NELMIN= 8; # of ELM steps EDIFF = 0.1E-03 stopping-criterion for ELM LREAL = .FALSE. real-space projection NBANDS = 40Ionic relaxationEDIFFG = 0.1E-2 stopping-criterion for IOM NSW = 0 number of steps for IOMIBRION = 2 ionic relax: 0-MD 1-quasi-New 2-CG ISIF = 2 stress and relaxationPOTIM = 0.10 time-step for ionic-motion TEIN = 0.0 initial temperatureTEBEG = 0.0; TEEND = 0.0 temperature during runDOS related values:ISMEAR = 1 ; SIGMA = 0.20 broadening in eV -4-tet -1-fermi 0-gausElectronic relaxation 2 (details)Write flagsLWAVE = F write WAVECARLCHARG = F write CHGCARLVTOT = .TRUE.其中因为Pd是金属,ISMEAR设置为method of Methfessel-Paxton。
VASP(计算前的各种测试)

(计算前的)验证一、检验赝势的好坏:(一)方法:对单个原子进行计算;(二)要求:1、对称性和自旋极化均采用默认值;2、ENCUT要足够大;3、原胞的大小要足够大,一般设置为15 Å足矣,对某些元素还可以取得更小一些。
(三)以计算单个Fe原子为例:1、INCAR文件:SYSTEM = Fe atomENCUT = 450.00 eVNELMDL = 5 ! make five delays till charge mixing,详细意义见注释一ISMEAR = 0SIGMA=0.12、POSCAR文件:atom15.001.00 0.00 0.000.00 1.00 0.000.00 0.00 1.001Direct0 0 03、KPOINTS文件:(详细解释见注释二。
)AutomaticGamma1 1 10 0 04、POTCAR文件:(略)注释一:关键词“NELMDL”:A)此关键词的用途:指定计算开始时电子非自洽迭代的步数(即NELMDL gives the number of non-selfconsistent steps at the beginning),目的是make calculations faster。
“非自洽”指的是保持charge density 不变,由于Charge density is used to set up the Hamiltonian, 所以“非自洽”也指保持初始的哈密顿量不变。
B)默认值(default value):NELMDL = -5 (当ISTART=0, INIWA V=1, and IALGO=8时)NELMDL = -12 (当ISTART=0, INIWA V=1, and IALGO=48时)NELMDL = 0 (其他情况下)NELMDL might be positive or negative.A positive number means that a delay is applied after each ionicmovement -- in general not a convenient option. (在每次核运动之后)A negative value results in a delay only for the start-configuration. (只在第一步核运动之前)C)关键词“NELMDL”为什么可以减少计算所需的时间?Charge density is used to set up the Hamiltonian, then the wavefunctions are optimized iteratively so that they get closer to the exact wavefunctions of this Hamiltonian. From the optimized wavefunctions a new charge density is calculated, which is then mixed with the old input-charge density. A brief flowchart is given below.(参自Manual P105页)一般情况下,the initial guessed wavefunctions是比较离谱的,在前NELMDL次非自洽迭代过程中保持charge density不变、保持初始的哈密顿量不变,只对wavefunctions进行优化,在得到一个与the exactwavefunctions of initial Hamiltonian较为接近的wavefunctions后,再开始同时优化charge density。
vasp 计算知识

vasp 输入文件中的ISMEAR参数指的是波函数占据数目,但是这个到底是什么意思?可以浅显一点讲吗
就是说电子在费米面附近占据数从0突变到1,这是个deta函数,为了计算方便,用一个平滑点的函数在费米面附近代替这个deta函数,这样计算就不容易振荡,易于收敛。ismear就是可以采用这种方法:将SIGMA在不同大小的kmesh下进行静态计算测试,对每一个SIGMA值求“entropy T*S”值,可以得出一系列(一般取两条)不同kmesh下SIGMA与“entropy T*S”对应的曲线,将这些曲线比较,取不同kmesh曲线的“entropy T*S”差值最小的点对应的SIGMA值即可。具体参数设置可以参看侯柱峰编写的《VASP软件包使用入门指南》中“§5.7节ISMEAR和SIGMA”。
SIGMA的值是展宽,决定了电子的占有数,当它取不同值时,对金属体系的费米能处的电子占有数变化很大。一般地对于半导体和绝缘体来说SIGMA=0.05就够小了,金属的默认取值0.2。如果计算的体系是金属,在静态计算物理量时,则用ISMEAR=-5,这时不必设置SIGMA(此时SIGMA的取值对结果没有影响)。如果对体系进行驰豫,先用ISMAR=1或2(金属体系)或0(半导体或绝缘体)优化出SIGMA,得到优化的结构后,再进行静态计算(ISMEAER=0用的比较多,手册上的说法不管什么计算取ISMEAR=0然后找一个合适的SIGMA就可以)。另外,SIGMA的值依赖于kmesh的大小,当kmesh发生改变时SIGMA的值也需要重新优化取值。
最好是每做一个计算,都要先做一个SIGMA的检测以选取合适的SIGMA值,不过在有了可靠的经验以后就不用每次都做了。绝缘体SIGMA可以取得小一点,金属的不要取的太小否则不容易收敛。在收敛速度可以接受的情况下可以适当减小SIGMA。
VASP计算DOS和能带

VASP计算DOS和能带个人总结一:VASP计算DOS和能带1.计算DOS①POSCAR②POTCAR③KPOINTS(建议以Gamma为中心取点,通常K×a≈45即可)④INCAR(越简洁越好)第一步:结构优化SYSTEM=**ISTART=0ENCUT=500(最好对其进行测试)EDIFF=1E-5EDIFFG=-0.01NSW=100ISIF=2IBRION=2【优化后计算DOS可以一步完成,也可以分为两步来完成,主要是计算量涉及到计算时间的差别】第二步:静态自洽(此时可稍微降低K点数,用第一步优化得到的CONTCAR作为POSCAR进行计算)SYSTEM=**ISTART=0PREC=AccurateEDIFF=1E-5EDIFFG=-0.01ENCUT=500ISMEAR=-5LCHARG=.TRUE.注意:此时得到的E-feimi是准确的,需要记下(grep ‘E-fermi’OUTCAR)第三步:非自洽计算(采用高密度K点)SYSTEM=**ISTART=1ICHARG=11LMAXMIX=2/4/6(VASP官网原话:If ICHARG is set to 11 or 12, it is strongly recommened to set LMAXMIX to twice the maximum l-quantum number in the pseudpotentials. Thus for s and p elements LMAXMIX should be set to 2, for d elements LMAXMIX should be set to 4, and for f elements LMAXMIX should be set to 6)PREC=AccurateEDIFF=1E-5EDIFFG=-0.01ENCUT=500(截断能最好与上一步保持一致)ISMEAR=-5LORBIT=10/11(推荐11,可以得到能级分裂的数据)优化后计算DOS一步完成:(采用高密度K点)SYSTEM=**ISTART=1PREC=AccurateEDIFF=1E-5EDIFFG=-0.01ENCUT=500ISMEAR=-5LORBIT=10/112.计算能带①POSCAR②POTCAR③KPOINTS:使用Line-mode格式,给出高对称性K点之间的分割点数,分割越密,路径积分就越准确。
VASP验证

VASP验证计算前的验证 (Pre-calculation Verification of VASP)在进行VASP计算之前,为了确保计算结果的准确性和可靠性,需要进行一系列的验证。
这些验证包括结构优化验证、能带计算验证、振动频率验证以及轨道杂化功能验证等。
以下将分别对这些验证进行详细介绍。
1.结构优化验证:结构优化是计算中非常重要的一步,可以通过优化晶格参数和原子坐标得到体系的基态结构。
为了验证结构优化的准确性,可以进行以下步骤:-对于已知结构的化合物,可以将VASP计算得到的最优结构与实验数据进行比较,包括晶格参数、原子位置、结合能等。
-对于无法与实验数据进行比较的系统,可以使用其他第一性原理计算方法,如DFT、DFT+U等进行验证。
如果不同方法得到的最优结构相似,则说明VASP的结构优化结果可信。
2.能带计算验证:能带计算是研究材料的能电子结构和导电性质的重要手段。
为了验证能带计算的准确性:-可以将计算得到的能带与实验测量的能带进行比较,检查带隙的大小和位置是否一致。
-可以进行材料的半导体/金属性质的判断,如计算能带的导带和价带位置,以及带隙的大小,与实验结果进行比较。
3.振动频率验证:振动频率可以提供很多关于材料的信息,如热稳定性、相变性质等。
为了验证振动频率的准确性:-可以计算出体系的振动频率,并与实验测量的振动频率进行比较,检查谐振模式是否一致。
-可以计算振动模式的能量偏移,以及特征频率的大小和位置,与实验结果进行比较。
4.轨道杂化功能验证:轨道杂化功能是一种改进的DFT方法,可以更准确地描述具有局域d或f电子的过渡金属和稀土金属体系。
为了验证轨道杂化功能的准确性:-可以将VASP计算得到的体系的电子结构与实验结果进行比较,包括态密度、能带结构等。
-可以计算过渡金属和稀土金属的能带结构,并与实验结果进行比较,检查其是否更准确地描述了电子结构。
通过以上验证步骤,可以确保VASP计算的准确性和可靠性。
VASP参数设置详解要点

VASP参数设置详解要点VASP(Vienna Ab initio Simulation Package)是一种第一原理计算程序,用于计算材料性质和从头计算材料结构。
在进行VASP模拟时,合理设置参数非常重要,它们决定了模拟的准确性和效率。
下面将详细讨论几个关键的VASP参数设置要点。
1.设置能量截断(ENCUT):ENCUT是控制计算中的平面波能量截断的参数。
它应该尽量接近真实波函数的动能截断,以保证计算结果的准确度。
选择合适的ENCUT值非常关键,过低的值可能导致计算不收敛,过高的值则会造成计算时间过长。
一般建议从400eV开始进行尝试,然后根据计算的收敛性和计算结果调整。
2.设置k点密度(KPOINTS):k点密度是控制倒空间采样的参数。
k点密度越高,计算结果越准确,但计算时间也会增加。
为了在准确性和效率之间取得平衡,可以根据材料的对称性和大小进行合理的选择。
一般情况下,对于晶体,k点密度可以使用Reciprocal Space的自动生成程序,对于分子系统,可以使用Gamma Point + Monkhorst Pack方案。
3.设置电子步的最大迭代次数(NELM):NELM是控制电子步迭代收敛性的参数。
它决定了算法进行多少次最大迭代。
在计算过程中,电子步的总数是非常关键的。
如果电子步的迭代次数不足,可能会导致计算不收敛。
通常可以从60次开始进行尝试,如果计算结果不收敛,可以增加NELM的值。
4.设置计算精度(PREC):PREC参数是控制计算精度的参数。
该参数取值从粗到细分别为Low,Medium,High和Accuracy。
选择适当的计算精度可以在减少计算时间和提高计算结果准确性之间取得平衡。
一般情况下,可以从Medium开始尝试。
5.设置自洽迭代的收敛判据(EDIFF):EDIFF是控制自洽迭代收敛性的参数。
当自洽迭代前后两次总能量的变化低于EDIFF时,认为自洽迭代收敛。
合理设置EDIFF可以保证计算结果的准确性。
VASP使用总结

VASP计算的理论及实践总结一、赝势的选取二、收敛测试1、VASP测试截断能和K 点2、MS测试三、结构弛豫四、VASP的使用流程(计算性质)1、VASP的四个输入文件的设置2、输出文件的查看及指令3、计算单电能(1) 测试截断能(2) 测试K点4、进行结构优化5、计算弹性常数6、一些常用指令一、赝势的选取VASP赝势库中分为:PP和PAW两种势,PP又分为SP(标准)和USPP(超软)。
交换关联函数分为:LDA(局域密度近似)和GGA(广义梯度近似)。
GGA 又分为PW91和PBE。
在VASP中,其中pot ,pot-gga是属于超软势(使用较少)。
Paw, paw-pbe ,和paw-gga是属于PAW。
采用较多的是PAW-pbe 和PAW-gga。
此外vasp 中的赝势分为几种,包扩标准赝势(没有下标的)、还有硬(harder)赝势(_h)、软(softer)赝势(_s), 所谓的硬(难以赝化),就是指该元素原子的截断动能比较大,假想的势能与实际比较接近,计算得到的结果准确,但比较耗时,难以收敛。
软(容易赝化),表示该元素原子的截断动能比较小,赝势模型比较粗糙,但相对简单,可以使计算很快收敛(比如VASP开发的超软赝势)。
即硬的赝势精度高,但计算耗时。
软的精度低,容易收敛,但节省计算时间。
另一种情况:如Gd_3,这是把f电子放入核内处理,对于Gd来说,f电子恰好半满。
所以把f电子作为价电子处理的赝势还是蛮好的(类似还有Lu,全满)。
(相对其他的4f元素来说,至于把f电子作为芯内处理,是以前对4f元素的通用做法。
计算结果挺好)常用的做法是:用两种赝势测试一下对自己所关心的问题的影响情况。
在影响不大的情况下,选用不含4f电子的赝势(即后缀是3),一来减少计算量,二来避免DFT对4f电子的处理。
【1.赝势的选择:vasp的赝势文件放在目录~/vasp/potentials 下,可以看到该目录又包含五个子目录pot pot_GGA potpaw potpaw_GGA potpaw_PBE ,其中每一个子目录对应一种赝势形式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BatchDoc Word文档批量处理工具(计算前的)验证一、检验赝势的好坏:(一)方法:对单个原子进行计算;(二)要求:1、对称性和自旋极化均采用默认值;2、ENCUT要足够大;3、原胞的大小要足够大,一般设置为15 ?足矣,对某些元素还可以取得更小一些。
(三)以计算单个Fe原子为例:1、INCAR文件:SYSTEM = Fe atomENCUT = 450.00 eVNELMDL = 5 ! make five delays till charge mixing,详细意义见注释一ISMEAR = 0SIGMA=0.12、POSCAR文件:atom15.001.00 0.00 0.000.00 1.00 0.000.00 0.00 1.001Direct0 0 03、KPOINTS文件:(详细解释见注释二。
)AutomaticGamma1 1 10 0 04、POTCAR文件:(略)注释一:关键词“NELMDL”:A)此关键词的用途:指定计算开始时电子非自洽迭代的步数(即NELMDL gives the number of non-selfconsistent steps at the beginning),文档批量处理工具BatchDoc Word文档批量处理工具BatchDoc Word densitycharge fastermake calculations 。
目的是“非自洽”指的是保持“非自Charge density is used to set up the Hamiltonian, 所以不变,由于洽”也指保持初始的哈密顿量不变。
:B)默认值(default value)(时) 当ISTART=0, INIWANELMDL = -5 V=1, and IALGO=8 ) ISTART=0, INIWA V=1, and IALGO=48( NELMDL = -12 时当)其他情况下NELMDL = 0 (NELMDL might be positive or negative.ionic each applied means A positive number that after a delay is(movement -- in general not a convenient option. )在每次核运动之后(只在A negative value results in a delay only for the start-configuration.第一步核运动之前)NELMDL”为什么可以减少计算所需的时间?C)关键词“the the is Charge density used Hamiltonian, to set then upwavefunctions are optimized iteratively so that they get closer to the exacta optimized wavefunctions wavefunctions of Hamiltonian. this From theold with density charge is calculated, the which is then mixed newManual P105input-charge density. A brief flowchart is given below.(参自页)是比较离谱的,在前一般情况下,the initial guessed wavefunctions不变、保持初始的density次非自洽迭代过程中保持NELMDLcharge哈密顿量不变,只对wavefunctions进行优化,在得到一个与the exact文档批量处理工具BatchDoc WordBatchDoc Word文档批量处理工具wavefunctions of initial Hamiltonian较为接近的wavefunctions后,再开始同时优化charge density。
这样一来,计算时间要比一开始就同时优化charge density 和wavefunctions短得多。
注释二:为什么这里只需要一个k点?For atoms and molecules, the Bloch theorem does not apply, hence there is no need to use more than one single k-point. When more k-points are used,only the interaction between the atoms (which should be zero) is describedmore accurately.(三)计算任务执行方法:输入:vasp(四)赝势好的判断标准:计算得到的OUTCAR文件中的“energy without entropy”能量值在?0.001~?0.01 eV之间。
文档批量处理工具BatchDoc WordBatchDoc Word文档批量处理工具二、筛选合适的ENCUT大小:(一)输入文件:1、用脚本程序optencut.sh代替INCAR文件:rm WAVECARfor i in 100 150 200 250 300 350 400 450 500 550 600docat > INCAR <<!SYSTEM = bcc FeENCUT = $iISTART = 0 ; ICHARG = 2ISMEAR = -5PREC = Accurate!echo ENCUT = $i eV; time vaspE=$(grep TOTEN OUTCAR | tail -1| awk '{printf _x0012_.6f \n, $5}')echo $i $E >> commentdone2、POSCAR文件:bcc Fe2.8661.00 0.00 0.000.00 1.00 0.000.00 0.00 1.002Direct0 0 00.5 0.5 0.53、KPOINTS文件:Automatic generationMonkhorst-Pack9 9 90.0 0.0 0.04、POTCAR文件:(略)(二)计算任务执行方法:输入:dos2unix optencut.shbash optencut.sh(三)判别标准:计算完成后得到comment文件,它列出了在每个ENCUT时计算得到的相应的总能,只要总能变化在0.001 eV左右就足够了。
文档批量处理工具BatchDoc WordBatchDoc Word文档批量处理工具三、选择合适的k点数目:(一)输入文件:1、INCAR文件:SYSTEM = bcc FeENCUT = 450.00 eVISTART = 0 ; ICHARG = 2ISMEAR = -5PREC = Accurate2、POSCAR文件:bcc Fe2.8661.00 0.00 0.000.00 1.00 0.000.00 0.00 1.002Direct0 0 00.5 0.5 0.53、用脚本程序optkpoints.sh代替KPOINTS文件:rm WAVECARfor i in 5 7 9 11 13 15docat > KPOINTS <<!Automatic generationMonkhorst-pack$i $i $i0.0 0.0 0.0!echo k mesh = $i x $i x $i; time vaspE=$(grep TOTEN OUTCAR | tail -1| awk '{printf _x0012_.6f \n, $5}')KP=$(grep irreducible OUTCAR | tail -1| awk '{printf %5i \n, $2}')echo $i $KP $E >> commentdone4、POTCAR文件:(略)(二)计算任务执行方法:输入:dos2unix optkpoints.shbash optkpoints.sh(三)判别标准:计算完成后得到comment文件,它列出了在k点数目与总能的对应值,只要总能变化在0.001 eV左右就非常足够了。
文档批量处理工具BatchDoc WordBatchDoc Word文档批量处理工具四、优化选择合适的SIGMA值(展宽σ值):(一)为什么要优化SIGMA值?若展宽σ太小,则计算难以收敛;若展宽σ太大,则会产生多余的熵(entropy),因此必须选择合适的σ值。
(Too large smearing-parameters might result in a wrong total energy, small smearing parameters require a large k-point mesh.)(二)ISMEAR和SIGMA:1、ISMEAR和SIGMA这两个关键词要联合起来使用,前者用来指定smearing 的方法,后者用来指定smearing的展宽——σ值。
2、ISMEAR和SIGMA的默认值分别为1和0.2。
3、ISMEAR可能的取值为-5,-4,-3,-2,-1,0,N (N表示正整数):ISMEAR=-5,表示采用Blochl修正的四面体方法;ISMEAR=-4,表示采用四面体方法,但是没有Blochl修正;ISMEAR=-1,表示采用Fermi-Dirac smearing方法;ISMEAR=0,表示采用Gaussian smearing方法;ISMEAR=N,表示采用Methfessel-Paxton smearing方法,其中N是表示此方法中的阶数,一般情况下N取1或2, 但是In most casesandleads to very similar。
results4、σ值一般在0.1~0.3 eV范围内。
5、ISMEAR取值的一些经验:(1)一般说来,无论是对何种体系,进行何种性质的计算,采用ISMEAR=0并选择一个合适的SIGMA值,都能得到合理的结果。
(2)在进行静态计算(能量单点计算, )或态密度计算且k点no relaxation in metals 数目大于4时,取ISMEAR=-5。
(3)当原胞较大而k点数目较小(小于4个)时,取ISMEAR=0,并选择一个合适的SIGMA值。
(if the cell is too large (or if you use only a single or two k-points) use ISMEAR=0 in combination with a small SIGMA=0.05)(4)对半导体或绝缘体,不论是静态还是结构优化计算,都取ISMEAR=-5。