there seems to be some inconsistencies between elastic data from mp. apologies if this is the intended behavior
Mismatch between deprecation of materials under summary and elasticity collection
via the API there are MPIDs which return bizarre unphysical or “null” VRH moduli for failed calculations which, under summary docs, are not deprecated, but under elasticity docs are deprecated.
minimal script showing this:
import os
from mp_api.client import MPRester
MPIDS = ['mp-11261', 'mp-13132', 'mp-1974', 'mp-2396', 'mp-2406', 'mp-559976',
'mp-569265', 'mp-631345', 'mp-631467', 'mp-672229', 'mp-672356',
'mp-776320', 'mp-961671', 'mp-972237', 'mp-978497']
with MPRester(os.environ["MP_API_KEY"]) as mpr:
docs = mpr.materials.elasticity.search(material_ids=MPIDS)
depr = {str(s.material_id): s.deprecated for s in
mpr.materials.summary.search(material_ids=MPIDS,
fields=["material_id", "deprecated"])}
print("mpid formula K_vrh G_vrh state elas_depr summ_depr")
for d in docs:
kg = [getattr(m, "vrh", None) for m in (d.bulk_modulus, d.shear_modulus)]
if any(v is None or not 1 < v < 10000 for v in kg):
print(d.material_id, d.formula_pretty, *kg, d.state, d.deprecated,
depr[str(d.material_id)])
Output
Retrieving ElasticityDoc documents: 100%|██████████████████████████████████████████████████████████████████| 15/15 [00:00<00:00, 172368.66it/s]
Retrieving SummaryDoc documents: 100%|█████████████████████████████████████████████████████████████████████| 15/15 [00:00<00:00, 393216.00it/s]
mpid formula K_vrh G_vrh state elas_depr summ_depr
mp-1974 CeB4 -391264.248 60061.749 failed True False
mp-2396 HoCo2 -321.678 29.35 failed True False
mp-11261 YAu 83.993 -8.518 failed True False
mp-13132 LaN 128.447 -41.288 failed True False
mp-631345 KZr2Nb 66.328 -9.647 failed True False
mp-631467 BeInSi2 63.285 -225.567 failed True False
mp-672229 Mn3ZnC None None failed True False
mp-672356 MnSbPt 93.999 -10.592 failed True False
mp-961671 TiGePt 123.324 -3.699 failed True False
mp-972237 Tc3H 238.733 -20.12 failed True False
mp-978497 Si3H 99.012 -30.69 failed True False
In 2nd-last column, all of them are deprecated in elasticity collection. In last column, they are … not deprecated in summary collection?
Also, mp-672229 seems to have null moduli, despite being in elasticity collection.
API mismatching website
more, some of this data mismatches what is on the website(s) in a very inconsistent way.
Example 1: YAu
For example, mp-11261 YAu has failed state via API with shear modulus -8.5, yet on legacy website it shows 33GPa.
On next-gen it shows nothing.
Example 2: mp-13132, LaN
mp-13132 has the same problem: deprecated, failed, negative shear modulus (-41GPa) via mp api, but websites show different
legacy shows a different (??!) negative shear modulus
next-gen shows nothing?


