Skip to main content

Overview

The model registry is the single source of truth for every MLIP model available in MLIP Arena. It lives at:
At import time, mlip_arena.models reads the file and exposes the parsed content as the REGISTRY dict:
REGISTRY is then used to populate MLIPMap and MLIPEnum by dynamically importing each model class.

Registry fields

Each top-level key in registry.yaml is the canonical model name. Its value is a dict with the following fields:

Identification and loading

string
required
Sub-package under mlip_arena.models that contains the model file. Currently always "externals".
string
required
Name of the Python class to import from mlip_arena.models.{module}.{family}. This class is used as the calculator.
string
required
Module filename (without .py) inside mlip_arena.models.{module}/. E.g. "mace-mp" maps to mace-mp.py.
string
required
Pip-installable package and version required for this model (e.g. "mace-torch==0.3.9").
string
Model checkpoint identifier — a filename, version tag, or URL used by the class constructor to load weights.

Provenance

string
HuggingFace Hub username of the model maintainer.
string (ISO 8601)
Timestamp of the last update to the registry entry.
string (ISO 8601)
Datetime associated with the model release or upload.
string (YYYY-MM-DD)
Publication or release date of the model.
string (URL)
Link to the upstream GitHub repository.
string (URL)
DOI or arXiv link to the associated paper.
string
SPDX license identifier (e.g. "MIT", "Apache-2.0", "GPL-3.0-only"). null if not specified.

Training data

string[]
List of training dataset names (e.g. ["MPTrj", "Alexandria"]). Common values:
  • MPTrj — Materials Project trajectories
  • Alexandria — Alexandria crystal dataset
  • OMat — Open Materials dataset (Meta)
  • MPF — Materials Project forces
  • MP22 — Materials Project 2022
  • OC20 / OC22 — Open Catalyst datasets
  • SPICE — Small molecule and protein interaction dataset
  • Proprietary — non-public data

Benchmark tasks

string[]
Benchmark tasks the model participates in on GPU. Supported task identifiers:
  • homonuclear-diatomics — diatomic molecule potential energy curves
  • stability — thermodynamic stability prediction
  • combustion — combustion reaction MD
  • eos_bulk — bulk equation of state
  • wbm_ev — WBM energy-volume curves
string[]
Benchmark tasks the model participates in on CPU (typically lighter tasks). Common value: eos_alloy.

Capabilities

string
Compact string listing which physical quantities the model outputs:Example: "EFSM" means energy + forces + stress + magnetic moments.
boolean
Whether the model supports NVT (constant volume/temperature) molecular dynamics.
boolean
Whether the model supports NPT (constant pressure/temperature) molecular dynamics. Some models have known issues with NPT (see inline comments in registry.yaml).

Complete model table

EF models output energy and forces only. EFSM models additionally output stress and magnetic moments. Models without a listed license have null in the registry.

Adding a new model

1

Create the calculator file

Add a new Python file under mlip_arena/models/externals/ named after the model family (e.g. myfamily.py). Define a class that wraps the model and implements a calculate method compatible with ASE.
2

Add an entry to registry.yaml

Append a new entry to mlip_arena/models/registry.yaml following the schema above:
3

Verify the model loads

Install the required package and confirm your model appears in MLIPEnum: