文章目录
  1. 1. INCAR
  2. 2. POSCAR
  3. 3. KPOINTS
  4. 4. POTCAR
  5. 5. 如何画 pDOS 图

先将第一步:结构优化的 INCAR, CONTCAR, POTCAR, KPOINTS, CHGCAR 复制到新的文件夹,再修改这些输入文件如下

INCAR

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    SYSTEM = CrI3 bulk
ISIF = 3
NSW = 0
NELM = 400
EDIFF = 1E-7
PREC = High
IBRION = -1
ISMEAR = 0
LORBIT = 11
ISPIN = 2
ENCUT = 600
#vdw
# GGA = RE
# LUSE_VDW = .TRUE.
# AGGAC = 0.0000

这是 PBE 不加 vdw 的 INCAR

POSCAR

将上一部结构优化得到的 CONTCAR 作为这一步的 POSCAR

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CrI3 bulk system
1.00000000000000
8.4948565237491938 0.3188674864886781 0.2147426845897321
5.3723182144031121 6.5880545062782288 0.2147395593678447
5.3723165345651944 2.6758306878121640 6.0239956371324332
I Cr
6 2
Direct
0.4305085844975093 0.0705276845480089 0.7902371517766910
0.5694915775024970 0.9294722774519877 0.2097628082233129
0.7902370857766854 0.4305085834975083 0.0705276795480113
0.2097628152233101 0.5694914905024910 0.9294722964519868
0.0705276515480076 0.7902372297766965 0.4305085504975075
0.9294723334519875 0.2097628032233027 0.5694914305024948
0.1666048430033849 0.1666048680033826 0.1666048420033882
0.8333950439966166 0.8333952229966145 0.8333951389966140

0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00

KPOINTS

K 点取得更密了一些

1
2
3
4
5
k-points
0
Monkhorst Pack
12 12 12
0 0 0

POTCAR

无需更改,与之前相同即可

如何画 pDOS 图

根据计算结果画 pdos (Partial Density of States)图,我是采用了实验室大师兄的 python 脚本 来画图的,首先需要将脚本下载到家目录下,然后在家目录下的 .bashrc 里加上下面一行代码

1
2
# add path of pyband to PATH
export PATH=/public/home/why/pyband/:${PATH}

之后就可以直接使用 pybandpybos 命令了

1
2
3
$ grep E-fermi OUTCAR | tail -1 | awk '{print $3}'
4.5244
$ pydos -p '1 2 3 4 5 6' -p '7 8' -z 4.5244 -x -8 4 -y -15 15

以上命令的意思是,先从 OUTCAR 里读出 E-fermi 的值,然后作图的时候横坐标减掉 E-fermi -z 4.5244。然后画出第1,2,3,4,5,6个原子的总的 pdos 和第7,8个原子总的 pdos -p。最后 -x, -y 分别设置了 x, y 轴的范围。

这个pydos脚本,是从 PROCAR文件中读取数据作图的,PROCAR文件格式大概是这样

图片来自网络

二维碘化铬单层的PROCAR

第一行显示了一共有多少个 K-points, 已经多少条 bands,和多少个 ions

二维碘化铬单层计算的 PROCAR

可见一共有15个K点,但出现了两遍,这是因为INCAR里设置了ISPIN = 2,这两套K点分别表示 spin up, spin down 的电子。

以下是 CrI3 bulk 的 pdos (partial density of states) 图,是 PBE+vdw 的计算结果。由于我们 POSCAR 里前六个原子是 I, 后两个原子是 Cr,故图像中 P_0 曲线对应的就是 I 原子的 dos,P_1 曲线对应的是 Cr 原子的 dos。同时正半轴表示 spin up,负半轴表示 spin down 的分量。并且在费米面(能量零点)附近,都是 spin up 分量比较多,可见这个体系有自旋极化。

pdos of bulk CrI3 using PBE+vdw

对比实验中给出的pdos图,还是挺像的。

pdos of bulk CrX3 using PBE

不加 vdw 的看起来差别不是很大

pdos of bulk CrI3 using PBE

文章目录
  1. 1. INCAR
  2. 2. POSCAR
  3. 3. KPOINTS
  4. 4. POTCAR
  5. 5. 如何画 pDOS 图