Transformation Errors in Stiffness Tensors


I’m using data from the Materials Project to validate mixed-metal oxide interatomic potentials that I initially parameterized from data generated using the ABINIT code. When I compare the stiffness tensors generated using ABINIT DFPT (and also from experiment) sometimes they do not match those in the Materials Property database (and sometimes they do). These appear to be transformation errors. Shouldn’t the published elastic properties match the symmetrized final structure?

Happy to provide multiple examples.


There may be errors, but the elastic tensors are in IEEE format. Please see the prior discussion here. Please post any examples that aren’t resolved by IEEE rotations.

Hi Joesph,

Below is an example of what I’m referring to:

The structure is K2AlF5 which is a tetragonal structure. The published final structure, as well as all of the final Computed, Conventional Standard, Primitive, and Symmetrized .cif files are in the standard setting where a=b=6.037 Å and c=3.752 Å. However, the published stiffness tensor does not match this setting. When I look at the POSCAR used for the GGA optimization, the cell is in a non-standard setting where a=3.752 Å and b=c=6.037 Å. This non-standard setting isn’t shown on page or in the .cif files. I only noticed it because I was typing in the data instead of pulling it in via an API.


Thank you for the example! I suspect this is a bug in pymatgen’s routines for transforming tetragonal crystals to the IEEE setting, but haven’t verified it yet. I’ll follow up when I know more.

An update: I’m more confident this is a bug, using the following MWE:

from pymatgen import MPRester
from pymatgen.core.tensors import Tensor

with MPRester() as mpr:
    data = mpr.query({"material_id": "mp-9486"}, ["structure"])

structure = data[0]['structure']

should yield an identity matrix (or perhaps a rotation with x-y exchange) as the structure is already in the IEEE setting, but instead transposes the x and z axes. This is related to how pymatgen identifies the appropriate a, b, and c axes in the tetragonal case. I’ll look into fixing it, but wanted to document the issue here for future reference. Presumably when fixed the elasticity collection will also need to be rebuilt. Are there any non-tetragonal cases that you’ve seen issues with?

Hi, I’ve also found issues with some orthogonal structures. Unfortunately, my notes suck. I will compare my ABINIT/interatomic potentials/experimental results with the Materials Project results and give you a response ASAP. Thanks.