What is MILADY?
MILADY — Machine Learning DYnamics — is a package created to improve the accuracy and predictive power of atomistic
simulations. It builds machine-learning interatomic potentials and regression
models from ab initio data, while keeping a reasonable computational cost.
MILADY is an open-source code distributed under the Academic Software Licence
(ASL), and is coupled to LAMMPS for large-scale molecular dynamics.
Main functionalities:
Training of machine-learning force fields (energies, forces and stresses) for molecular dynamics, with an optional physics-based short-range ZBL repulsive core and k2b pair channel.
Representation of atomic structures in the feature space of atomic descriptors, for structural analysis and visualization.
Analysis, sparsification and optimization of datasets (MCD/Mahalanobis and CUR selection of reference points).
Descriptors and models:
A large library of atomic descriptors, including the Atomic Cluster Expansion (ACE), bispectrum SO(4) and many other choices.
Only models that are linear in the parameters: built as polynomials in the descriptors, together with kernels (including random-feature kernels), the available choice depending on the descriptor. They are solved by SVD/QR, block ALS-Ridge, or a low-memory online (streaming) solver.
Advantages of MILADY:
Designed for High Performance Computing: well parallelized with MPI, PBLAS and ScaLapack, and scalable to large training sets — including a streaming mode that avoids storing the full design matrix.
Reads databases in the native
.poscarformat and in extended XYZ (ASE-compatible).Open-source package — contributions are very welcome.
Build with CMake
MILADY is compiled with CMake (≥ 3.24). Once the prerequisites are in
place (a Fortran compiler, MKL / ScaLapack and an MPI library), the
build boils down to:
source ${MLD_SRCDIR}/scripts/compile_milady.bash
f_compile_milady_mix # or f_compile_milady_intel / f_compile_milady_gnu
make -j6
The executable is then in bin/milady_main.exe. Both Intel ifort and
ifx are supported (when the matching MPI / ScaLapack are compatible), and
HDF5 I/O is optional (enabled with MLD_HDF5=ON; a bundled HDF5 is built
automatically unless you point HDF5_DIR to your own). The full, step-by-step
procedure is on the Local build page; the former,
Makefile-based way is kept for reference on the
Former build (Makefile) page.
Contributors
The coupling of MILADY and LAMMPS was developed by Thomas D. Swinburne (CINaM, Marseille).
Contact
Questions and suggestions can be sent to . We will be happy to answer!
They appreciate and use MILADY