Understanding Structures and Properties in the Materials Project
1. Why Structures May Look Different
When retrieving structures from the new Materials Project (MP) API, you may notice that the lattice parameters and angles do not match the conventional or primitive unit cells you might expect from textbooks or the legacy MP database.
Key points:
Non-unique representations: A crystal can be represented in many valid ways. The MP database does not store or return the primitive or conventional unit cell by default.
Possible supercells: The stored cell may contain multiple repeat units in a "non-standard" representation.
Origin of structures: Structures often come from experimental sources (e.g., ICSD) or are generated by substitutions on known prototypes, and are typically not symmetry-reduced before calculations.
Why not always use symmetry reduction? Automatic numeric symmetry detection can occasionally misidentify a material’s symmetry, leading to incorrect primitive cells.
If you need a conventional or primitive cell, you can convert the returned structure in Python:
from mp_api.client import MPRester
with MPRester("YOUR_API_KEY") as mpr:
docs = mpr.materials.summary.search(material_ids=["mp-13", "mp-90"])
structures = {str(doc.material_id): doc.structure for doc in docs}
# Convert to conventional cells
conventional = {mid: s.to_conventional() for mid, s in structures.items()}
# Convert to primitive cells
primitive = {mid: s.get_primitive_structure() for mid, s in conventional.items()}
2. Changes in Magnetic Moments and Other Properties
You may also notice differences in computed properties (e.g., magnetic moments, volumes) between the legacy MP database and the new one.
Reason:
Legacy MP calculations were performed with the PBE GGA functional.
New MP calculations use the r²SCAN meta-GGA functional, which is a higher-level, generally more accurate theory for many material properties.
Impact of r²SCAN:
Improves accuracy for:
Magnetic moments in many oxides
Magnetic ordering in antiferromagnets
Thermodynamic stability
Known tendency:
Overestimates on-site ferromagnetic moments in elemental metals (e.g., Fe, Ni) compared to experiment and PBE
3. Summary Table
DFT functional
PBE (GGA) and GGA+U
r²SCAN (meta-GGA)
Returned cell type
Often conventional cell
Arbitrary non-standard cell (can convert)
Magnetic moments in metals
Closer to experiment
Often overestimated in transition metals
Thermodynamic accuracy
Good
Improved
Magnetic ordering in oxides
Sometimes incorrect
Improved
4. Best Practices
Always convert to a primitive or conventional cell if you need a standard representation. The Materials Project uses pymatgen and spglib to determine primitive and conventional cells
Be aware of functional differences when comparing old and new MP data.
Treat very small deviations (e.g., ~1e-16 in coordinates) as numerical noise.
Consult the Materials Project API documentation for updates — this behavior will be documented more clearly in the future.
Last updated
Was this helpful?