Materials Project Database Release Log

2021-05-13 Database V2021.05.13 Released

This release updates the energy correction scheme we use to generate phase diagrams and compute formation energies. As with any new database release, formation energies for many compounds have changed; however in this case the change is due only to our new energy correction scheme and not to any new data. We are proud to report that the new correction scheme has reduced the overall error in formation energy in our database by 7% compared to experiment.

You can see details of each correction that has been applied by inspecting the energy_adjustments attribute of a ComputedEntry retrieved via the API. In addition, the new correction scheme is available for manual use via the MaterialsProject2020Compatibility class in pymatgen.

We realize that this change may be disruptive to ongoing work, and want to assure you that the historical corrections are still available in pymatgen if needed. They may be recovered by manually reprocessing ComputedEntry using the legacy MaterialsProjectCompatibility class. An example notebook demonstrating how to do this available on matgenb.

Below we summarize the most significant changes associated with the new MaterialsProject2020Compatibility correction scheme. For complete details and documentation, please refer to this manuscript.

1. Refitted corrections for legacy species
Corrections applied to oxygen compounds, diatomic gases, and transition metal oxides and fluorides have been refit using more up to date DFT calculations and a larger compilation of computed and experimental formation enthalpy data.

2. Corrections for additional species
We have added corrections for Br, I, Se, Si, Sb, and Te, which did not previously have energy corrections. As a result, formation energies for materials containing these species will generally be lower than they were previously.

3. Diatomic gas corrections moved to compounds
Previously, corrections for H, F, Cl, and N were applied to the elements. One consequence of this was that polymorphs of H2, N2, Cl2 and F2 were always assigned a zero energy above hull, even if some polymorphs were higher in energy. This made interpretation of these values confusing. With this release, energy corrections are applied to the material (e.g., LiH) and not the element. This also means that unstable polymorphs of diatomic gases will now have non-zero e_above_hull

4. Oxidation state based corrections
Our build process now estimates the likely oxidation states of each species in a material, and uses this information to intelligently apply corrections to anionic species only when their estimated oxidation state is negative. For example, in the compound MoCl3O, estimated oxidation states for both Cl and O are negative, so both anions receive corrections.

Our algorithms are not always successful in predicting the oxidation state. When this occurs, we apply anion corrections to only the most electronegative element in the material. As a result, some ternary or higher compounds in the database may be destabilized in this release because their oxidation states could not be determined. This is the case for MoCl5O (mp-1196724) for example, which does not receive a Cl correction because O is more electronegative.

If this affects your work, you can manually assign oxidation states by populating the oxidation_states key of the .data attribute of any ComputedEntry and then reprocessing the data using MaterialsProject2020Compatibility.

5. Uncertainty Quantification
We now compute the estimated uncertainty associated with the energy corrections on a material. Uncertainties reflect the measured uncertainty in the underlying experimental data that we use to determine the corrections, as well as uncertainty associated with the fitting procedure itself. This information enables new methods of assessing phase stability, as described in this manuscript

A Note for API and MPRester Users

For API users, if you are retrieving formation energies directly via the API, you will get the correct, latest formation energies from the current database release. However, if you are using get_entries or get_pourbaix_entries which apply the correction scheme on-the-fly, make sure to update to the latest version of pymatgen (v2022.0.8 or later) to get the correct values. If you are using pymatgen v2021 or earlier, this will use the old correction scheme by default when using get_entries and get_pourbaix_entries.

6 Likes