SkillAgentSearch skills...

Upet

Universal interatomic potentials for advanced materials modeling

Install / Use

/learn @lab-cosmo/Upet
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center" width="600"> <picture> <source srcset="https://github.com/lab-cosmo/upet/raw/refs/heads/main/docs/static/upet-logo-with-text-dark.svg" media="(prefers-color-scheme: dark)"> <img src="https://github.com/lab-cosmo/upet/raw/refs/heads/main/docs/static/upet-logo-with-text.svg" alt="Figure"> </picture> </div>

[!NOTE] The PET-MAD-1.5 models trained for 102 elements at the r2SCAN level of theory are now available! These models are more robust, more accurate and faster than the previous PET-MAD models. We highly recommend using these models for all applications, especially molecular dynamics simulations. Try them out and let us know what you think!

from upet.calculator import UPETCalculator
calculator = UPETCalculator(model="pet-mad-s", version="1.5.0", device="cuda")

[!NOTE] Are you here to try our Matbench model? Here's all you need. Don't be scared by the parameter count: you'll see that our model is much faster than you think. This model is excellent for convex hull energies, geometry optimization and phonons, but we highly recommend the lighter and more universal PET-MAD for molecular dynamics!

from upet.calculator import UPETCalculator
calculator = UPETCalculator(model="pet-oam-xl", version="1.0.0", device="cuda")

[!WARNING] This repository is a successor of the PET-MAD repository, which is now deprecated. The package has been renamed to UPET to reflect the broader scope of the models and functionalities provided, that go beyond the original PET-MAD model. Please use version 1.4.4 of PET-MAD package if you want to use the old API. The older version of the README file with documentation is avaiable here. The migration guide from PET-MAD to UPET is available here.

UPET: Universal Models for Advanced Atomistic Simulations

This repository contains UPET models - universal interatomic potentials for advanced materials modeling across the periodic table. These models are based on the Point Edge Transformer (PET) architecture trained on various popular atomistic datasets, and they are capable of predicting energies and forces in complex atomistic workflows.

In addition, it contains PET-MAD-DOS - a universal model for predicting the density of states (DOS) of materials and molecules, as well as their Fermi levels and bandgaps. PET-MAD-DOS uses a slightly modified PET architecture and it is trained on the MAD dataset.

Key Features

  • Universality: UPET models are generally-applicable, and can be used for predicting energies and forces, as well as the density of states, Fermi levels, and bandgaps for a wide range of materials and molecules.
  • Accuracy: UPET models achieve excellent accuracies in various types of atomistic simulations of organic and inorganic systems.
  • Efficiency: UPET models are highly computationally efficient and have low memory usage, which makes them suitable for large-scale simulations.
  • Infrastructure: Various MD engines are available for diverse research and application needs.
  • HPC Compatibility: Efficient in HPC environments for extensive simulations.

Table of Contents

  1. Installation
  2. Pre-trained Models
  3. Interfaces for Atomistic Simulations
  4. Usage
  5. Fine-tuning
  6. Examples
  7. Further Documentation
  8. FAQs
  9. Known Issues
  10. Citing UPET Models

Installation

You can install UPET using pip:

pip install upet

Or directly from the GitHub repository:

pip install upet@git+https://github.com/lab-cosmo/upet.git

Pre-trained Models

Currently, we provide the following pre-trained models:

| Name | Level of theory | Available sizes | To be used for | Training set | |:------------|:-----------------------:|:----------------------:|:-----------------------:|:---------------------:| | PET-MAD-1.5 | r2SCAN | XS, S | <span title="Supported elements: H, He, Li, Be, B, C, N, O, F, Ne, Na, Mg, Al, Si, P, S, Cl, Ar, K, Ca, Sc, Ti, V, Cr, Mn, Fe, Co, Ni, Cu, Zn, Ga, Ge, As, Se, Br, Kr, Rb, Sr, Y, Zr, Nb, Mo, Tc, Ru, Rh, Pd, Ag, Cd, In, Sn, Sb, Te, I, Xe, Cs, Ba, La, Ce, Pr, Nd, Pm, Sm, Eu, Gd, Tb, Dy, Ho, Er, Tm, Yb, Lu, Hf, Ta, W, Re, Os, Ir, Pt, Au, Hg, Tl, Pb, Bi, Po, At, Rn, Fr, Ra, Ac, Th, Pa, U, Np, Pu, Am, Cm, Bk, Cf, Es, Fm, Md, No">materials & molecules<br>(102 elements)</span> | OMat -> MAD-1.5 | | PET-OAM | PBE (Materials Project) | L, XL | <span title="Supported elements: H, He, Li, Be, B, C, N, O, F, Ne, Na, Mg, Al, Si, P, S, Cl, Ar, K, Ca, Sc, Ti, V, Cr, Mn, Fe, Co, Ni, Cu, Zn, Ga, Ge, As, Se, Br, Kr, Rb, Sr, Y, Zr, Nb, Mo, Tc, Ru, Rh, Pd, Ag, Cd, In, Sn, Sb, Te, I, Xe, Cs, Ba, La, Ce, Pr, Nd, Pm, Sm, Eu, Gd, Tb, Dy, Ho, Er, Tm, Yb, Lu, Hf, Ta, W, Re, Os, Ir, Pt, Au, Hg, Tl, Pb, Bi, Ac, Th, Pa, U, Np, Pu">materials (89 elements)</span> | OMat -> sAlex+MPtrj | | PET-OMat | PBE | XS, S, M, L, XL | <span title="Supported elements: H, He, Li, Be, B, C, N, O, F, Ne, Na, Mg, Al, Si, P, S, Cl, Ar, K, Ca, Sc, Ti, V, Cr, Mn, Fe, Co, Ni, Cu, Zn, Ga, Ge, As, Se, Br, Kr, Rb, Sr, Y, Zr, Nb, Mo, Tc, Ru, Rh, Pd, Ag, Cd, In, Sn, Sb, Te, I, Xe, Cs, Ba, La, Ce, Pr, Nd, Pm, Sm, Eu, Gd, Tb, Dy, Ho, Er, Tm, Yb, Lu, Hf, Ta, W, Re, Os, Ir, Pt, Au, Hg, Tl, Pb, Bi, Ac, Th, Pa, U, Np, Pu">materials (89 elements)</span> | OMat | | PET-OMATPES | r2SCAN | L | <span title="Supported elements: H, He, Li, Be, B, C, N, O, F, Ne, Na, Mg, Al, Si, P, S, Cl, Ar, K, Ca, Sc, Ti, V, Cr, Mn, Fe, Co, Ni, Cu, Zn, Ga, Ge, As, Se, Br, Kr, Rb, Sr, Y, Zr, Nb, Mo, Tc, Ru, Rh, Pd, Ag, Cd, In, Sn, Sb, Te, I, Xe, Cs, Ba, La, Ce, Pr, Nd, Pm, Sm, Eu, Gd, Tb, Dy, Ho, Er, Tm, Yb, Lu, Hf, Ta, W, Re, Os, Ir, Pt, Au, Hg, Tl, Pb, Bi, Ac, Th, Pa, U, Np, Pu">materials (89 elements)</span> | OMat -> MATPES | | PET-SPICE | ωB97M-D3 | S, L | <span title="Supported elements: H, Li, B, C, N, O, F, Na, Mg, Si, P, S, Cl, K, Ca, Br, I">molecules (17 elements)</span> | SPICE |

We recommend using the PET-MAD v1.5.0 model for molecular dynamics simulations of materials, surfaces, interfaces, solutions, metal complexes and other challenging systems, PET-OAM models for material discovery tasks (convex hull energies, geometry optimization, phonons, etc), and PET-SPICE for accurate and fast simulations of molecules and biomolecules.

Legacy models:

For reproducibility or to cover specific use case we also provide a few additional models, even though they are expected to have worse performance than the models listed above.

| Name | Level of theory | Available sizes | To be used for | Training set | |:------------|:-----------------------:|:----------------------:|:-----------------------:|:---------------------:| | PET-MAD-1 | PBESol | S | <span title="Supported elements: H, He, Li, Be, B, C, N, O, F, Ne, Na, Mg, Al, Si, P, S, Cl, Ar, K, Ca, Sc, Ti, V, Cr, Mn, Fe, Co, Ni, Cu, Zn, Ga, Ge, As, Se, Br, Kr, Rb, Sr, Y, Zr, Nb, Mo, Tc, Ru, Rh, Pd, Ag, Cd, In, Sn, Sb, Te, I, Xe, Cs, Ba, La, Ce, Pr, Nd, Pm, Sm, Eu, Gd, Tb, Dy, Ho, Er, Tm, Yb, Lu, Hf, Ta, W, Re, Os, Ir, Pt, Au, Hg, Tl, Pb, Bi, Po, Rn">materials & molecules<br>(85 elements)</span> | MAD-1.0 | | PET-OMAD | PBESol | XS, S, L | <span title="Supported elements: H, He, Li, Be, B, C, N, O, F, Ne, Na, Mg, Al, Si, P, S, Cl, Ar, K, Ca, Sc, Ti, V, Cr, Mn, Fe, Co, Ni, Cu, Zn, Ga, Ge, As, Se, Br, Kr, Rb, Sr, Y, Zr, Nb, Mo, Tc, Ru, Rh, Pd, Ag, Cd, In, Sn, Sb, Te, I, Xe, Cs, Ba, La, Ce, Pr, Nd, Pm, Sm, Eu, Gd, Tb, Dy, Ho, Er, Tm, Yb, Lu, Hf, Ta, W, Re, Os, Ir, Pt, Au, Hg, Tl, Pb, Bi, Po, Rn">materials & molecules<br>(85 elements)</span> | OMat -> MAD-1.0 |

All the checkpoints are available on the HuggingFace repository.

Interfaces for Atomistic Simulations

UPET integrates with the following atomistic simulation engines:

  • Atomic Simulation Environment (ASE)
  • LAMMPS (including KOKKOS support)
  • GROMACS
  • i-PI
  • TorchSim
  • OpenMM (coming soon)

Usage

ASE Interface

Basic usage

In order to perform simple evaluations of the UPET models on a desired structure, you can use the UPET calculator, which is compatible with the Atomic Simulation Environment (ASE). The model name can be obtained from the table above by combining the model name and the size, e.g., pet-mad-s, pet-omat-l, etc.

from upet.calculator import UPETCalculator
from ase.build import bulk

atoms = bulk("Si", cubic=True, a=5.43, crystalstructure="diamond")
calculat
View on GitHub
GitHub Stars189
CategoryEducation
Updated1d ago
Forks17

Languages

Python

Security Score

100/100

Audited on Apr 1, 2026

No findings