快速上手合金测试工作流:APEX 1.0 (Alloy Properties EXplorer using simulations)
©️ Copyright 2023 @ Authors
作者:
zhuoyli@outlook.com 📨
日期:2023-07-25
共享协议:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
快速开始:点击上方的 开始连接 按钮,选择 bohrium-notebook:2023-05-31镜像 和任意配置机型即可开始。
该Bohrium notebook演示了如何快速使用APEX合金测试工作流提交分子动力学测试的一个上手案例。因该案例相关的LAMMPS计算任务被预设需提交到Bohrium云平台运算,用户可能需先准备一个Bohrium账号来进行该案例。用户可以查看APEX仓库下的README.md
来了解更详细的用户使用说明。
Background
以DeePMD为代表的AI for Science方法已在高效的分子/原子尺度的精确模拟方面展现出巨大的潜力。与此同时,一个高效、稳定、自动化的模型评估系统对于方法的持续开发与场景的实际应用都具有重大意义。
以合金体系为例,研究者们主要关心平衡态结构和能量的计算、能量与体积的关系曲线、弹性常数、空位形成能、间隙缺陷形成能以及表面形成能等重要性质参数。通过对此类性质的测试结果与同一合金体系的DFT或实验结果进行比较,可进一步评估该模型的准确性。对于如Deep Potential (DP) 一类的机器学习势函数,还可指导训练策略的优化以及前期训练的参数设置。
在此背景下,开发者们借助逐渐成熟的dflow科学计算云原生工作流所提供的完备且方便的工作流开发功能,第一性原理计算算子库fpop等工具对合金性质测试流程进行了重构,并将其命名为: Alloy Properties EXplorer using simulations (APEX)。APEX将致力为社区用户提供高效、便捷、高兼容性的合金性质计算测试工作流。
安装 APEX
通过git clone
下载仓库:
通过pip
可以快速将APEX和诸如pydflow
等一系列依赖安装到当前python环境下:
或者,如果本地已有测试的案例,也可直接安装APEX
:
检查APEX是否正确安装:
LAMMPS测试案例
这里我们演示如何通过APEX提交一个基于分子动力学软件LAMMPS工作流的完整流程。该工作流将同时对BCC和FCC相的钼单质相关的EOS和弹性常数性质进行测试。该案例存放在仓库的examples/lammps_demo/
路径下:
通过tree
命令查看该案例工作路径下预先准备的文件:
global_bohrium.json
包含了APEX提交工作流至Bohrium平台相关的全局设置(例如:Bohrium账号信息;镜像地址;节点种类等)。该文件应当提前准备在用户提交的工作路径下:
请通过运行下面的代码填入global_bohrium.json
文件下关于自己Borhrium账户的相关信息(username
; password
;program_id
):
一个完整的APEX合金测试工作流由结构弛豫: relaxation
和性质测试: property
两个单独的计算工作流串联完成,其具体参数设置均通过工作路径下的相关json文件传递给APEX。
在这里,我们准备了一些计算参数的json文件。按照其包含的内容分为下面三种:
param_relax.json
包括了构型文件路径,原子作用描述信息,和结构弛豫工作流相关参数信息。例如:
param_props.json
包括了构型文件路径,原子作用描述信息,和性质测试工作流相关参数信息。例如:
param_joint.json
包括了上面两个文件里所有的信息。例如:
提交结构弛豫relaxation
工作流
首先,在做性质测试之前,先提交一个结构弛豫工作流。 可以通过以下命令实现:(文件上传时间取决本地网络速度而略有不同,可能需要几分钟)
当出现:Workflow has been submitted (ID: ...
我们就可以通过website所显示的Argo UI来监控该工作流。
APEX Introduction
APEX继承第二版合金性质计算的功能,基于dflow工作流开发工具进行重构,使其结合云原生工作流的优势,将多构型,多性质自动测试的复杂流程逻辑直观化,用户操作流程简单化。
图 1|APEX合金工作流流程图
在Argo UI上的三种APEX工作流:
- 结构弛豫:
- 性质计算:
- 联合工作流:
结构弛豫工作流介绍:
图 2|结构弛豫工作流三步骤
提交性质测试 property
工作流
当前结构弛豫工作流完成后,相关结果文件会被自动回收并下载到本地工作路径下。
使用tree
查看当前工作路径:
接下来,我们就通过以下任意命令来继续提交合金测试工作流:(⚠️注意:在提交合金测试之前工作路径必须存在结构弛豫后的相关结果文件)
成功提交后,我们可以继续通过 website 来监控该工作流。
APEX合金基本性质测试
- The equation of state (EOS):
图 3|Three steps in EOS calculation
图 4|Example of EOS plot (from Computer Physics Communications 253 (2020) 107206)
- 弹性常数:
图 5|Three steps in elastic constants calculation
表面能:
点缺陷形成能:
层错能:
当性质计算工作流完成后,相关结果文件会被自动回收并下载到本地工作路径下:
提交联合工作流(结构弛豫+性质计算)
你也可以通过提交一个联合工作流来一键完成上述两种工作流的工作。让我们先重置该示例的工作路径:
可以通过以下任意命令提交一个联合工作流:
apex submit param_joint.json -c global_bohrium.json
apex submit param_relax.json param_props.json -c global_bohrium.json
例如:
成功提交后,我们可以继续通过 website 来监控该工作流。
当性质计算工作流完成后,相关结果文件会被自动回收并下载到本地工作路径下:
查看测试结果
当上述工作流完成后,我们可以检查所测试两相的EOS和弹性常数结果: