vasp 计算知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
vasp 输入文件中的ISMEAR参数指的是波函数占据数目,但是这个到底是什么意思?可以浅显一点讲吗
就是说电子在费米面附近占据数从0突变到1,这是个deta函数,为了计算方便,用一个平滑点的函数在费米面附近代替这个deta函数,这样计算就不容易振荡,易于收敛。ismear就是控制这种平滑函数的。
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的选取与收敛速度有关,太小收敛慢,太大容易不收敛,但是最终要做到熵比较少才行,这样自由能和中能之间的差值就比较小。多小才算比较小呢?平均到每个原子上的能量差为1meV,也有的说是摊到每个原胞单位上自由能与总能的差在1meV,也就是小数点后第三位。因此对于原子比较多的超胞,比如100个原子,自由能与总能之间差0.1eV也是可以接受的。不过,大部分可以做到0.01eV。在保证收敛的前提下,SIGMA越小越好,没有所谓有点小的问题,用测试结果是最可信的。
做SIGMA优化可以采用这种方法:将SIGMA在不同大小的kmesh下进行静态计算测试,对每一个SIGMA值求“entropy T*S”值,可以得出一系列(一般取两条)不同kmesh下SIGMA与“entropy T*S”对应的曲线,将这些曲线比较,取不同kmesh曲线的“entropy T*S”差值最小的点对应的SIGMA值即可。具体参数设置可以参看侯柱峰编写的《VASP软件包使用入门指南》中“§5.7节ISMEAR和SIGMA”。
最好是每做一个计算,都要先做一个SIGMA的检测以选取合适的SIGMA值,不过在有了可靠的经验以后就不用每次都做了。绝缘体SIGMA可以取得小一点,金属的不要取的太小否则不容易收敛。在收敛速度可以接受的情况下可以适当减小SIGMA。
VASP计算前的验证 一、检验赝势的好坏: (一)方法:对单个原子进行计算; (二)要求: 1、对称性和自旋极化均采用默认值; 2、ENCUT要足够大; 3、原胞的大小要足够大,一般设置为15 ?足矣,对某些元素还可以取得更小一些。 (三)以计算单个Fe原子为例: 1、INCAR文件: SYSTEM = Fe atom ENCUT = 450.00
eV NELMDL = 5 ! make five delays till charge mixing,详细意义见注释一 ISMEAR = 0 SIGMA=0.1 2、POSCAR文件: atom 15.00 1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00 1 Direct 0 0 0 3、KPOINTS文件: Automatic 0 Gamma 1 1 1 0 0 0 4、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, INIWAV=1, and IALGO=8时) NELMDL = -12 (当 ISTART=0, INIWAV=1, and IALGO=48时) NELMDL = 0 (其他情况下) NELMDL might be positive or negative. A positive number means that a delay is applied after each ionic movement -- 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 exact 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 described more accurately. (三)计算任务执行方法:输入:vasp (四)赝势好的判断标准:计算得到的OUTCAR文件中的“energy without entropy”能量值在 ?0.001~?0.01 eV之间。 nicheal 2008-10-08 21:47 搞VASP常备味药!O,YE,沙发! wzhao 2008-10-08 21:48 二、筛选合适的ENCUT大小: (一)输入文件: 1、用脚本程序optencut.sh代替INCAR文件: rm WAVECAR for i in 100 150 200 250 300 350 400 450 500 550 600 do cat > INCAR <> comment done 2、POSCAR文件:
bcc Fe 2.866 1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00 2 Direct 0 0 0 0.5 0.5 0.5 3、KPOINTS文件: Automatic generation 0 Monkhorst-Pack 9 9 9 0.0 0.0 0.0 4、POTCAR文件:(略) (二)计算任务执行方法: 输入:dos2unix optencut.sh bash optencut.sh (三)判别标准:计算完成后得到comment文件,它列出了在每个ENCUT时计算得到的相应的总能,只要总能变化在0.001 eV左右就足够了。 wzhao 2008-10-08 21:49 三、选择合适的k点数目: (一)输入文件: 1、INCAR文件: SYSTEM = bcc Fe ENCUT = 450.00 eV ISTART = 0 ; ICHARG = 2 ISMEAR = -5 PREC = Accurate 2、POSCAR文件: bcc Fe 2.866 1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00 2 Direct 0 0 0 0.5 0.5 0.5 3、用脚本程序optkpoints.sh代替KPOINTS文件: rm WAVECAR for i in 5 7 9 11 13 15 do cat > KPOINTS <> comment done 4、POTCAR文件:(略) (二)计算任务执行方法: 输入:dos2unix optkpoints.sh bash optkpoints.sh (三)判别标准:计算完成后得到comment文件,它列出了在k点数目与总能的对应值,只要总能变化在0.001 eV左右就非常足够了。 wzhao 2008-10-08 21:51 四、优化选择合适的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 cases and leads to very similar results。 4、σ值一般在0.1~0.3 eV范围内。 5、ISMEAR取值的一些经验: (1)一般说来,无论是对何种体系,进行何种性质的计算,采用ISMEAR=0并选择一个合适的SIGMA值,都能得到合理的结果。(2)在进行静态计算(能量单点计算, no relaxation in metals)或态密度计算且k点数目大于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。(Mind: Avoid to use ISMEAR>0 for semiconductors and insulators, since it might cause problems. For insulators use ISMEAR=0 or ISMEAR=-5.) (5)对金属体系(for relaxations in metals),取ISMEAR=1或2,并选择一个合适的SIGMA值。 (三)当采用ISMEAR=0或N时,如何优化选择合适的SIGMA值?(以bcc Fe为例) 1、用脚本程序optsigma.sh代替INCAR文件: rm WAVECAR for i in 0.10 0.12 0.14 0.16 0.18 0.20 0.22 0.24 0.26 0.28 0.30 do cat > INCAR <> comment done 2、POSCAR文件: bcc Fe 2.866 1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00 2 Direct 0 0 0 0.5 0.5 0.5 3、KPOINTS文件: Automatic generation 0 Monkhorst-Pack 9 9 9 0.0 0.0 0.0 4、POTCAR文件:(略) (四)计算任务执行方法: 输入:dos2unix optsigma.sh bash optsigma.sh (五)判断标准:熵(entropy)越小越好,选择entropy T*S EENTRO值中最小的那个所对应的SIGMA。( SIGMA should be as large as possible keeping the difference between the free energy and the total energy (i.e. the term 'entropy T*S') in the OUTCAR file negligible (1 meV/atom).) (五)注意: 1、当k点的数目发生变化后,要重新优化选择SIGMA值。
使用VESTA软件读Vasp结构的方法如下:
1 将CHG改成 文件名.vasp
2 将OUTCAR改成 文件名.out, 两个步骤的文件名要一致。
3 然后用VESTA直接打开 文件名.vasp ,就可以看到很漂亮的结构图。
但有一点特别注意的, 这样的方法容易看错结构,因为VESTA读到
的电荷密度可能并不是最后一步自恰得到的结果。所以建议优化完
之后再做一步自恰计算,用VESTA打开自恰计算得到的CHG。
或者将OUTCAR文件中的最后的结构信息提取出来,也可以得到
优化后的结构,晶格常数,晶格基失等信息。