ASSYST documentation¶
ASSYST is the Automated Small Symmetric Structure Training, a training protocol, aimed at providing comprehensive, transferable training sets for machine learning interatomic potentials (MLIP) automatically. A detailed explanation and verification of the method can be found in our papers. [1] [2] ASSYST gives up the notion of fitting potentials to individual phases or structures and instead tries to deliver a training set spanning the full potential energy surface (PES) of a material.
This software package is the reference implementation of this idea, designed to be as flexible as possible without assuming either a specific MLIP, reference data, or workflow manager in mind. It is built on ASE and can use any of its calculators. It also assumes that you label its output structures with reference energies and forces on your own, either with an ASE calculator or by any other method. For a ready-to-run implementation that targets Atomic Cluster Expansion and Moment Tensor Potentials fit to Density Functional Theory (DFT) data check out pyiron_potentialfit.
Development happens on Github, feel free to open any issues or pull request for additional features. We are open for any contributions!
Quick Start¶
Create a minimally viable training set in just 5 lines of python!
from assyst.crystals import Formulas, sample
from assyst.relaxations import FullRelax, relax
from assyst.perturbations import Rattle, perturb
from assyst.calculators import Morse
formulas = Formulas.range("Cu", 1, 5)
structures = list(sample(formulas))
calc = Morse()
relaxed = list(relax(structures, FullRelax(), calc))
training_set = list(perturb(relaxed, [Rattle(sigma=0.1)]))