薛定谔方程
[
−
ℏ
2
2
m
∇
2
+
v
(
r
)
]
ψ
(
r
)
=
E
ψ
(
r
)
[\frac{-\hbar^{2}}{2m}\nabla^{2}+v(r)]\psi (r)=E\psi (r)
[2m−ℏ2∇2+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+(1−a)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+21∫∣r−r′∣ρ(r)ρ(r′)d3r′d3r 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} )
TotalEnergy→E[ρ(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})
{−2mℏ∇2+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})
{−2∇2+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=1∑Nss=1∑2∣φ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=1∑Nss=1∑2εi,s−21∫∫∣r−r′∣n(r)n(r′)drdr′+{Exc[n(r)]−∫n(r)μxc[n(r)]dr}
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.
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.