VASP 教程:使用 VASP 进行机器学习力场训练

Vienna Ab initio Simulation Package(VASP,The VASP Manual - VASP Wiki)是一个计算机程序,用于从第一性原理进行原子尺度材料建模,例如电子结构计算和量子力学分子动力学。

与从头算分子动力学(MD)结合使用的机器学习力场(Category:Machine-learned force fields - VASP Wiki),能够从第一性原理出发捕捉底层物理机制,同时仍能以相对较低的计算成本实现长时间模拟。通常,由于需要对电子进行量子力学处理,例如在密度泛函理论(DFT)框架下,单次从头算分子动力学步骤的计算成本极高。在完全经典的分子动力学计算中,力场被用于替代 DFT 来计算作用于每个原子的力。这些原子间势能传统上基于实验观测,并通过经验方法纳入已知作用力(如范德华力、静电荷相互作用等)。因此,力场的质量取决于特定体系中相互作用的认知程度。而 VASP 提供实时机器学习力场,以解决上述两大问题。

本次教程将以硅晶体为例,通过 NpT 系综分子动力学,演示如何训练 VASP 机器学习力场。通过本教程,您将学会机器学习力场训练的基本流程:

  • 准备分子动力学输入文件

  • 根据实际情况更改分子动力学和机器学习参数

  • 开始训练

  • 通过计算声子谱进行机器学习力场的简单验证

教程链接:https://go.openbayes.com/jfICt

该教程将在云平台 OpenBayes.com 上进行演示,使用下方邀请链接注册即可获得 4 小时 RTX 5 090 免费使用时长:

https://openbayes.com/console/signup?r=Dennis9801_1ohB

一、输入文件说明

输入文件包含

复制代码
├── dft_phonon (DFT参考声子谱文件)
│  
├── ml_phonon (机器学习力场计算声子谱)
|   ├── run.sh (计算脚本)
|   :     :     (其他文件省略)
|   :     :
|
├── mltrain_train (机器学习力场训练输入文件)
│   ├── INCAR (vasp设置文件)
│   ├── KPOINTS (K点文件)
│   ├── POSCAR (硅结构文件)
│   
|
└── t.py 声子谱绘制文件

这里将只讲解训练机器学习力场的输入文件。

INCAR

复制代码
SYSTEM = Si16
ISYM   = 0        ! 不考虑对称性

! ab initio
PREC   = Normal !正常精度
IVDW   = 11     !范德华修正
ISMEAR = 0     ! 费米占据
SIGMA  = 0.02  ! 费米展宽
ENCUT  = 300   !波函数截断
EDIFF  = 1e-5  !计算精度
LWAVE  = F    !不保留波函数
LCHARG = F    !不保留电荷文件
LREAL  = F    !不做实空间投影计算
! MD
IBRION = 0        ! 进行分子动力学计算
NSW    = 500    ! 分子动力学步数
POTIM  = 5.0      ! 分子动力学时间间隔5fs
#NpT系综分子动力学设置
MDALGO = 3                ! 郎之万温控方法
LANGEVIN_GAMMA   = 5      ! 原子扰动系数
LANGEVIN_GAMMA_L = 10     ! 晶格扰动系数
PMASS  = 10               ! 晶格质量
TEBEG  = 400              ! 初始温度为400
ISIF   = 3        ! 
! machine learning
ML_LMLFF  = T
ML_ISTART = 0  !进行机器学习力场训练
ML_WTSIF  = 2
#随机数种子
RANDOM_SEED =         688344966                0                0

POSCAR

16 原子超胞

复制代码
Si16
1.0
-5.468728 -5.468728 0.000000
-5.468728 0.000000 -5.468728
-0.000000 -5.468728 -5.468728
Si
16
direct
0.125000 0.125000 0.125000 Si
0.125000 0.125000 0.625000 Si
0.125000 0.625000 0.125000 Si
0.125000 0.625000 0.625000 Si
0.625000 0.125000 0.125000 Si
0.625000 0.125000 0.625000 Si
0.625000 0.625000 0.125000 Si
0.625000 0.625000 0.625000 Si
0.250000 0.250000 0.250000 Si
0.250000 0.250000 0.750000 Si
0.250000 0.750000 0.250000 Si
0.250000 0.750000 0.750000 Si
0.750000 0.250000 0.250000 Si
0.750000 0.250000 0.750000 Si
0.750000 0.750000 0.250000 Si
0.750000 0.750000 0.750000 Si

KPOINTS

复制代码
Not only Gamma point
 0
Gamma
 2 2 2
 0 0 0

POTCAR

系统对应元素的赝势组合,这里为 Si 的赝势

二、操作步骤

1.克隆并启动容器

登录 OpenBayes.com,在「公共教程」页面,选择「使用 VASP 进行机器学习力场训练」教程。

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

选择「NVIDIA GeForce RTX 4090」以及「vasp」镜像,OpenBayes 平台提供了 4 种计费方式,大家可以按照需求选择「按量付费」或「包日/周/月」,点击「继续执行」。可以使用文章开头的邀请链接,获得 RTX 4090 使用时长!

待系统分配好资源,当状态变为「运行中」后,点击「打开工作空间」。

2.上传文件

首先打开「终端」,输入以下命令进入目录。

复制代码
cd mltrain_train

然后上传准备好的硅赝势,这里可以使用「官网例子」里的赝势 POTCAR。

3.安装 phonopy 环境

输入以下命令安装 phonopy 环境。

复制代码
conda install -c conda-forge phonopy

当模型运行到以下阶段,输入「y」同意安装。

4.训练机器学习力场

运行以下命令直接运行 vasp,运行完毕后左侧会出现训练好的机器学习力场文件「ML_FFN」。

复制代码
mpirun -n 1 vasp_std

5.通过计算声子谱简单验证力场可用性

输入以下命令将力场文件复制到声子谱计算文件夹中。

复制代码
cp ML_FFN  ../ml_phonon/ml/ML_FF
cp POTCAR ../ml_phonon/ml/
cd ../ml_phonon/

然后输入以下命令激活 phonopy 环境,并运行脚本 run.sh 进行计算。

复制代码
chmod 777 *.sh
./run.sh

最后返回上一级,输入以下命令绘制声子谱对比图。

复制代码
python t.py

可以看到,由于我们分子动力学步数只有 500,最终两者声子谱相距并不小。因此,想要得到更好的效果,可在训练时,增加 INCAR 中分子动力学步数和提高计算精度。

相关推荐
java1234_小锋3 分钟前
基于Python深度学习的车辆车牌识别系统(PyTorch2卷积神经网络CNN+OpenCV4实现)视频教程 - 自定义字符图片数据集
python·深度学习·cnn·车牌识别
技术支持者python,php8 分钟前
训练模型,物体识别(opencv)
人工智能·opencv·计算机视觉
爱笑的眼睛1111 分钟前
深入理解MongoDB PyMongo API:从基础到高级实战
java·人工智能·python·ai
软件开发技术深度爱好者23 分钟前
基于多个大模型自己建造一个AI智能助手
人工智能
中國龍在廣州36 分钟前
现在人工智能的研究路径可能走反了
人工智能·算法·搜索引擎·chatgpt·机器人
攻城狮7号1 小时前
小米具身大模型 MiMo-Embodied 发布并全面开源:统一机器人与自动驾驶
人工智能·机器人·自动驾驶·开源大模型·mimo-embodied·小米具身大模型
搜移IT科技1 小时前
【无标题】2025ARCE亚洲机器人大会暨展览会将带来哪些新技术与新体验?
人工智能
信也科技布道师FTE1 小时前
当AMIS遇见AI智能体:如何为低代码开发装上“智慧大脑”?
人工智能·低代码·llm
青瓷程序设计1 小时前
植物识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
AI即插即用2 小时前
即插即用系列 | CVPR 2025 WPFormer:用于表面缺陷检测的查询式Transformer
人工智能·深度学习·yolo·目标检测·cnn·视觉检测·transformer