第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

结合能计算的基本原理

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

结合能的定义

计算材料科学中,结合能(Binding Energy)或吸附能Adsorption Energy)是衡量一个粒子(原子、分子、团簇)与基底(表面、缺陷、掺杂位点等)之间相互作用强度的关键物理量。结合能的定义如下:

其中:

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!:复合体系(吸附体系)的总能量

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!:基底体系的能量

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!:吸附物的能量

结合能为负值表示吸附过程为放热过程,体系稳定;绝对值越大,吸附越强。

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

结合能计算的物理意义

结合能范围

相互作用类型

典型材料体系

-1.0 eV – -5.0 eV

化学吸附

CO/Pt(111), H/Metal

-0.1 eV – -1.0 eV

较强物理吸附

有机分子/二维材料

-0.01 eV – -0.1 eV

弱物理吸附

惰性气体/表面

> 0 eV

不稳定/排斥

部分缺陷体系

结合能计算在催化、吸附分离、表面科学、储能材料等领域具有重要应用价值。

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

结合能计算的前期准备

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

软件安装与环境配置

推荐配置:

# VASP版本选择 

# VASP 6.4+ 版本(稳定性最佳) 

# VASP 6.5+ 版本(GPU支持) 

 

依赖库 

libmpi-dev

libblas-dev

liblapack-dev

fftw3-dev

 

编译器 

# Intel Compiler (推荐

module load intel/2024.1 

GNU编译器 

module load gcc/13.2 

并行环境设置:

节点数与核心数配置 

根据体系大小选择 

小体系:1节点 × 16核 

中体系:2-4节点 × 64核 

大体系:8-16节点 × 256核 

 

环境变量 

export OMP_NUM_THREADS=8 

export KMP_AFFINITY=granular 

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

输入文件准备

POSCAR文件结构

Title

1.0

晶格参数 (保持复合体系一致

    5.200000    0.000000    0.000000 

    0.000000    5.200000    0.000000 

    0.000000    0.000000    15.000000 

原子种类 

Al C 

原子数目 

16 1 

坐标方式 

Direct

原子坐标 

Al 

Al 

… 

关键注意事项:

1.基底和吸附物计算必须使用相同的晶胞尺寸

2.真空层厚度建议≥15 Å(表面计算)

3.吸附物位置需预先放置合理(可使用GPAWASEVESTA

POTCAR文件生成

使用相同版本和类型的赝势 

建议采用PBE泛函对应的PAW赝势 

 

合并赝势文件 

cat /path/to/POTCAR_Al /path/to/POTCAR_C > POTCAR 

 

检查赝势版本一致性 

确保所有原子类型使用相同POTCAR库版本 

KPOINTS设置

Automatic generation 

0

Monkhorst-Pack

9 9 1 

0 0 0 

K点收敛测试要点:

表面计算:kz方向可设为1(真空层方向)

体相材料:k点密度需进行收敛测试

推荐:能量变化时的最小K点网格

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

INCAR关键参数

# ==================== INCAR文件 ==================== 

SYSTEM = Adsorption system 

PREC   = Accurate          # 高精度 

ENCUT  = 450               # 平面波截断能 

ISMEAR = 0                 # Gaussian展宽(精确能量) 

SIGMA  = 0.05              # 展宽参数 (eV) 

ISPIN  = 2                 # 自旋极化(如需) 

LCHARG = .TRUE.            # 输出电荷密度 

LWAVE  = .FALSE.           # 不保存波函数(节省空间) 

 

离子步 

IBRION = 2                 # 共轭梯度优化 

ISIF   = 2                 # 只优化原子位置 

NSW    = 100               # 最大离子步 

EDIFFG = -0.02             # 力收敛判据 (eV/Å) 

 

电子步 

EDIFF  = 1E-6              # 能量收敛判据 

NELM   = 200               # 最大电子步 

ALGO   = Fast              # 快速算法 

结合能计算专用INCAR

静态能量计算(用于结合能) 

IBRION = -1 

NSW    = 0 

EDIFF  = 1E-8              # 更高精度 

ISMEAR = 0 

SIGMA  = 0.05 

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

结构优化流程

第一步:基底结构优化

# INCAR参数 

SYSTEM = Substrate only 

IBRION = 2 

ISIF   = 2 

NSW    = 100 

EDIFFG = -0.01 

 

运行 

mpirun -np 16 vasp_std > out_substrate 

第二步:吸附物结构优化(可选)

对分子吸附物单独优化 

可使用更大的真空层 

SYSTEM = Adsorbate only 

ISYM   = 0                 # 关闭对称性 

第三步:复合体系结构优化

# INCAR参数 

SYSTEM = Composite system 

IBRION = 2 

ISIF   = 2 

NSW    = 100 

EDIFFG = -0.02 

优化完成的判断标准:

检查CONTCAROUTCAR 

grep “fmax” OUTCAR 

输出类似:fmax = 0.008923 eV/Angstrom 

 

最大力应小于0.02 eV/Å 

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

结合能计算完整流程

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

标准三步计算法

┌─────────────────────────────────────────────────────────┐

│                    结合能计算流程                        │ 

├─────────────────────────────────────────────────────────┤

│                                                         │ 

│   步骤1:复合体系计算                                    │ 

│   ┌─────────────────┐   ┌─────────────────┐           │ 

│   │  POSCAR_system  │   │  INCAR_static   │           │ 

│   │  POTCAR         │   │  ISMEAR=0       │           │ 

│   │  KPOINTS        │   │  NSW=0          │           │ 

│   └─────────────────┘   └─────────────────┘           │ 

│              ↓                                            │ 

│         vasp_std (静态计算)                              │ 

│              ↓                                            │ 

│   E_total = OUTCAR提取自由能                           │ 

│                                                         │ 

│   步骤2:基底计算                                        │ 

│   ┌─────────────────┐   ┌─────────────────┐           │ 

│   │  POSCAR_substrate │ │  INCAR_static   │           │ 

│   │  (相同晶胞)      │ │  参数一致       │           │ 

│   └─────────────────┘   └─────────────────┘           │ 

│              ↓                                            │ 

│         vasp_std (静态计算)                              │ 

│              ↓                                            │ 

│   E_substrate = OUTCAR提取自由能                       │ 

│                                                         │ 

│   步骤3:吸附物计算                                      │ 

│   ┌─────────────────┐   ┌─────────────────┐           │ 

│   │  POSCAR_adsorbate │ │  INCAR_static   │           │ 

│   │  (相同位置)       │ │  参数一致       │           │ 

│   └─────────────────┘   └─────────────────┘           │ 

│              ↓                                            │ 

│         vasp_std (静态计算)                              │ 

│              ↓                                            │ 

│   E_adsorbate = OUTCAR提取自由能                       │ 

│                                                         │ 

│   最终计算:                                             │ 

│   E_binding = E_total – (E_substrate + E_adsorbate)     │ 

│                                                         │ 

└─────────────────────────────────────────────────────────┘

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

详细计算脚本

#!/bin/bash

# ==================== 结合能计算脚本 ==================== 

 

# ============ 步骤1:复合体系 ============ 

mkdir 01_total 

cp 00_vasp/* 01_total/ 

cd 01_total 

复制复合体系POSCAR 

cp ../00_vasp/POSCAR_total . 

# INCAR配置 

cat > INCAR

SYSTEM = Total System 

PREC   = Accurate 

ENCUT  = 450 

ISMEAR = 0 

SIGMA  = 0.05 

ISPIN  = 2 

LCHARG = .TRUE. 

LWAVE  = .FALSE. 

IBRION = -1 

NSW    = 0 

EDIFF  = 1E-8 

ALGO   = Normal 

EOF

 

运行 

mpirun -np 16 vasp_std > OUTCAR_total 

 

提取能量 

E_total=$(grep “free energy   TOTEN” OUTCAR_total | tail -1 | awk ‘{print $4}’) 

echo “复合体系总能量: $E_total eV” 

 

# ============ 步骤2:基底体系 ============ 

cd ../ 

mkdir 02_substrate 

cp 00_vasp/* 02_substrate/ 

cd 02_substrate 

cp ../00_vasp/POSCAR_substrate . 

cp ../00_vasp/INCAR_static INCAR 

cp ../00_vasp/POTCAR . 

 

运行 

mpirun -np 16 vasp_std > OUTCAR_substrate 

 

提取能量 

E_substrate=$(grep “free energy   TOTEN” OUTCAR_substrate | tail -1 | awk ‘{print $4}’) 

echo “基底体系能量: $E_substrate eV” 

 

# ============ 步骤3:吸附物体系 ============ 

cd ../ 

mkdir 03_adsorbate 

cp 00_vasp/* 03_adsorbate/ 

cd 03_adsorbate 

cp ../00_vasp/POSCAR_adsorbate . 

cp ../00_vasp/INCAR_static INCAR 

cp ../00_vasp/POTCAR . 

 

运行 

mpirun -np 16 vasp_std > OUTCAR_adsorbate 

 

提取能量 

E_adsorbate=$(grep “free energy   TOTEN” OUTCAR_adsorbate | tail -1 | awk ‘{print $4}’) 

echo “吸附物体系能量: $E_adsorbate eV” 

 

# ============ 计算结合能 ============ 

cd .. 

python3

import numpy as np 

 

E_total = -1234.567890  # 替换为实际值 

E_substrate = -1200.123456 

E_adsorbate = -34.456789 

 

E_binding = E_total – (E_substrate + E_adsorbate) 

print(f”结合能: {E_binding:.6f} eV”) 

print(f”每原子结合能: {E_binding/len(atoms):.6f} eV”) 

PYEOF

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

从OUTCAR提取能量

#!/usr/bin/env python 

# ==================== OUTCAR能量提取脚本 ==================== 

 

import re 

 

def extract_energy(filename): 

    “””OUTCAR文件提取总能“”” 

    energies = 

    with open(filename, ‘r’) as f: 

        for line in f: 

            if ‘free energy   TOTEN’ in line: 

                # 提取能量值 

                parts = line.split() 

                energy = float(parts) 

                energies.append(energy) 

     

    # 取最后一步的能量 

    return energies[-1] if energies else None 

 

使用示例 

E_total = extract_energy(‘OUTCAR_total’) 

E_substrate = extract_energy(‘OUTCAR_substrate’) 

E_adsorbate = extract_energy(‘OUTCAR_adsorbate’) 

 

E_binding = E_total – (E_substrate + E_adsorbate) 

print(f”结合能 = {E_binding:.6f} eV”) 

替代方法:从OSZICAR提取

# OSZICAR文件最后几行 

grep “F=” OUTCAR | tail -5 

 

或使用awk 

grep “free energy   TOTEN” OUTCAR | tail -1 | awk ‘{print $5}’ 

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

本章要点总结

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!
第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

VAP结合能计算知识点梳理

结合能计算的基本原理结合能的定义结合能计算的物理意义

结合能计算的前期准备软件安装与环境配置输入文件准备结构优化流程

结合能计算完整流程标准三步计算法详细计算脚本OUTCAR提取能量

第8章|2026新版VASP吸附与催化教程:vasp结合能计算详细解析!

下一步学习建议

下一章将正式引入本次教程的核心—反应模型与反应位点。我们将从HER催化剂模型与位点知识点梳理、催化剂活性位点的原子级模型介绍了、理论计算方法与工具介绍了方面详细介绍反应模型与反应位点。

声明:如需转载请注明出处(华算科技旗下资讯学习网站-学术资讯),并附有原文链接,谢谢!
(0)
上一篇 2026年6月11日 上午9:44
下一篇 2026年6月15日 上午11:57

相关推荐