ACEsuit is a collection of Julia packages built around the Atomic Cluster Expansion (ACE) Model, an efficient parameterisation scheme for general permutation and isometry equi-variant functions. ACE1.jl and it successor ACE.jl provide general and flexible implementations of ACE with focus on modelling particle interactions, but in principle the codes (in particular ACE.jl) are much more general.

Stable Version: ACE1.jl

This is a stable package that was split off from the development version ACE.jl and will be maintained separately, maintaining strict semver backward compatibility and user-oriented documentation. ACE1.jl is limited to modelling interatomic potential interactions, or more generally invariant properties. Bugfixes and urgent features will continue to be included, but significant new development will more likely happen in the development version.

See the documentation for installation instructions and usage.

Development Version: ACE.jl

ACE.jl is currently being rewritten to account for a variety of generalisations and new features, in particular equivariant properties, automatic differentiation, effective parameter management for general nonlinear models. ACE.jl is entirely application agnostic and several wrapper packages are now being developed to enable different applications, mostly still experimental, including

  • ACEatoms.jl - interatomic potentials

  • ACEflux.jl - nonlinear models

  • ACEds.jl - coarse-grained dynamical systems

  • ACEhamiltonians.jl - to be published soon

Please join the ACE.jl discussions if you have any informal questions about this package.


A simple tutorial on fitting an ACE using IPFitting on DFT Al data can be found here; or use the nbviewer

To use the ACE as a python ASE calculator please have a look here (requires pyjulia and pyjulip packages); or use the nbviewer