icet – A Python Library for Constructing and Sampling Alloy Cluster Expansions

M. Ångqvist,1 W. A. Muñoz,1 J. M. Rahm,1 E. Fransson,1 C. Durniak,1 P. Rozyczko,2 T. H. Rod,2 and P. Erhart1
1Chalmers University of Technology, Sweden
2Data Management and Software Centre, European Spallation Source, Denmark

Alloy cluster expansions (CEs) provide an accurate and computationally efficient mapping of the potential energy surface of multi-component systems that enables comprehensive sampling of the many-dimensional configuration space. Here, the integrated cluster expansion toolkit (icet), a flexible, extensible, and computationally efficient software package, is introduced for the construction and sampling of CEs. icet is largely written in Python for easy integration in comprehensive workflows, including first-principles calculations for the generation of reference data and machine learning libraries for training and validation. The package enables training using a variety of linear regression algorithms with and without regularization, Bayesian regression, feature selection, and cross-validation. It also provides complementary functionality for structure enumeration and mapping as well as data management and analysis. Potential applications are illustrated by several examples, including (1) studying chemical ordering and associated properties in a series of intermetallic clathrates as a function of composition and temperature and (2) by predicting the phase diagrams of bulk and surface alloys.

  1. M. Ångqvist, W. A. Muñoz, J. M. Rahm, E. Fransson, C. Durniak, P. Rozyczko, T. H. Rod, and P. Erhart, Adv. Theory Simul., 2: 1900015 (2019) doi:10.1002/adts.201900015