mir-group/flare
An open-source Python package for creating fast and accurate interatomic potentials.
What is FLARE?
FLARE (Fast Learning of Atomistic Rare Events) is an open‑source Python library that builds Bayesian interatomic force fields. It combines atomistic descriptors (ACE, B2, etc.) with a sparse Gaussian‑process (GP) regression model to learn potentials from quantum‑mechanical reference data. The resulting potentials are fast enough for molecular dynamics (MD) while providing uncertainty estimates that enable on‑the‑fly active learning.
Key Capabilities
| Capability | How FLARE provides it |
|---|---|
| Accurate force fields | Uses ACE‑type descriptors and a normalized‑dot‑product kernel within a sparse GP to capture many‑body interactions. |
| Uncertainty‑aware MD | The GP returns a variance for each prediction, allowing the simulation to flag configurations where the model is unsure. |
| Active‑learning workflow | FLARE can automatically add high‑uncertainty configurations to the training set ("on‑the‑fly" learning) or be used in an offline training loop. |
| LAMMPS integration | Provides a C++ pair‑style (via pybind11) that can be compiled into LAMMPS, enabling large‑scale MD with Bayesian forces. |
| Custom descriptors | Users can plug in their own descriptor functions and still use the same sparse‑GP machinery. |
| Scalable to large datasets | Sparse GP reduces the cost from O(N³) to O(M³) where M is the number of selected “sparse environments” (typically a few‑thousand). |
| Thermal‑transport tools | Example notebooks show coupling with Phono3py and Phoebe to compute lattice thermal conductivity from FLARE potentials. |
Typical Use Cases
- Materials discovery – Build a Bayesian force field for a new alloy or catalyst and let the model decide which configurations need expensive DFT calculations.
- Rare‑event simulations – Study reactions or phase transformations that occur on long timescales; the uncertainty estimate helps focus sampling on the most informative regions.
- Accelerated MD – Replace costly ab‑initio MD with a learned FLARE potential while retaining a measure of confidence.
- Thermal‑property calculations – Generate force constants with FLARE‑LAMMPS and feed them to Phono3py / Phoebe for conductivity predictions.
Getting Started
# Install the latest release from PyPI
pip install mir-flare
The package pulls in required C++ extensions (compiled with GCC 11) automatically.
For developers who need to modify the source, the README points to a detailed developer‑installation guide and instructions for compiling LAMMPS with the FLARE pair style.
Learning Resources
- Documentation site – https://mir-group.github.io/flare (API reference, installation, tutorials).
- Colab notebooks – Interactive tutorials covering:
- Bayesian force‑field construction (offline & on‑the‑fly active learning) with ASE.
- Full LAMMPS‑based active‑learning runs via the C++ API.
- Custom descriptor integration.
- Thermal‑conductivity workflow using Phono3py and Phoebe.
- Example gallery – Real‑world applications and benchmark results are listed on the “related” page of the docs.
Technical Requirements
- Compilers: GCC 11 (tested); other C++ compilers may work but are not guaranteed.
- Python: 3.x with
pip>=20. - Optional: Intel MKL for faster linear‑algebra; large models (10k+ sparse environments) benefit from ≥100 GB RAM.
- OS: Developed on Ubuntu 20.04; works on macOS and Windows (via WSL or native builds).
Validation & Testing
The project includes a pytest suite. After installation you can run:
pip install pytest
cd tests
pytest
to verify that the library and its compiled extensions are functional on your machine.
Citation
If you use FLARE in published work, cite the appropriate papers listed in the README (active‑learning Bayesian force fields, LAMMPS pair style, mapped GP, etc.).
TL;DR – FLARE is a Python‑centric, GP‑based framework for building fast, uncertainty‑aware interatomic potentials, with tight integration to LAMMPS and a suite of tutorials that let you go from a few DFT calculations to large‑scale MD in minutes.
Related
- Project
- Project
- Project
- Project