Abstract
The growing research focus on multi-principal element materials-spanning a variety of applications , such as electrochemical (Lun et al., 2020), structural (George et al., 2019), semiconductor, thermoelectric, magnetic, and superconducting (Gao et al., 2018) materials-necessitates the development of computational methodology capable of resolving details of atomic configuration and resulting thermodynamic properties. The cluster expansion (CE) method is a formal and effective way to construct functions of atomic configuration by coarse-graining materials properties, such as formation energies, in terms of species occupancy lattice models (Sanchez et al., 1984). The cluster expansion method coupled with Monte Carlo sampling (CE-MC) is an established and effective way to resolve atomic details underlying important thermodynamic properties (Van der Ven et al., 2018). smol (Statistical Mechanics on Lattices) is a Python package for constructing generalized applied lattice models, and performing Monte Carlo sampling of associated thermodynamic ensembles. The representation of lattice models in smol is based largely on the CE formalism (Sanchez et al., 1984). However, the package is designed to allow easy implementation of extensions to the formalism, such as redundant representations (Barroso-Luque et al., 2021). smol also includes flexible and extensible functionality to run Monte Carlo (MC) sampling from canonical and semigrand-canonical ensembles associated with the generated lattice models. smol has been intentionally designed to be lightweight and include a minimal set of dependencies to enable smooth installation, use, and development. smol was conceived primarily to enable development and implementation of novel CE-MC methodology but is now sufficiently mature that it is already being used in applied research of relevant material systems. Statement of need Several high-quality software packages implementing CE-MC methodology, such as ATAT (A. van de Walle et al., 2002), CASM (Thomas et al., 2015/2022), CLEASE (Chang et al., 2019), and icet (Ångqvist et al., 2019) are readily available either open source or by request. However, smol is distinct from existing CE-MC packages in both vision and implementation for the following three main reasons: 1. smol has been designed to easily develop, implement and test new methodology for the representation, fitting, and inference of applied lattice models beyond standard CE-MC methodology. The package has a heavily object-oriented and modular design that Barroso-Luque et al. (2022). smol: A Python package for cluster expansions and beyond. Journal of Open Source Software, 7 (77), 4504. https://doi.org/10.21105/joss.04504.
Cite
CITATION STYLE
Barroso-Luque, L., Yang, J. H., Xie, F., Chen, T., Kam, R. L., Jadidi, Z., … Ceder, G. (2022). smol: A Python package for cluster expansions and beyond. Journal of Open Source Software, 7(77), 4504. https://doi.org/10.21105/joss.04504
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.