VASP基础入门教程

1.DFT理论基础

1.密度泛函理论

  • 薛定谔方程 [ − ℏ 2 2 m ∇ 2 + v ( r ) ] ψ ( r ) = E ψ ( r ) [\frac{-\hbar^{2}}{2m}\nabla^{2}+v(r)]\psi (r)=E\psi (r) [2m22+v(r)]ψ(r)=Eψ(r)
  • 密度泛函处理 ψ ( r ) → ψ ( n ( r ) ) \psi(r)\to\psi(n(r)) ψ(r)ψ(n(r))
  • 科恩沈吕九方程 E [ n ] = T [ n ] + U [ n ] + V [ n ] = T s [ { ϕ i [ n ] } ] + U H [ n ] + ( T [ n ] − T s [ n ] + U [ n ] − U H [ n ] ) + V [ n ] = T s [ { ϕ i [ n ] } ] + U H [ n ] + E x c [ n ] + V [ n ] \begin{aligned} E[n]&= T[n]+U[n]+V[n] \\ &= T_{s}[\left \{ \phi_{i} [n] \right \} ]+U_{H}[n]+(T[n]-T_{s}[n]+U[n]-U_{H}[n])+V[n] \\ &=T_{s}[\left \{ \phi_{i} [n] \right \} ]+U_{H}[n]+E_{xc}[n]+V[n] \end{aligned} E[n]=T[n]+U[n]+V[n]=Ts[{ϕi[n]}]+UH[n]+(T[n]Ts[n]+U[n]UH[n])+V[n]=Ts[{ϕi[n]}]+UH[n]+Exc[n]+V[n]

2.交换关联近似与泛函

  • 局域密度近似(LDA):交换关联作用只与该处的局域电子密度相关 E x c [ n ] = f ( n ) E_{xc}[n]=f(n) Exc[n]=f(n)     特点:无法准确预测电子密度变化较快的化学环境,高估结合能
  • 广义梯度近似(GGA):考虑电子密度变化 (电子速度) 梯度对交换关联的影响 E x c [ n ] = f ( n , ∇ n ) E_{xc}[n]=f(n,\nabla n) Exc[n]=f(n,n)     特点:大部分情况比LDA更准确,低估键能,高估晶格常数
  • 含动能的广义梯度近似(meta-GGA):考虑电子动能对交换关联的影响 E x c [ n ] = f ( n , ∇ n , ∇ 2 n ) E_{xc}[n]=f(n,\nabla n,\nabla^{2} n) Exc[n]=f(n,n,2n)     特点:更为准确,计算量同时增加
  • 杂化泛函 (hybrid functional):结合不同泛函和HF交换能 E x c [ n ] = a E X H F + ( 1 − a ) E X D F T + E C D F T E_{xc}[n]=aE_{X}^{HF}+(1-a)E_{X}^{DFT}+E_{C}^{DFT} Exc[n]=aEXHF+(1a)EXDFT+ECDFT     特点:抵消中和各种泛函的误差,计算量很大
  • 雅各布泛函天梯在这里插入图片描述

2.VASP的理论背景

1.密度泛函理论的形成

  • 薛定谔方程遭遇的困境:仅仅能够精确求解类氢原子体系 (H、H2+、He+)
  • 密度泛函理论的形成
    在这里插入图片描述
  • 密度泛函理论
        HK 第一定理:证明了体系的基态能量只与电荷密度有关,是电荷密度的泛函 E [ ρ ( r ⃗ ) ] = G [ ρ ( r ⃗ ) ] + ∫ V e x t ( r ⃗ ) ρ ( r ⃗ ) d 3 r + 1 2 ∫ ρ ( r ⃗ ) ρ ( r ⃗ ′ ) ∣ r ⃗ − r ⃗ ′ ∣ d 3 r ′ d 3 r E[\rho(\vec{r})]=G[\rho(\vec{r})]+\int V_{ext}(\vec{r})\rho(\vec{r})d^{3}r+\frac{1}{2}\int\frac{\rho(\vec{r})\rho(\vec{r}')}{|\vec{r}-\vec{r}'|}d^{3}r'd^{3}r E[ρ(r )]=G[ρ(r )]+Vext(r )ρ(r )d3r+21r r ρ(r )ρ(r )d3rd3r
        HK 第二定理:证明了以基态密度为变量,将体系能量最小化之后就得到了基态能量 δ E [ ρ ( r ⃗ ) ] δ ρ ( r ⃗ ) ∣ ρ 0 ( r ⃗ ) = 0 s u b j e c t    t o    t h e    c o n d i t i o n ∫ δ ρ ( r ⃗ ) d 3 r = 0 \frac{\delta E[\rho(\vec{r})]}{\delta\rho(\vec{r})}|\rho_{0}(\vec{r})=0\quad\quad subject\; to\; the\; condition\quad\quad \int\delta\rho(\vec{r})d^{3}r=0 δρ(r )δE[ρ(r )]ρ0(r )=0subjecttotheconditionδρ(r )d3r=0 T o t a l    E n e r g y → E [ ρ ( r ) ] ( { R i } i = 1 , N ) Total\; Energy \to E[\rho(r)](\left \{ R_{i} \right \}_{i=1,N} ) TotalEnergyE[ρ(r)]({Ri}i=1,N) E 0 = m i n ρ → N    E [ ρ ] E_{0}=\underset{\rho\to N}{min}\; E[\rho] E0=ρNminE[ρ]

2.Kohn-Sham 方程

  • Kohn-Sham 方程
        电荷密度分布函数可以写成单电子轨道函数的形式: ρ ( r ⃗ ) = ∑ i ∣ ϕ i ( r ⃗ ) ∣ 2 \rho(\vec{r})=\sum_{i}|\phi_{i}(\vec{r})|^{2} ρ(r )=iϕi(r )2     因此,Kohn-sham 等式可以写成: { − ℏ 2 m ∇ 2 + V e x t ( r ⃗ ) + ∫ ρ ( r ⃗ ′ ) ∣ r ⃗ − r ⃗ ′ ∣ d 3 r ′ + μ x c [ ρ ( r ⃗ ) ] } ϕ i ( r ⃗ ) = ε i ϕ i ( r ⃗ ) \left \{ -\frac{\hbar}{2m}\nabla^{2} +V_{ext}(\vec{r})+\int\frac{\rho(\vec{r}')}{|\vec{r}-\vec{r}'|}d^{3}r'+\mu_{xc}[\rho(\vec{r})]\right \}\phi_{i}(\vec{r})=\varepsilon_{i}\phi_{i}(\vec{r}) {2m2+Vext(r )+r r ρ(r )d3r+μxc[ρ(r )]}ϕi(r )=εiϕi(r ) μ x c [ ρ ( r ) ] = δ E x c [ ρ ( r ⃗ ) ] δ ρ ( r ⃗ ) \mu_{xc}[\rho(r)]=\frac{\delta E_{xc}[\rho(\vec{r})]}{\delta\rho(\vec{r})} μxc[ρ(r)]=δρ(r )δExc[ρ(r )]
  • 求解 Kohn-Sham 方程 { − ∇ 2 2 + v e f f ( r ⃗ ) } φ i , s ( r ⃗ ) = ε i , s φ i , s ( r ⃗ ) \left \{ -\frac{\nabla^{2}}{2}+v_{eff}(\vec{r}) \right \}\varphi_{i,s}(\vec{r})=\varepsilon_{i,s}\varphi_{i,s}(\vec{r}) {22+veff(r )}φi,s(r )=εi,sφi,s(r ) n ( r ⃗ ) = ∑ i = 1 N s ∑ s = 1 2 ∣ φ i , s ( r ⃗ ) ∣ 2 n(\vec{r})=\sum_{i=1}^{N_{s}}\sum_{s=1}^{2}|\varphi_{i,s}(\vec{r})|^{2} n(r )=i=1Nss=12φi,s(r )2 v e f f ( r ⃗ ) = v ( r ⃗ ) + ∫ n ( r ⃗ ′ ) ∣ r ⃗ − r ⃗ ′ ∣ d r ⃗ ′ + μ x c [ n ( r ⃗ ) ] v_{eff}(\vec{r})=v(\vec{r})+\int\frac{n(\vec{r}')}{|\vec{r}-\vec{r}'|}d\vec{r}'+\mu_{xc}[n(\vec{r})] veff(r )=v(r )+r r n(r )dr +μxc[n(r )]     总能 ∑ i = 1 N s ∑ s = 1 2 ε i , s − 1 2 ∫ ∫ n ( r ⃗ ) n ( r ⃗ ′ ) ∣ r ⃗ − r ⃗ ′ ∣ d r ⃗ d r ⃗ ′ + { E x c [ n ( r ⃗ ) ] − ∫ n ( r ⃗ ) μ x c [ n ( r ⃗ ) ] d r ⃗ } \sum_{i=1}^{N_{s}}\sum_{s=1}^{2}\varepsilon _{i,s}-\frac{1}{2}\int\int\frac{n(\vec{r})n(\vec{r}')}{|\vec{r}-\vec{r}'|}d\vec{r}d\vec{r}'+\left \{ E_{xc}[n(\vec{r})]-\int n(\vec{r})\mu_{xc}[n(\vec{r})]d\vec{r} \right \} i=1Nss=12εi,s21∫∫r r n(r )n(r )dr dr +{Exc[n(r )]n(r )μxc[n(r )]dr }
  • Kohn-sham 求解流程图

在这里插入图片描述

3.VASP的功能与使用

1.VASP软件包的基本特点

  • 平面波基矢:周期性边界条件
  • 基于赝势的密度泛函计算:内层电子波函数不被化学成键所影响
  • 系统全面的泛函与固体材料计算功能:主流的固体材料计算软件包

2.VASP的功能

  • 能量计算:相稳定性、相图、缺陷形成能、电化学电压曲线/反应自由能、表面/界面稳定性分析、力学性能
  • 动力学计算:过渡态计算、反应路径预测、分子动力学计算、晶格动力学计算
  • 电子态计算:成键分析、态密度、能带结构、氧化还原反应电子转移、极性与磁性分析、电子激发态分析

3.VASP软件包的缺陷

  • VASP不擅长的计算类型
      1.不适合大空间,大量原子的计算模拟
      2.不适合高分子,有机物,中大型团簇等非周期性结构计算
      3.不适合长时间的分子动力学模拟
      4.不适合大尺度缺陷 (位错、断裂、无定形晶界)

4.VASP计算流程

在这里插入图片描述

5.VASP基本输入文件

  • POSCAR
      1.晶格的基矢与原子排布
      2.原子的成分与种类
      3.Selective dynamics 设置
      4.原子移动信息
  • INCAR
      1.计算类型设定 (结构优化,自洽,非自洽)
      2.计算泛函选取
      3.模型参数设定
      4.文件输入输出设定
      5.并行设定
  • KPOINTS
      1.布里渊区网格 (K点) 选取
  • POTCAR
      1.赝势文件
      2.POTCAR、POTCAR_ sv、POTCAR_pv、 POTCAR_d、POTCAR_GW 等等

4.VASP模拟体系

1.适用计算体系 (周期性体系)

  • 按照维度划分:零维团簇、一维纳米带、二维材料和表面、三维晶体
  • 按照计算性质划分:光、电、磁、热
  • 按照材料功能划分:能源存储与转化、催化材料、电子功能器件、气敏材料以及高压物理等等

2.VASP的计算范围

  • 几何性质:结构参数 (键长、键角、晶格参数、原子位置),稳定构型等
  • 电子性质:电子态密度,能带结构,电荷密度分布,电子局域化函数 (ELF) 等
  • 状态方程和力学性质:体弹性模量和弹性常数等
  • 表面性质:表面重构、缺陷等缺陷,表面能量,STM模拟,表面吸附能,反应机理等
  • 光学性质:介电常数,吸收光谱,折射率等
  • 分子动力学模拟:扩散系数和粘性系数
  • 磁学性质:共线和非共线性磁性,自旋轨道耦合
  • 晶格动力学性质:声子谱等
  • 计算材料的激发态 (GW准粒子修正)

3.VASP的常用工具

  • Linux系统:qvasp、tvasp、vaspkit、vtstscript、p4vasp
  • Windows系统:VESTA、Materials Studio、Origin、ChemDraw、Photoshop

5.结构计算

# 注释
SYSTEM = Hybrid

# 初始I/O设置
ISTART = 0
ICHARG = 2
LWAVE = .FALSE.
LCHARG = .FALSE.
LVTOT = .FALSE.
LELF = .FALSE.

# 电子步弛豫
ENCUT = 600
NELM = 100
ALGO = Fast
PREC = Accurate
ISMEAR = 0
SIGMA = 0.05
EDIFF = 1E-5
AMIX = 0.1
BMIX = 0.01

# 离子步弛豫
IBRION = 2
NSW = 300
EDIFFG  = -1E-2
ISIF = 3

# 极化(含磁性体系)
ISPIN = 2
LSORBIT = .FALSE.

# 并行计算
LREAL = Auto
NPAR = 1
LPLANE = .FALSE.
  1. SYSTEM:注释所计算的体系,以示说明
  2. ISTART:如果计算目录中有 WAVECAR 文件,则默认值为1,否则为0。可赋予值为0、1、 2、 3。决定是否读入 WAVECAR:
        0:开始新的计算,按 INIWAV 初始化波函数
        1:接着计算,通常用在测试 ENCUT 的收敛性以及计算结合能曲线 (体积和总能的关系)

        2:接着计算,通常用在保持基矢不变的计算中
        3:接着计算,读入上一次计算得到的电荷密度和波函数,不推荐用
  3. ICHARG:如果 ISTART = 0,则默认值为2,否则为0。决定如何构造初始的电荷密度
        0:从初始的波函数构造
        1:从 CHGCAR 读入,并同原子密度进行线性插值
        2:构造原子电子密度线性组合 (LCAO),初始的电子密度由赝势来决定
        11:读入自洽的 CHGCAR,并进行能带计算或态密度的非自洽计算

        12:非自洽的原子密度计算
  4. ISTART 和 ICHARG:分别定义了如何构建初始的波函数和电荷密度、读入上一次的波函数和电荷密度
        推荐做法:
        进行能带结构、电子态密度等性质的计算时:设置 ISTART = 1,ICHARG = 11
        其他的情况:一般设置 ISTART = 0,ICHARG = 2
  5. LWAVE:确定是否在 WAVECAR 文件中输出波函数,默认值为.TRUE.
  6. LCHARG:确定是否在 CHGCAR和CHG 中输出电荷密度,默认值为.TRUE.
  7. LVTOT:确定是否将总的局域电势 (离子势、Hartree势和局域交联势) 写入 LOCPOT 文件,默认值为.FALSE.
  8. LELF:确定是否创建 ELFCAR 文件,默认值为.FALSE.
  9. ENCUT:确定平面波截断能,默认值从 POTCAR 中读入
  10. NELM:允许电子自洽迭代的最大步数,默认值为60。如果超过了40步还没有收敛的话,推荐对 IALGO、LDIAG 和混合参数进行手动设置到合理的值
  11. ALGO:确定电子优化的算法:
        Normal:则 IALGO = 38 (也就是blocked Davidson方法)
        VeryFast:则 IALGO = 48 (RMM-DIIS算法)
        Fast:以上两种算法混合使用
  12. PREC:是控制计算精度最重要的一个参数,它决定了 ENCUT、FFT网格大小、和ROPT的默认值。可能的取值为 Low、Medium、High、Normal、Accurate。它的默认值为 Medium。(后两个只能在4.5以上版本中才起作用)。
        在一般的计算时推荐:4.5版本中用 Normal,4.4版本中用 Medium。当要提高力和Stress tensor的计算精度时,可以采用 High或Accurate,并手动设置 ENCUT 的值
  13. ISMEAR:确定 smearing 方法的参数,默认值为1。ISMEAR 可赋予值为:-5、-4、-3、-2、-1、0、N,它决定了如何确定每个波函数的占有数:
        -1:fermi smearing 方法
        0:Gaussian smearing 方法 (氧化物、半导体)
        1-N:Methfessel-Paxton N阶 smearing 方法 (金属)
        -2:在 INCAR 中通过 FERWE 和 FERD0 关键词手动设置
        -3:采用一个循环的计算来确定 smearing 的参数,在每一步中的 smearing 设置通过SMEARINGS = smearing1 smearing2 smearing3 …来设置。此时 IBRION = -1,NSE 设置为 SMEARINGS 的值的个数
        -4:没有 Bloch 修正的四面体方法
        -5:带 Bloch 修正的四面体方法
  14. SIGMA:确定 smearing 展宽的参数,默认值为0.2
        smearing 方法和参数建议
        1.进行任何的静态计算或态密度计算,且K点数目大于4时,取 ISMEAR = -5
        2.当原胞较大而K点数目较少 (小于4个) 时,取 ISMEAR = 0,并取一个合适的 SIGMA 值
        3.对半导体或绝缘体的计算 (无论是静态或结构优化),取 ISMEAR = -5;当结构呈现金属性时,取 ISMEAR = 1或2,以及设一个合适的 SIGMA 值。大多数情况下,1和2给出的结果很相似
        4.进行能带结构计算,ISMEAR 和 SIGMA 用默认值就好
        5.无论是对何种体系,进行何种性质的计算,采用 ISMEAR = 0,并选择一个合适的 SIGMA 都能得到合理的结果
        6.在计算大体系的总能和 DOS 时,建议采用 blochl 校正的四面体方法,即 ISMEAR = -5。但是这个方法没有对电子的部分占据进行变分计算,所以对金属的力的计算误差较大,而对半导体的影响不大。金属的弛豫计算可采用 Methfessel-Paxton 方法
  15. EDIFF:EDIFF 是电子自洽收敛标准参数,默认值为 1E-4。当连续两次迭代中总能和本征值的变化都小于EDIFF时,则电子自洽迭代循环停止
  16. AMIX:指定线性混合参数,默认值 (如果ISPIN=1 且使用 US-PPs,则 AMIX=0.8;如果 ISPIN=2 且使用 US-PPs,则 AMIX=0.4;如果使用 PAW 数据集,则 AMIX=0.4)
  17. BMIX:设置 Kerker 混合方案的截止波矢 (IMIX = 1 或/和 INIMIX = 1),默认值为1.0
  18. IBRION:决定了原子如何移动或弛豫。如果 NSW = 0 或 1,则默认值为-1,否则为0。可赋予值为-1、0、1、2、3、5。IBRION = 0 表示进行分子动力学模拟。为-1表示原子不移动,为其他值设置结构优化的方法。
        -1:原子位置不移动
        0:标准的分子动力学模拟。采用 Verlet 算法来积分原子的牛顿运动方程。通过 POTIM 来控制时间步长 (单位是fs),SMASS 控制系综的设置
        1:采用准牛顿算法来优化原子的位置
        2:采用共轭梯度算法来优化原子的位置
        3:采用最速下降算法来优化原子的位置
        5:用来计算 Hessian 矩阵和体系的振动频率
  19. NSW:原子弛豫的最大步数和分子动力学的步数,默认值为0。在每一步内,电子进行自洽计算,并精确计算原子所受的 H-F力和应力
  20. EDIFFG:原子弛豫收敛的标准,默认值为 EDIFF * 10。如果它的值为正的,则表示前后两次的总自由能之差小于 EDIFFG,原子停止弛豫。如果为负的,则原子所受的最大的力小于 EDIFFG 的绝对值,原子停止弛豫
  21. ISIF:决定了是否计算应力以及如何对结构进行优化。当 IBRION = 0 时,默认值为0,否则为2。可赋予值为0、1、2、3、4、5、6、7
ISIF计算离子所受的力计算原胞的stress tensor离子位置弛豫改变原胞的形状改变原胞的体积
0
1trace only
2
3
4
5
6
7
  1. ISPIN:确定是否进行自旋极化的计算。默认值为1,表示不进行自旋极化的计算,为2表示自旋极化的计算
  2. LSORBIT:是否开启自旋轨道耦合,默认值为.FALSE.
  3. LREAL:确定投影算法是否在实空间或倒空间计算,默认值为.FALSE.。可设置的值为.FALSE.、.TURE.、On、Auto
  4. NPAR:决定并行处理的波段数量,默认值为内核数
  5. LPLANE:开启实空间的平面数据分布,默认值为.TRUE.

6.静态计算

# 注释
SYSTEM = Hybrid

# 初始I/O设置
ISTART = 0
ICHARG = 2
LWAVE = .FALSE.
LCHARG = .TRUE.
LVTOT = .TRUE.
LELF = .TRUE.
LORBIT = 11

# 电子步弛豫
ENCUT = 600
NELM = 100
ALGO = Fast
PREC = Accurate
ISMEAR = 0
SIGMA = 0.05
EDIFF = 1E-5
AMIX = 0.1
BMIX = 0.01
NEDOS = 2000
EMIN = -10.0
EMAX = 10.0

# 极化(含磁性体系)
ISPIN = 2
LSORBIT = .FALSE.

# 并行计算
LREAL = Auto
NPAR = 1
LPLANE = .FALSE.
  1. LORBIT:控制非自洽计算的形式
logicalintegerRWIGS line in INCARfiles written
.FALSE.0line requiredDOSCAR and PROCAR file
.FALSE.1line requiredDOSCAR and extended PROCAR file
.TRUE.2line requiredDOSCAR and PROOUT file
.TRUE.10not readDOSCAR and PROCAR file
.TRUE.11not readDOSCAR and PROCAR file with phase factors
.TRUE.12not supported
  1. NEDOS:DOS点的个数
  2. EMIN 和 EMAX:计算态密度时的能量窗口 (或能量范围)

7.VASP核心参数设置技巧

1.INCAR的生成

  • (echo 1; echo 101; echo ST) | vaspkit
    LREAL = FALSE
    PREC = Normal
    
    ENCUT = 400
    LWAVE = .TRUE.
    LCHARG = .TRUE.
    
    NPAR = 2
    NSIM = 4
    
    ISMEAR = 0
    SIGMA = 0.05
    
    LORBIT = 11
    NEDOS = 2001
    NELM = 60
    
    EDIFF = 1E-05
    
    1. NSIM:设定 RMM-DIIS 算法同时优化的波段数量

2.典型的技术错误

  • 1. Wrap around errors
        These errors are due to an insufficient FFT mesh and they are not as well behaved as the errors due to the energy cut off. But once again, if one uses the default cut off (read from the POTCAR file) the wrap around errors are usually very small (a few meV per atom) even if the FFT mesh is not sufficient.
  • 2. Errors due to the real space projection
        Real space projection always introduces additional (small) errors. These errors are also quite well behaved i.e. if one uses the same real space projection operators all the time, the errors are almost constants. Anyway, one should try to avoid the evaluation of energy differences between calculations with LREAL=.FALSE. and LREAL=.TRUE. Mind that for LREAL=.TRUE. the real space operators are optimized by VASP according to ENCUT and PREC and ROPT i.e. one gets different real space projection operators if ENCUT or PREC is changed.
  • 3. Errors due to k-point sampling.
        This will be discussed in Number of k points and method for smearing. Mind that the errors due to the k-point mesh are not transferable i.e. a k-points grid leads to a completely different error for fcc, bcc and sc. It is therefore absolutely essential to be very careful with respect to the k-point sampling.
  • 4. Errors due to the cut-off ENCUT.
        This error is highly transferable
    , i.e. the default cutoff ENCUT (read from the POTCAR file) is in most cases safe, and one can expect that energy differences will be accurate within a few meV. An exception is the stress tensor which converges notoriously slow with respect to the size of the plane wave basis set.
  • To minimize errors one should use the same setting for ENCUT, ENAUG, PREC, LREAL and ROPT throughout all calculations, and these flags should be specified explicitly in the INCAR file. In addition it is also preferable to use the same supercell for all calculations whenever possible.

3.ALGO、IBRION、NBANDS

  • ALGO:在 VASP.4.5 及之后的版本中,ALGO 选项被用于指定电子最小化算法
        ALGO= Very_Fast   (速度快,稳定性差)
        ALGO = Normal   (稳定性最好)
        ALGO = Fast   (结合了前面2种的优点)
        ALGO = Damped   (HSE06计算)
        ALGO = All   (HSE06计算)
        ALGO = Exact   (光学计算)

      ALGO = Exact 执行精确对角化 (IALGO = 90),建议在计算超过 30-50% 的状态时使用此功能 (例如:GW 或 RPA 计算)
      磁性体系还需要考虑:MIXING参数(AMIX, BMIX)
  • IBRION:决定离子如何更新和移动
        IBRION = 1:对于初始结构接近平衡基态结构时候推荐使用这个设置
        IBRION = 2:对于初始结构离平衡基态结构较远时推荐使用这个设置
  • NBANDS:给出计算中实际的总能带数。通常在非自洽的计算过程中需要用到,可以在非自洽计算之前的自洽计算 OUTCAR 或 ELGENVAL 文件中读取
        非自旋极化:NBANDS = NELECT/2+NIONS/2
        自旋极化:NBANDS = 0.6*NELECT+NMAG

8.影响计算时间的参数

  • 1. 晶胞 (模型) 的大小:计算前先检查下载的 cif 文件是否是原胞,并检查原胞是否是标准基矢形式的原胞。(不仅影响计算时间也影响某些性质计算的准确性)
  • 2. 对称性 (ISYM):ISYM = 1,2 或 3 时,开启对称性;ISYM = -1 或 0,关闭对称性。对于ISYM = 2,使用更高效、更节省内存的电荷密度对称化,尤其减少并行版的内存需求
  • 3. 并行计算参数 NPAR、NSIM、KPAR 等
        对于单节点任务,使用 NPAR = 1 和 NSIM = 2
        对于中型任务,使用 NPAR = nodes/2 或 nodes 和 NSIM = 2。如果每核有足够的带宽并想要优化,可以尝试 NSIM = 8/16
        对于大型任务,使用 NPAR = sqrt(nodes) 和 NSIM = 4
  • 4. 截断能 ENCUT 的大小
  • 5. k 点网格的密度
  • 6. 收敛标准 (EDIFF和EDIFFG) 和计算精度 (PREC) 的影响

9.常见报错解决方法

  • severe (174): SIGSEGV, segmentation fault occurred
    1.makefile.include文件中下面内容添加粗体部分
        FFLAGS = -assume byterecl -FR
        FFLAGS = -assume byterecl -FR -heap-arrays
    2.Use smaller cell or more cores.
    3.在提交任务的脚本或者 ~/.bashrc 文件添加下面内容
        ulimit -S unlimited (堆栈大小)
  • BRMIX: very serious problems the old and the new charge density differ
        1.Setting ISYM= 0
        2.增大 PREC
        3.增大K点
  • ERROR: charge density could not be read from file CHGCAR for ICHARG>10
        1.如果当前的计算的确是需要应用已经计算好的电荷密度的时候,那么将CHGCAR(一般式静态计算后得到的)拷到当前计算的文件夹中;
        2.如果当前的计算不需要用已经计算好的电荷密度,那么将 ICHGARG 改为相应的值或者注销掉
  • VERY BAD NEWS! internal error in subroutine IBZKPT
        When this error is legal it means your reciprocal space and sampling grid have a different symmetry. This causes problem in reducing the k-mesh to the irreducible Brillouin zone (and create the IBZKPT file) and thus makes it crash.
        So if a=b ensure that kx= kr,或者switch from a Monkhorst pack,to a Gamma centered grid.
  • Error EDDDAV: Call to ZHEGV failed (具体原因很复杂)
        the error is due to a LAPCK call
        1.use ALGO = Normal (blocked Davidson) or ALGO= Fast (5 steps blocked Davidson, RMM-DIIS) ;
        2.switch to a different relaxation algorithm (IBRION-tag) and reduce the step size of the first step by setting POTIM smaller than the default value
  • VERY BAD NEWS! internal error in subroutine SGRCON: Found some non-integer element in rotation matrix
        Change SYMPREC to for example 1E-6
  • VERY BAD NEWS! internal error in subroutine INVGRP
        Set ISYM to 0.
  • Sub-Space-Matrix is not hermitian
        1.unreasonable input geometry (e.g. after a relaxation step)
          Solution: fix geometry
        2.Error encountered when initializing a parallelized ISIF=3 relaxation
          Solution: Replacing e.g. NPAR=4 with NCORE=16 has in some cases solved the problem
        3.problems during reading of the CHGCAR file (e.g. complaint that the dimensions have changed after a change in k-point grid)
          Solution: remove CHGCAR file and start density from scratch
        4.problems during initialization altogether
          Solution: try completing the run and restarting with from the CHGCAR and WAVECAR; if that does not work: try the same with IALGO=48 (may give related warnings before restarting)
  • VERY BAD NEWS! internal error in subroutine PRICEL
        Change SYMPREC in INCAR (default is 10-5) or switch off symmetry (not tested yet)
  • PSMAXN for non-local potential too small
        Lower your ENCUT a lttle bit (in my case from 900 to 870 eV) works.
  • ERROR FEXCP: supplied Exchange-correletion table is too small
        This error indicates an error while reading in the POTCAR. It can, for example, occur when using the new POTCAR format with the old version of VASP, or vice versa.
  • Error code was IERR=5… Found N= 0 data
        It means that you probably have a typo in one of the values in your INCAR file.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值