-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.
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.
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.
PyClex
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:
CPyMonC
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.
www.ikst.res.in/mahesh) is the developer of the LACOS package.