掘金 人工智能 07月04日 17:51
VASP 教程:VASP 机器学习力场微调
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了使用VASP软件进行机器学习力场微调,以优化声子谱计算结果的方法。通过调整机器学习超参数,如权重选取模式、截断距离等,可以获得与DFT计算结果相媲美的精度。教程提供了详细的操作步骤,包括克隆容器、上传文件、安装环境、运行脚本以及微调参数,最终实现对机器学习力场的优化,并提供了一个OpenBayes云平台进行演示的案例。

💡机器学习力场(MLFFs)结合了量子力学与经典分子动力学的优势,在保持物理准确性的同时,降低了计算成本,使得长时间尺度模拟成为可能。

⚙️VASP软件提供了实时机器学习力场技术,本教程重点关注~/refit文件夹下的输入文件,通过调整INCAR文件中的超参数,如ML_IWEIGHT、ML_RCUT1等,来优化声子谱计算结果。

💻操作步骤包括克隆容器、上传文件、安装phonopy环境、运行脚本以及微调参数等。用户需要准备硅赝势和分子动力学数据,并根据教程逐步调整超参数,最终得到与DFT结果接近的声子谱。

🔬教程演示了如何通过更改权重模式、拟合精度和截断距离等参数,观察对结果的影响。通过对比不同参数设置下的声子谱,可以找到最优的力场参数,提升计算精度。

机器学习力场(Machine-Learned Force Fields, MLFFs)作为一种新兴的计算方法,已在第一性原理分子动力学(Ab Initio Molecular Dynamics, AIMD)模拟中展现出独特优势(参见 VASP Wiki:Category:Machine-learned force fields)。该方法既保持了基于量子力学基本原理的物理准确性,又显著降低了传统 AIMD 模拟的计算成本,使得长时间尺度的分子动力学模拟成为可能。
传统 AIMD 模拟(如基于密度泛函理论 DFT 的方法)由于需要对电子结构进行精确求解,单步计算代价极为昂贵。而经典分子动力学虽然采用经验力场大幅提升计算效率,但其准确性严重依赖于预先设定的原子间势能函数,这些势能通常基于实验数据构建,并经验性地纳入范德华力、静电相互作用等关键物理因素。这种建模方式使得力场性能受限于研究者对特定体系相互作用的认知程度。
VASP 提供的实时机器学习力场技术有效解决了上述两难问题。本教程将系统性地演示如何通过调整机器学习超参数来优化声子谱计算结果,最终获得最优的力场参数文件。通过本教程,您将了解如下 VASP 机器学习的超参数:

通过合理地调整参数,我们最终将得到与 DFT 几乎一模一样的结果。

教程链接: go.openbayes.com/OzP7A

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

一、输入文件说明

输入文件包含

├── dft_phonon│ ├── band.yaml (DFT参考声子谱)├── ml_phonon (机器学习声子谱计算文件夹)├── refit (微调文件夹)│ ├── INCAR│ ├── KPOINTS│ ├── ML_AB│ ├── POSCAR│ ├── POTCAR│ ├── clean.sh│ └── run.sh├── t.py本教程只关注 ~/refit 文件夹下的输入文件即可

run.sh

#进行机器学习拟合mpirun -n 1 vasp_std#将力场参数文件转移到声子计算文件夹中cp ML_FFN ../ml_phonon/ml/ML_FF#进行声子机器学习计算cd ../ml_phonon/chmod 777 *.sh./run.shcd ../#绘制对比图python t.py

INCAR 机器学习拟合设置

SYSTEM = SiIVDW   = 11     #范德华力ISMEAR = 0      #费米展宽SIGMA  = 0.02  #展宽LWAVE  = F #不保留波函数LCHARG = F #不保留电荷IBRION = 0      #MD (treat ionic degrees of freedom)NSW    = 1       #机器学习需要设置成 1POTIM  = 1      #MD time step in fsISIF   = 3          #机器学习ML_LMLFF  = T        #启用机器学习力场ML_ISTART  = 3       #重新拟合模式(微调模式)ML_IWEIGHT = 3       #权重选取模式ML_WTSIF  = 1        #权重系数ML_WTOTEN = 1        #总能权重系数ML_WIFOR =  1        #力权重系数ML_SIGW0 = 1E-20   #拟合步长精度ML_RCUT1 = 8.         #径向截断距离ML_RCUT2 = 6.         #夹角截断距离ML_EPS_LOW = 1E-20 #拟合精度ML_MB = 5000      #运行内存设置

KPOINTS(启用机器学习时不使用,随便设置一个即可)

K-Spacing Value to Generate K-Mesh: 0.0400Gamma   4   4   40.0  0.0  0.0

POSCAR

机器学习训练的超胞大小,可参考教程:使用 VASP 进行机器学习力场训练

POTCAR

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

ML_AB

这是事先计算好的系统对应的分子动力学数据,具体训练流程可参考教程:使用 VASP 进行机器学习力场训练,然后将 ML_ABN 重命名为 ML_AB,这里为 Si 的分子动力学数据,已经事先准备好了。

二、操作步骤

1. 克隆并启动容器

登录 OpenBayes.com,在「公共教程」页面,选择「VASP 机器学习力场微调」教程。

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

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

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

2. 上传文件

首先打开「终端」,输入以下命令进入 refit 文件夹。

cd refit

然后上传准备好的硅赝势,这里可以使用「官网例子」里的赝势 POTCAR。把 POTCAR 放到目录中,并复制到「ml_phonon/ml」中。

3. 安装 phonopy 环境

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

conda install -c conda-forge phonopy

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

4. 运行脚本

输入以下命令运行脚本。

chmod 777 *.sh./run.sh

5. 微调参数

最后计算的结果将输出在 pdf 中,查看文件 ml.png

回到「refit」文件夹,更改权重模式为「ML_IWEIGHT = 2」,再次运行脚本查看结果。

最后得到的输出结果为下图。可以看到结果更差了,回头更改权重模式「ML_IWEIGHT = 1 再观察结果。

得到结果如下图。综合比较可以发现 1 和 3 的结果差不多,甚至 1 的细节更好(光学支),接下来在「ML_IWEIGHT = 1」的情况下,进行改进。我们尝试单独增加拟合力的精度,将「ML_WIFOR」改小。

可以发现变化不大,这说明我们应该尝试增加截断距离,给予更多拟合空间。

可以看到,结果反而更差(光学支),那这说明参数空间过大,找到的极值点反而不是最小值点。我们应当反过来减小截断距离。

更改参数,重新运行后,我们最后得到了能生成与 DFT 一模一样声子谱的机器学习力场参数。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

VASP 机器学习力场 声子谱 超参数优化
相关文章