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 势能计算晶格热导率的方法。

典型应用场景

  1. 材料发现 – 为新材料(如合金或催化剂)构建贝叶斯力场,让模型决定哪些构型需要昂贵的 DFT 计算。
  2. 罕见事件模拟 – 研究在长时间尺度上发生的反应或相变;不确定性估计有助于将采样集中在最有信息量的区域。
  3. 加速 MD – 用学习得到的 FLARE 势能替代昂贵的第一性原理 MD,同时保留置信度度量。
  4. 热性质计算 – 使用 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 模拟。

相关

  • 项目
  • 项目
  • 项目
  • 项目