There is a newer version of the record available.

Published April 30, 2025 | Version v0.3.13

ACEsuit/mace: v0.3.13

  • 1. University of Cambridge
  • 2. Radical AI
  • 3. @valence-labs
  • 4. Princeton University
  • 5. CuspAI
  • 6. Charles University Prague
  • 7. Lawrence Berkeley National Laboratory
  • 8. @Radical-AI
  • 9. BASF
  • 10. University of British Columbia
  • 11. UC Berkeley, Lawrence Berkeley National Laboratory
  • 12. University College London

Description

MACE 0.3.13 Release Notes

๐Ÿš€ LAMMPS Integration Enhancements

  • Added new MLIAP (Machine Learning InterAtomic Potential) interface for LAMMPS, enabling significantly improved performance and flexibility. (Documentation)
  • Implemented CuEquivariance support in LAMMPS models for GPU acceleration.
  • Added multi-GPU inference support for large-scale molecular dynamics simulations.
  • Improved timing and profiling capabilities via environment variable controls.
  • New command-line option in create_lammps_model.py to select between libtorch (legacy) and MLIAP formats:
# Convert model to MLIAP format
python -m mace.cli.create_lammps_model model.pt --format=mliap

๐Ÿงฎ Atomic Stresses Computation

  • Added support for computing atomic stresses and atomic virials.
  • Useful for analyzing local stress distributions in materials simulations.
from mace.calculators import mace_mp
from ase import build

# Create structure with 10 atoms
atoms = build.bulk("Al", "fcc", a=4.05, cubic=True)
atoms = atoms.repeat((2, 2, 2))

calc = mace_mp(device="cpu", compute_atomic_stresses=True)
atoms.set_calculator(calc)

atoms.get_potential_energy()
stress = atoms.get_stress()
stresses = atoms.get_stresses()

print("Stress tensor:\n", stress.shape)
print("Stresses tensor:\n", stresses.shape)

๐Ÿ—๏ธ Property Keys System Redesign

  • Reworked the property keys system for improved flexibility and maintainability.
  • Introduced KeySpecification class to manage mappings between data formats.
  • Added DefaultKeys enum to standardize access patterns.
  • Enhanced error reporting when keys are missing.
  • Fully backward compatible with previous key conventions.

๐Ÿงฑ New Foundation Models

  • MACE-MATPES: New foundation models finetuned on matpes dataset.
  • New PBE model with +U inconsistencies and a new R2SCAN model.
  • Better transferability for fine-tuning on domain-specific datasets.

| Model | Method | Energy (meV/atom) | Force (meV/ร…) | Stress (GPa) | |------------------|--------|-------------------|----------------|--------------| | M3GNet | PBE | 45 | 177 | 0.898 | | CHGNet | PBE | 32 | 124 | 0.617 | | TensorNet | PBE | 36 | 138 | 0.695 | | MACE | PBE | 34 | 122 | 0.296 | | MACE-MATPES-0 | PBE | 23 | 107 | 0.304 | | M3GNet | r2SCAN | 45 | 208 | 0.982 | | CHGNet | r2SCAN | 27 | 150 | 0.705 | | TensorNet | r2SCAN | 34 | 163 | 0.754 | | MACE-MAPTES-0 | r2SCAN | 19 | 119 | 0.265 |

๐Ÿง  Improved Model Head Selection

  • Added explicit head selection in the MACE calculator for multi-head models.
  • You can now directly specify the head:
# Example of selecting a specific head
calc = MACECalculator(model_path="model.pt", head="DFT")
  • Automatically falls back to "default" head if not specified.
  • Clear error messages when requested head is unavailable.
  • Head-specific configurations supported during inference.

๐Ÿงช MACE Fine-Tuning Preselection CLI

MACE a tool for selecting configurations when fine-tuning foundation models.

๐Ÿ” Key Features

  • Multiple Filtering Strategies:

    • combinations: Only elements in your subset
    • exclusive: Exactly your elements
    • inclusive: All your elements plus potentially others
  • Selection Methods:

    • fps (Farthest Point Sampling) for maximum diversity
    • random for uniform random sampling
  • Weighting Control:

    • Adjust the importance of pretraining vs. fine-tuning data during selection

๐Ÿ’ก Usage Example

python -m mace.cli.fine_tuning_select \
  --configs_pt path/to/pretraining_data.xyz \
  --atomic_numbers "[1, 6, 8]" \
  --num_samples 5000 \
  --filtering_type combinations \
  --output selected_configs.xyz

This functionality is also available directly in run_train.py when using the --atomic_numbers parameter. One can no longer do the filtering from run_train without adding the atomic numbers.

๐Ÿ“ฆ Installation

pip install --upgrade mace-torch

# For CUDA acceleration (CUDA 12)
pip install cuequivariance cuequivariance-torch cuequivariance-ops-torch-cu12

# For CUDA 11
pip install cuequivariance-ops-torch-cu11

For complete usage and documentation, please see our official documentation.
If you encounter any issues, please report them on our GitHub Issues page.

๐Ÿ”„ Full Changelog

Full Changelog: https://github.com/ACEsuit/mace/compare/v0.3.12...v0.3.13

Files

ACEsuit/mace-v0.3.13.zip

Files (121.3 MB)

Name Size Download all
md5:7f49308e295a3534d04044a9b232c526
121.3 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/ACEsuit/mace/tree/v0.3.13 (URL)

Software