Topic 2: Optimizing linear models

Overview

Linear (and non-linear) models form the backbone of much of materials modeling, to interpolate and extrapolate from complex computational modeling. This can be used to identify correlations between different material properties, predict structures, evaluate thermodynamic quantities, etc. We will investigate how different linear models can be used for materials predictions. We will continue to work with Materials Project for this project. It has both a user interface through its website as well as an extensive API that can be accessed using different tools, including pymatgen. For more information on the computational choices made in Materials Project, see here.

Background: Anubhav Jain, Shyue Ping Ong, Geoffroy Hautier, Wei Chen, William Davidson Richards, Stephen Dacek, Shreyas Cholia, Dan Gunter, David Skinner, Gerbrand Ceder, and Kristin A. Persson; “Commentary: The Materials Project: A materials genome approach to accelerating materials innovation.” APL Materials 1, 011002 (2013); doi

More information: primary citations and publications

We’ll investigate two types of models for this project: property correlations and thermodynamic models.

Property correlation

In an earlier example, we considered linear correlation between different quantities, such as melting temperature and density. We will extend this model to predict bulk modulus using density and atomic fraction of elements, and apply this to our previously considered binary and ternary data sets.

Thermodynamic models

Classical interatomic potential models describe the energy of a given system in terms of the chemical identity and positions of all of the species in the lattice; these models are computationally less expensive than more accurate density-functional theory calculations, but require optimization of parameters to be predictive. A related model are “cluster expansions” which map crystal structures onto simple lattice models with discrete interactions; these have been very effective at both reproducing energies and other properties when fit to density-functional theory data, and extending to finite temperature statistical mechanics models. We will consider a simplified version of this to explore the prediction of structural energies for binary systems.

To understand a cluster expansion, consider the simple case of atoms on a lattice of sites at positions \(\mathbf{x}\). For a two-component (binary) system, we can describe any configuration using an (infinite) integer “occupancy vector” \(n(\mathbf{x})\) that is 0 if a site \(\mathbf{x}\) has species A on it, or 1 if the site has species B on it. Then, we can write down the energy of a crystal (note: not the energy per atom, but the total!) as an expansion of “clusters”:

\[E(n) := E^{(0)} + \sum_{\mathbf{x}} E^{(A)}(\mathbf{x})(1-n(\mathbf{x})) + E^{(B)}n(\mathbf{x})\] \[+ \sum_{\mathbf{x}\mathbf{y}} E^{(AA)}(\mathbf{x},\mathbf{y})(1-n(\mathbf{x}))(1-n(\mathbf{y})) + E^{(BB)}(\mathbf{x},\mathbf{y})n(\mathbf{x})n(\mathbf{y}) + E^{(AB)}(\mathbf{x},\mathbf{y})[(1-n(\mathbf{x}))n(\mathbf{y}) + n(\mathbf{x})(1-n(\mathbf{y}))]\] \[+ \cdots\]

This general version can be simplified greatly. First, for many lattices, the site energies \(E^{(A)}(\mathbf{x})\) and \(^{(B)}(\mathbf{x})\) are independent of position; the summation really depends on the difference in the sites, and so the \(\sum_{\mathbf{x}} E^{(A)}(\mathbf{x})(1)\) term can be absorbed into the leading constant term. The quadratic terms can be similarly expanded into constant, linear, and terms of order \(n^2\); moreover, the interactions should only be a function of the separation vector \(\mathbf{x}-\mathbf{u}\). Thus, the model can be reduced to the simpler form:

\[E(n) := E^{(0)} + \sum_{\mathbf{x}} E^{(1)}n(\mathbf{x}) + \frac{1}{2}\sum_{\mathbf{x}\mathbf{y}} E^{(2)}(\mathbf{x}-\mathbf{y})n(\mathbf{x})n(\mathbf{y}) + \frac{1}{3!}\sum_{\mathbf{x}\mathbf{y}\mathbf{z}} E^{(3)}(\mathbf{x}-\mathbf{y}, \mathbf{x}-\mathbf{z}) n(\mathbf{x})n(\mathbf{y})n(\mathbf{z}) + \cdots\]

Now this model begins to look like a classical interatomic potential. Further simplifications are possible based on symmetry; one could, for example, treat interaction parameters \(E^{(2)}\) as functions only of distance \(|\mathbf{x}-\mathbf{y}|\).

Consider the binary Ni-Al system; we wish to make a model of the energy based purely on Al-Al, Ni-Ni, and Al-Ni interactions that are functions of the distances between the atoms. We can use the pymatgen functions get_data to get entries in a binary system (including energies), and get_structure_by_material_id to find structures, with the get_all_neighbors function to construct neighbor lists.

Example of Generalized Linear Models and Heirarchical Bayesian models

Files:

Scripts:


Discussion: March 3-12, 2020