1
头图

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

  • 效果示例:

图片

图片

介绍输入文件

  1. 结构优化
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 克隆并启动容器

  1. 登录 http://OpenBayes.com,在「公共教程」页面,选择「VASP 入门教程:计算硅的态密度和能带」教程。

图片

  1. 页面跳转后,点击右上角「克隆」,将该教程克隆至自己的容器中。

图片

  1. 在「选择算力」处选择「cpu」,镜像选择「vasp」,OpenBayes 平台上线了新的计费方式,大家可以按照需求选择「按量付费」或「包日/周/月」,点击「继续执行」。新用户使用下方邀请链接注册,可获得 4 小时 RTX 4090 + 5 小时 CPU 的免费时长!

小贝总专属邀请链接(直接复制到浏览器打开):
https://go.openbayes.com/9S6Dr

图片

图片

  1. 等待模型分配好资源,状态变为「运行中」后,点击「打开工作空间」。

图片

图片

02 上传输入文件

  1. 进入到工作空间后,打开「终端」,输入并运行命令「unzip tutorials.zip」解压压缩包。

图片

图片

  1. 压缩包解压完成后可以输入「cd tutorials」进入解压目录。

图片

  1. 将我们提前准备好的赝势上传到「1_str」中。这里可以使用「官网示例:https://www.vasp.at/wiki/images/d/d1/5_4_Si_bandstructure.tgz 」里的赝势「POTCAR」。

图片

图片

图片

图片

图片

03 运行 VASP

  1. 输入「export OMP_NUM_THREADS=1」设置 openmp 参数。

图片

  1. 结构优化:输入下列代码进入 1_str 并运行 VASP。
cd 1_str mpirun -n 2 --allow-run-as-root vasp_std 

图片

  1. 运行完成后,输入以下代码将 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」目录进行查看。

图片

  1. 自洽计算(态密度计算):输入代码运行「mpirun -n 2 --allow-run-as-root vasp_std」,这时 vasp 会读取上一步复制过来的 WAVECAR 和 CHGCAR。

图片

  1. 输入「cp POSCAR POTCAR WAVECAR CHG* ../3_band」将 POSCAR、POTCAR、WAVECAR、CHGCAR 和 CHG 复制到「3_band」中。

之后输入「cd ../3_band」,进入「3_band」目录。

图片

  1. 能带计算:输入「mpirun -n 2 --allow-run-as-root vasp_std」运行,这时 vasp 会读取上一步复制过来的 WAVECAR、CHGCAR 和 CHG,进行本征值计算。

输入「cd ..」回到输入文件主目录。

图片

04 安装 vaspkit

  1. 安装 python 依赖并配置 vaspkit:输入「pip install numpy scipy matplotlib」安装「python」依赖,输入以下代码配置「vaspkit」。
chmod 777 setupvk.sh ./setupvk.sh source ~/.bashrc  cd tutorials

图片

05 使用 vaspkit 处理数据

  1. 绘制态密度图:输入「cd 2_scf」,进入「2_scf」。输入以下代码使用 vaspkit 处理数据并绘图。等待运行完成后,可以在目录中找到生成出的图片,即硅的态密度图片。
vaspkit 
111 
1

图片

图片

  1. 绘制能带图:输入「cd ..」返回目录,输入「cd 3_band」进入「3_band」目录,运行以下代码得到硅的能带图。
vaspkit
 211
 1

图片

图片


小白狮ww
1 声望0 粉丝