Computational Materials Science

Understanding Process-Structure-Property linkages (or PSP linkages) are part of the core of materials science research. The goal is to determine how:

  • particular treatments, for example heating a material will influence
  • structure, such as the arrangement and shape of the molecules will affect
  • material properties like stress strength

This is also core to a data driven approach to materials science innovation. Typical materials science research uses brute force, trial and error methods while data science can use computation to make predictions and speed up the process leading to less time, money, and effort spent, and better materials.

Using data though has two main steps: digitizing the incoming data, and then being able to perform statistics on it.

The full process is highly complex requiring extensive materials science and mathematical knowledge, however, I will attempt to provide a simplified explanation that explores the concepts rather than emphasizing the equations.

The rest of the article will focus on the following square:

Here’s the first time you’ll see the nice fun square :)

Basically, imagine that that square represents a material, and the different colors represent two different characteristics of the material. I.e. at (0,0), it has the orange property, at (2,0), it has the green property. Also, pretend this is on the microscale, so really really small — 10^-6m.

Key Terms:

Before getting into it though, let’s start with an a brief description of some key terms.

Local State

A local state is all of the attributes that identify a microscale component of the materials’ internal structure. In this example, the local states would be orange and green.

They are written mathematically as n = (pᵢ, cᵢ) where n is the local state, pᵢ is the phase identifier (i.e. 0 for orange, 1 for green), and cᵢ is the chemical property. In this case c doesn’t really mean anything, but for an actual material it might be the wt% carbon or any number of other things.

Local State Space

A local state space is like all other mathematical spaces — it is comprised of the complete set of all theoretically possible local states. This even includes local states not actually in the given sample. For example, if the three options were orange, green, and blue, and this part just didn’t have any blue, blue would still be in the local state space.

It’s not super important, but the formal definition would be H = {(pᵢ, cᵢ) | pᵢ € {a, ß, y, … }, cᵢ € Cᵖᵢ}. (And yes, I know those are supposed to be containment , alpha, beta, and gamma signs).

Microstructure Function

The microstructure function gives the probability of finding a particular local state n at position x, at time t. (Note, from here on out, as is customary, bolded letters like x will symbolize that they are vectors)

n(x, t) is the local state at spatial position x and time t. However, what’s important to not here is that, as is demonstrated in the square above, we are looking at voxels as opposed to infinitely many infinitesimally small points, thus n(x, t) is actually the average local state of the voxel as a whole. Clearly then, the smaller the voxels or the smaller the ∆t, the greater the resolution.

The microstructure function is m(n, x, t) or m(n, x) which is the probability of finding local state n at position and time x, and t. In other words, the probability that given all of the 4x4 orange and green squares, in a particular one, (0,0) will be orange.

Another key distinction to make here is that between probability and probability density. Probability refers only to discretized units while probability density is used for continuous spectra. Both voxelized n and m need to be discretized to convert them into a probability (which is easier and more practical to work with). This process is actually done quite naturally given that measuring equipment itself is inherently discretized.

We’re almost ready to get into the statistics, just a few last notation things.

Just as a reminder, he’s the all important square again — it might be helpful :)

We label our square pixels S = (s₁, s₂). As from before they may take on local states 0 or 1 for orange or green respectively.

We can describe them using m⁰(₁,₂) = 1, m¹(₁,₂) = 0. In other words, at (1,2), it is 100% orange, 0% green. (Fun fact: if the values of m only take 0 or 1, it is called an Eigen multistructure)

More generally it can be described as {mⁿs | s= 0, 1, … S-1, n = 0, 1, … N}. mⁿs is the total fraction of all local states from bin n in spatial bin s in the local state space. I.e. what fraction of all oranges in the local state space are in a particular location, say (1, 0). Since it is a fraction, mⁿs ≥ 1, and ∑mⁿs = 1.

And now finally for the interesting part!

1 Point Microstructure Statistics

Microstructure statistics are done on microstructure ensembles. Microstructure ensembles are a collection of microstructures extracted from samples generally subjected to the same processing history. For example, if you took a bunch of different woods and heated them, what would happen to the grain? You’d expect the microstructures to be similar. Thus by determining how similar and in what ways, one can begin to draw conclusions about how the processing history (heat) affected the structure (grain).

So if we say {ʲmⁿs ,j = 1, 2, … J} is the jth element of the ensemble, as stated above:

Goal: identify and quantify statistics of the ensemble through local patterns (spacial correlations/fingerprints)in the internal morphology of the material structure.

The expected value, or overall volume fraction of total local states identified by n is given by:

So this measures the probability that across all of the microstructure samples in the ensemble, at a particular point say (0,0), the square will be orange. This is the same as the expected value because if in all of the samples it is 50% orange and 50% green, then the expected value in one particular sample is also 50%.

If J is significantly larger than s however — if the sample size is much greater than the data size, then the particular location does not actually matter. In other words, is the probability that (0,0) is orange significantly different than the probability that (0,1) is orange? So the s can be removed from the equation leaving:

This is called 1 point statistics because we’re only looking at one particular point.


I know that was a lot, so here are the main points:

  • The overall goal is to identify and quantify similarities and differences among elements of the ensemble through local patterns
  • Local states are the attributes needed to identify individual microscale constituents in material structures
  • The microstructure function gives the probability of finding a given local state at a particular position and time

Continue reading in Computational Materials Science Part 2 which will cover how to analyze relationships within the structure using 2 point statistics.

Thank you for reading! Hope you enjoyed learning about computational materials science. If you’re interested in discussing this or are in the field and would be willing to talk with me about materials science, you can get in touch with me at

At 17 years old, I love learning and am interested in materials science, education, and environmental sustainability.