Official Resources
- Homepage: https://github.com/ICAMS/python-ace
- Source Repository: https://github.com/ICAMS/python-ace
- Documentation: https://github.com/ICAMS/python-ace
- License: Open-source (as specified in repository)
Overview
The Atomic Cluster Expansion (ACE) is a systematic and complete framework for representing the atomic energy as a function of the local atomic environment. Developed by Ralf Drautz at the Interdisciplinary Centre for Advanced Materials Simulation (ICAMS), Ruhr-Universität Bochum, ACE establishes a complete and orthonormal basis for the space of local atomic configurations, enabling systematically improvable machine learning interatomic potentials.
ACE represents the atomic energy as a polynomial expansion in many-body basis functions that are invariant under rotation, translation, and permutation of equivalent atoms. The completeness of the ACE basis means that models can be converged systematically, and many existing interatomic potentials (classical and ML-based) can be recast in the ACE form. The performant C++ implementation (PACE) enables large-scale atomistic simulations with accuracy approaching electronic structure methods at a fraction of the computational cost. ACE has been extended to include charge transfer, magnetism, and tensorial properties.
Scientific domain: Machine learning interatomic potentials, atomistic simulation
Target user community: Materials scientists and computational physicists using ML potentials
Theoretical Methods
- Atomic cluster expansion (polynomial basis for local environments)
- Many-body correlation functions
- Rotation, translation, and permutation invariant basis
- Linear and nonlinear regression for potential fitting
- Systematically improvable basis (completeness property)
- Recasting of other potentials (EAM, FS, GAP, etc.) in ACE form
- Extensions to charge transfer, magnetism, tensorial properties
Capabilities (CRITICAL)
- Complete and orthonormal basis for local atomic configurations
- Systematically convergent ML interatomic potentials
- Linear and nonlinear ACE variants (pacemaker for nonlinear fitting)
- Performant C++ implementation (PACE) for LAMMPS integration
- Multi-element support
- Accurate reproduction of DFT energies, forces, and stresses
- Application to metals (Cu, Si, W, Fe) and semiconductors
- Shifts Pareto front for MLIPs towards faster and more accurate calculations
- Extensions to charge transfer and magnetism
- GPU acceleration support
Inputs & Outputs
Input formats:
- DFT training data (energies, forces, stresses)
- ACE potential configuration files
- LAMMPS pair_coeff for PACE potentials
Output data types:
- ACE potential parameter files
- MD simulation energies, forces, stresses
- Fitting metrics and validation results
- LAMMPS trajectory outputs
Interfaces & Ecosystem
- Programming language: Python (pyace, pacemaker), C++ (PACE, tensorpotential)
- MD engine: LAMMPS (PACE pair style)
- Fitting software: pacemaker (in python-ace repository)
- Parallel computing: CPU and GPU support
- Training data: DFT calculations (VASP, QE, etc.)
- Institution: ICAMS, Ruhr-Universität Bochum
Limitations & Known Constraints
- Higher-order ACE basis increases computational cost
- Requires DFT training data generation
- Potential fitting requires careful hyperparameter tuning
- Nonlinear ACE (pacemaker) more complex than linear version
- Basis size convergence testing needed for each system
Performance Characteristics
- PACE implementation: fast evaluation comparable to classical potentials
- Shifts Pareto front for MLIPs (faster and more accurate than alternatives)
- Linear ACE: fast fitting and evaluation
- Nonlinear ACE: more flexible but slightly slower
- GPU acceleration available for large-scale simulations
- Scalable to millions of atoms in LAMMPS
Comparison with Other Codes
- vs SNAP: SNAP uses bispectrum with linear regression; ACE uses polynomial basis with more efficient evaluation
- vs GAP: GAP uses Gaussian process with SOAP/descriptors; ACE is polynomial-based and systematically convergent
- vs NEP: NEP uses neural network; ACE uses polynomial expansion. ACE has completeness guarantee
- vs MTP: MTP uses moment tensor basis; ACE is more general and complete. Both are polynomial-based
- vs NN potentials: ACE has systematic convergence; NN potentials lack convergence guarantees
Best Practices
- Use pacemaker for automated nonlinear ACE fitting
- Converge basis size (rank, degree) for target accuracy
- Include diverse training configurations (crystals, defects, surfaces, liquids)
- Use LAMMPS PACE pair style for production simulations
- Validate against properties not in training set
- Compare linear and nonlinear ACE for best accuracy/cost trade-off
Verification & Sources
Primary sources:
- GitHub: https://github.com/ICAMS/python-ace
- R. Drautz, Phys. Rev. B 99, 014104 (2019) - original ACE
- Y. Lysogorskiy et al., npj Comput. Mater. 7, 1-12 (2021) - PACE implementation
- A. Bochkarev et al., Phys. Rev. Materials 6, 013804 (2022) - efficient parametrization
Confidence: VERIFIED - GitHub repository and multiple peer-reviewed publications confirmed