-E(σ)/kBT, which implies that the probability for the occurrence of a configuration is higher at lower energies. Hence, to find these low-energy configurations, one need to search the space of all possible combinations of the arrangement of atoms on the lattice.

How to access the probable configurations in a solid-solution? Since direct DFT calculation is not practical, one resorts to alternate route: create a model of the configuration energy. The model should satisfy following two criterions: (a) the accuracy of energy should be as close to DFT as possible, (b) the computational cost of the model should be minimal (both time and memory). Such a model can be used to either directly enumerate all configurations (for a reasonable representation of the system), or can be combined with statistical methods like Monte Carlo to access low-energy "probable" configurations of the solid solution.

E = ΦJ where J is a vector of model parameters, E is a vector of energies and Φ is a matrix(formed by basic functions). Practical implementation of CE first solves the inverse problem to determine the parameters Ji. Since the requirement is that CE model should be as accurate as DFT, the set of clusters(or "figures") and the corresponding Ji 's are obtained by training the model with a database of DFT energies. Thanks to the advancements in Machine Learning methods, this can be performed very efficiently and accurately. To search for low-energy configurations at finite temperatures, the CE model is combined with Monte Carlo simulation. In a recent work, the DFT+CEMC framework has been used to reveal atomic-scale details in quaternary Ni-Al-Ti-Co alloys that forms the base composition for many Ni-based superalloys (see reference[1] below).

abinitio would help remove error/ambiguity that arises when using fitted or empirical values.


LACOS Package

L0 minimization and algorithms for convex L1 minimization are available to construct sparse CE model. Also, various repetitive tasks have been automated. LACOS is written in Python with C modules to take care of compute-intense part of the modelling. Various components of the package and the flow between them is shown in the above figure, and is described briefly below.


An abbreviation of Python Cluster Expansion, PyClex performs cluster expansion on the database generated by DFTrunner. The code can be used for multisite, multicomponent solid solutions. The "best" set of clusters {α} is obtained using model selection techniques. Specifically, the linear equation E=ΦJ is solved for under-determined condition M<N where M×N is the size of the matrix Φ; the matrix Φ is constructed such that it has low coherence. Various algorithms implemented in PyClex for model selection broadly falls in three categories:

  • Heuristic technique : Genetic Algorithm (GA), modified GA for sparse model selection
  • Approximate L0 - minimization using "greedy" algorithms: Orthogonal Matching Pursuit (OMP), CoSaMP, Iterative hard thresholding (IHT) and its variants.
  • L1 - minimization for sparse model selection: LASSO, Split-Bregman method, convex optimization (using cvxpy), ISTA/FISTA
  • Mixed norm L2 / Lq - minimization for block sparse feature selection: iterative reweighted lease square (IRLS) algorithm - to be used for multicomponent materials.

This is a Monte Carlo code to perform finite temperature simulation (the name is derived from C-Python Monte Carlo). The "best" {α} and Jα from PyClex are inputs to this code. Monte Carlo simulation gives access to finite-T configurations of the material system, thus allowing various thermodynamic quantities to be calculated. The C functions of the code that handles the core Monte Carlo loop is parallelized using OpenMP.

The LACOS package is currently aimed at bulk system and is expected to evolve in future to include surfaces, thus expanding cluster expansion to model catalysts, electrochemistry of materials, near-surface alloys etc. Integration of the package with in-house developed modeling platform CINEMAS will also be undertaken in coming years. is the developer of the LACOS package.



  1. Mahesh Chandran, Multiscale abinitio simulation of Ni-based alloys: Real-space distribution of atoms in γ+γ' phase,
    Journal : Computational Materials Science 108, 192 (2015). Access Journal Site
  2. M. A. Davenport,M. F. Duarte, Y. C. Eldar, G. Kutyniok, in Compressed Sensing: Theory and Applications, Cambridge University Press, Cambridge (2012). To book site