VASP (Vienna Ab initio Simulation Package) 是一款广泛应用于材料科学、凝聚态物理和化学领域的第一性原理计算软件,能够求解多体薛定谔方程的近似解。它不仅在密度泛函理论 (DFT) 中高效求解 Kohn-Sham 方程,还在 Hartree-Fock (HF) 近似中精准求解 Roothaan 方程。此外,VASP 进一步拓展了其功能,实现了 Hartree-Fock 方法与密度泛函理论的混合泛函,为复杂体系的电子结构计算提供了更多选择。
- 本次教程主要内容:
*结构优化
*自洽计算(态密度)
*能带计算
本教程将使用 VASP 来计算硅的态密度和能带。通过本教程学习,将了解 VASP 的 INCAR(vasp 功能控制文件)、POSCAR(结构文件)、POTCAR(赝势文件)和 KPOINTS(倒格矢格点)这 4 个基本输入文件的作用,并学会自行编写输入文件。
使用云平台:OpenBayes
https://openbayes.com/console/signup?r=Dennis9801_1ohB
- 效果示例:
介绍输入文件
- 结构优化
ISTART = 1 (读取初始波函数 WAVECAR 文件)
ISPIN = 1 (本次计算为不考虑自旋的 DFT 计算)
# ICHARG = 11 (非自洽计算:用于计算能带本征值)
LREAL = .FALSE. (不在实空间投影计算)
LWAVE = .TRUE. (计算完毕输出并保存 WAVECAR)
LCHARG = .TRUE. (计算完毕输出并保存 CHGCAR)
ADDGRID= .TRUE. (增加格点密度加速收敛)
NSW = 300 (最多运行 300 步离子步)
ISMEAR = -5 (采用 Blöchl 修正的 tetrahedron 方法)
IBRION = 2 (采用 2-CG 算法进行收敛)
ISIF = 3 (优化期间原胞形状、体积和内部原子位置都将发生变化)
EDIFFG = -1.5E-02 (离子步收敛条件 eV/A)
POSCAR
Si #(体系名称)
1.0 #(放大系数 下面 3 行对应 3 个晶格矢量 )
0.0 2.75 2.75
2.75 0.0 2.75
2.75 2.75 0.0
Si #(元素)
2 #(对应元素原子数)
Direct #(采用分数坐标,下列为 2 个原子的分数坐标)
0 0 0
0.25 0.25 0.25
KPOINTS
K-Spacing Value to Generate K-Mesh: 0.020 #采用GAMMA方法取样
0
Gamma
16 16 16
0.0 0.0 0.0
#取 16x16x16 个格点
POTCAR:系统对应元素的赝势组合,这里为 Si 的赝势
2. 自洽计算(态密度计算)
INCAR
ISTART = 1 (读取初始波函数 WAVECAR 文件)
ISPIN = 1 (本次计算为不考虑自旋的 DFT 计算)
# ICHARG = 11 (非自洽计算:用于计算能带本征值)
LREAL = .FALSE. (不在实空间投影计算)
LWAVE = .TRUE. (计算完毕输出并保存 WAVECAR)
LCHARG = .TRUE. (计算完毕输出并保存 CHGCAR)
ADDGRID= .TRUE. (增加格点密度加速收敛)
ISMEAR = -5 (采用 Blöchl 修正的 tetrahedron 方法)
NELM = 60 (SCF 自洽步数最多为 60 步)
EDIFF = 1E-08 (SCF 能量收敛条件)
POSCAR:采用上一步「1. 结构优化」中的输出的 CONTCAR,并将其改名为 POSCAR
KPOINTS:同「1. 结构优化」
POTCAR:同「1. 结构优化」
3. 能带计算
INCAR
ISTART = 1 (读取初始波函数 WAVECAR 文件)
ISPIN = 1 (本次计算为不考虑自旋的 DFT 计算)
ICHARG = 11 (非自洽计算:用于计算能带本征值)
LREAL = .FALSE. (不在实空间投影计算)
LWAVE = .TRUE. (计算完毕输出并保存 WAVECAR)
LCHARG = .TRUE. (计算完毕输出并保存 CHGCAR)
ISMEAR = 0 (能带计算需要使用高斯方法)
SIGMA = 0.05 (高斯展宽)
NELM = 60 (SCF 自洽步数最多为 60 步)
EDIFF = 1E-08 (SCF 能量收敛条件)
POSCAR:同「2. 自洽计算(态密度计算)」
KPOINTS
K-Path Generated by VASPKIT.
20 #k 点之间的间隔
Line-Mode
Reciprocal
0.0000000000 0.0000000000 0.0000000000 GAMMA
0.5000000000 0.0000000000 0.5000000000 X
0.5000000000 0.0000000000 0.5000000000 X
0.6250000000 0.2500000000 0.6250000000 U
0.3750000000 0.3750000000 0.7500000000 K
0.0000000000 0.0000000000 0.0000000000 GAMMA
0.0000000000 0.0000000000 0.0000000000 GAMMA
0.5000000000 0.5000000000 0.5000000000 L
0.5000000000 0.5000000000 0.5000000000 L
0.5000000000 0.2500000000 0.7500000000 W
0.5000000000 0.2500000000 0.7500000000 W
0.5000000000 0.0000000000 0.5000000000 X
POTCAR:同「1. 结构优化」
运行步骤
01 克隆并启动容器
- 登录 http://OpenBayes.com,在「公共教程」页面,选择「VASP 入门教程:计算硅的态密度和能带」教程。
- 页面跳转后,点击右上角「克隆」,将该教程克隆至自己的容器中。
- 在「选择算力」处选择「cpu」,镜像选择「vasp」,OpenBayes 平台上线了新的计费方式,大家可以按照需求选择「按量付费」或「包日/周/月」,点击「继续执行」。新用户使用下方邀请链接注册,可获得 4 小时 RTX 4090 + 5 小时 CPU 的免费时长!
小贝总专属邀请链接(直接复制到浏览器打开):
https://go.openbayes.com/9S6Dr
- 等待模型分配好资源,状态变为「运行中」后,点击「打开工作空间」。
02 上传输入文件
- 进入到工作空间后,打开「终端」,输入并运行命令「
unzip tutorials.zip
」解压压缩包。
- 压缩包解压完成后可以输入「
cd tutorials
」进入解压目录。
- 将我们提前准备好的赝势上传到「1_str」中。这里可以使用「官网示例:https://www.vasp.at/wiki/images/d/d1/5_4_Si_bandstructure.tgz 」里的赝势「POTCAR」。
03 运行 VASP
- 输入「
export OMP_NUM_THREADS=1
」设置 openmp 参数。
- 结构优化:输入下列代码进入 1_str 并运行 VASP。
cd 1_str mpirun -n 2 --allow-run-as-root vasp_std
- 运行完成后,输入以下代码将 POTCAR、WAVECAR、CHGCAR 和 CHG 复制到「2_scf」中并把 CONTCAR 也复制到「2_scf」中并更改为 POSCAR。
cp POTCAR WAVECAR CHG* ../2_scf cp CONTCAR ../2_scf/POSCAR
之后可输入「cd ../2_scf
」进入「2_scf」目录进行查看。
- 自洽计算(态密度计算):输入代码运行「
mpirun -n 2 --allow-run-as-root vasp_std
」,这时 vasp 会读取上一步复制过来的 WAVECAR 和 CHGCAR。
- 输入「
cp POSCAR POTCAR WAVECAR CHG* ../3_band
」将 POSCAR、POTCAR、WAVECAR、CHGCAR 和 CHG 复制到「3_band」中。
之后输入「cd ../3_band
」,进入「3_band」目录。
- 能带计算:输入「
mpirun -n 2 --allow-run-as-root vasp_std
」运行,这时 vasp 会读取上一步复制过来的 WAVECAR、CHGCAR 和 CHG,进行本征值计算。
输入「cd ..
」回到输入文件主目录。
04 安装 vaspkit
- 安装 python 依赖并配置 vaspkit:输入「
pip install numpy scipy matplotlib
」安装「python」依赖,输入以下代码配置「vaspkit」。
chmod 777 setupvk.sh ./setupvk.sh source ~/.bashrc cd tutorials
05 使用 vaspkit 处理数据
- 绘制态密度图:输入「
cd 2_scf
」,进入「2_scf」。输入以下代码使用 vaspkit 处理数据并绘图。等待运行完成后,可以在目录中找到生成出的图片,即硅的态密度图片。
vaspkit
111
1
- 绘制能带图:输入「
cd ..
」返回目录,输入「cd 3_band
」进入「3_band」目录,运行以下代码得到硅的能带图。
vaspkit
211
1
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。