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 模擬。
相關
- 專案
- 專案
- 專案
- 專案