Filtering out materials based on gases

Dear MP community,

For many screening applications, one wants to filter for materials that are experimentally confirmed structures at ambient conditions. For that purpose, I have been using the theoretical tag using MPRester as well as filtering out materials that mention HT, LT, HP, high pressure, etc. in exp.tags. However, even after doing that, I noticed that a few materials still show up that are solids based on common gases (like hydrogen or ammonia). Here is a list of materials that I found (most likely not all of them) that are tagged as theoretical: False, have a low energy above hull, and have no tags that indicate they require non-ambient conditions: mp-1066989, mp-24504, mp-561203, mp-570752, mp-611836, mp-632291, mp-632296, mp-672234. Is there another way of filtering out these kind of materials? I believe the ICSD sometimes wrongly reports the temperature/pressure conditions (and/or assumes ambient conditions when that information is missing) and that might be the root cause.

Thank you for your help!


PS: Going through these materials, I also found a material with a wrongly named tag: mp-1070625 (labeled Dilithium sulfate - HT, but is actually just sulfate).

Hi Peter,

This is a good point. We don’t do anything explicitly to rule-out gases. We have crystal structures for them either because we need them in the case of say O2, H2, etc, or they came from someplace such as the ICSD. We depend on accurate labeling by the ICSD in order to do any filtering. Unfortunately we don’t have an algorithm to determine which of these is actual a gas or even liquid at various temperatures. If the ICSD structure doesn’t have the right metadata, then neither do we for now. We are planning on incorporating other DB info, but that also adds the additional burden of determining which DB is right in which case.

1 Like

Doesn’t help with the current API, but I would suggest using a dimensionality algorithm for now… anything 0D is likely a gas. This would require pulling down all structures you’re interested in and running the algorithm on them however. In our future API (in progress!) we should have a way to query on dimensionality.

That’s a great suggestion! Thanks @mkhorton!