mir-group/flare
An open-source Python package for creating fast and accurate interatomic potentials.
什么是 FLARE?
FLARE(原子罕见事件的快速学习)是一个开源的 Python 库,用于构建 贝叶斯原子间力场。它将原子描述符(ACE、B2 等)与 稀疏高斯过程(GP)回归模型相结合,从量子力学参考数据中学习势能。生成的势能足够快,可用于分子动力学(MD),同时提供 不确定性估计,支持实时主动学习。
主要功能
| 功能 | FLARE 的实现方式 |
|---|---|
| 高精度力场 | 使用 ACE 类型描述符和归一化点积核的稀疏 GP 捕捉多体相互作用。 |
| 不确定性感知 MD | GP 为每个预测返回方差,使模拟能够标记模型不确定的构型。 |
| 主动学习工作流 | FLARE 可自动将高不确定性构型添加到训练集中(“实时学习”),或用于离线训练循环。 |
| LAMMPS 集成 | 提供 C++ 对势(通过 pybind11),可编译进 LAMMPS,支持使用贝叶斯力的大规模 MD。 |
| 自定义描述符 | 用户可插入自己的描述符函数,仍可使用相同的稀疏 GP 机制。 |
| 可扩展至大规模数据集 | 稀疏 GP 将成本从 O(N³) 降低到 O(M³),其中 M 是选定的“稀疏环境”数量(通常为数千)。 |
| 热输运工具 | 示例笔记本展示了与 Phono3py 和 Phoebe 联用,从 FLARE 势能计算晶格热导率的方法。 |
典型应用场景
- 材料发现 – 为新材料(如合金或催化剂)构建贝叶斯力场,让模型决定哪些构型需要昂贵的 DFT 计算。
- 罕见事件模拟 – 研究在长时间尺度上发生的反应或相变;不确定性估计有助于将采样集中在最有信息量的区域。
- 加速 MD – 用学习得到的 FLARE 势能替代昂贵的第一性原理 MD,同时保留置信度度量。
- 热性质计算 – 使用 FLARE-LAMMPS 生成力常数,并输入 Phono3py / Phoebe 以预测热导率。
快速上手
# 从 PyPI 安装最新版本
pip install mir-flare
*该包会自动拉取所需的 C++ 扩展(使用 GCC 11 编译)。
对于需要修改源码的开发者,README 提供了详细的开发者安装指南以及编译 LAMMPS 以集成 FLARE 对势的说明。
学习资源
- 文档网站 – https://mir-group.github.io/flare(API 参考、安装、教程)。
- Colab 笔记本 – 交互式教程涵盖:
- 使用 ASE 构建贝叶斯力场(离线与实时主动学习)
- 通过 C++ API 运行完整的 LAMMPS 主动学习流程
- 自定义描述符集成
- 使用 Phono3py 和 Phoebe 的热导率工作流
- 示例画廊 – 文档的“相关”页面列出了真实世界应用和基准结果。
技术要求
- 编译器:GCC 11(已测试);其他 C++ 编译器可能可用,但不保证。
- Python:3.x,
pip>=20。 - 可选:Intel MKL 用于更快的线性代数;大型模型(10k+ 稀疏环境)建议 ≥100 GB 内存。
- 操作系统:在 Ubuntu 20.04 上开发;支持 macOS 和 Windows(通过 WSL 或原生构建)。
验证与测试
项目包含 pytest 测试套件。安装后可运行:
pip install pytest
cd tests
pytest
以验证库及其编译扩展在您的机器上是否正常工作。
引用
如果在发表工作中使用 FLARE,请引用 README 中列出的相关论文(主动学习贝叶斯力场、LAMMPS 对势、映射高斯过程等)。
TL;DR – FLARE 是一个以 Python 为中心、基于高斯过程的框架,用于构建快速、不确定性感知的原子间势能,与 LAMMPS 紧密集成,并提供一系列教程,让您从几次 DFT 计算快速过渡到大规模 MD 模拟。
相关
- 项目
- 项目
- 项目
- 项目