materialsintelligence / propnet

A knowledge graph for Materials Science.
Other
72 stars 23 forks source link

Request to implement pressure-dependent energy above hull #178

Open mkhorton opened 5 years ago

mkhorton commented 5 years ago

See: https://arxiv.org/pdf/1802.06900.pdf

A minimal working model can take just the bulk modulus. Ideally it would take the full elastic tensor, but even just a bulk modulus version would be very nice to have.

jdagdelen commented 5 years ago

Do we want to add pressure as a condition to e_above_hull or do we want a separate property for p_dependent_e_above_hull?

mkhorton commented 5 years ago

Seems to me that e_above_hull is pressure-dependent e_above_hull, but with the pressure being implicitly zero.

Ideally, (imo) the output should be a quantity that stores both e_above_hull and pressure, since pressure is an associated value and should travel along with it. Pinging @clegaspi for implementation details for how a model should output a quantity like this (needs an implementation of eg QuantityDataframe or similar, @montoyjh might also have some thoughts)

In either case, if you wanted to take a go at this that would be great, you can still get the logic working with just the output as a normal e_above_hull for now.

mkhorton commented 5 years ago

To be more explicit, a Quantity should be able to carry around a set of conditions with it (eg temperature, pressure, stress, whatever) that were used to generated that quantity.

The idea of using a dataframe is perhaps not necessary for a first pass, but was an idea for how to do this in a space-efficient way if e.g. the same quantity was generated with a thousand different conditions (temperature from 0-1000K or something).

JosephMontoya-TRI commented 5 years ago

A few thoughts:

Measurement (or simulation) conditions might be placed into the provenance, if you're just looking for a reasonable place to carry them around, but I think given that they'll have somewhat different functionality it might be better to put them in a different place. I'd be a bit careful with this though, I think whatever you choose for implementation will have non-trivial consequences for graph evaluation, etc. Thermochemistry is a big part of the materials science model space, though, and this seems like a necessary step towards realizing knowledge of that space in propnet.

Also, I think this specific idea for a model is a bit more complicated than it might seem. In principle, a pressure-corrected energy above hull would require not only energy about how the individual material's free energy changes, but how the hull itself changes, which would require an aggregate knowledge of how every entry used to construct the hull would change. It might be simpler to implement something like a free energy correction based on the bulk modulus.

mkhorton commented 5 years ago

To your second point, right. This model has to first make the free energy corrections to a list of entries and then calculate the hull of those entries. I don’t think it’s complicated per se but fitting it into propnet may be (ie if it forces us to make design changes that makes it more useful, so be it).

On Wed, Jan 16, 2019 at 14:31, JosephMontoya-TRI notifications@github.com wrote:

A few thoughts:

Measurement (or simulation) conditions might be placed into the provenance, if you're just looking for a reasonable place to carry them around, but I think given that they'll have somewhat different functionality it might be better to put them in a different place. I'd be a bit careful with this though, I think whatever you choose for implementation will have non-trivial consequences for graph evaluation, etc. Thermochemistry is a big part of the materials science model space, though, and this seems like a necessary step towards realizing knowledge of that space in propnet.

Also, I think this specific idea for a model is a bit more complicated than it might seem. In principle, a pressure-corrected energy above hull would require not only energy about how the individual material's free energy changes, but how the hull itself changes, which would require an aggregate knowledge of how every entry used to construct the hull would change. It might be simpler to implement something like a free energy correction based on the bulk modulus.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/materialsintelligence/propnet/issues/178#issuecomment-454969501, or mute the thread https://github.com/notifications/unsubscribe-auth/AC1rRF1Z7EsSh0z3-LEY-r3FZaLWLIGcks5vD6hTgaJpZM4Z8Oaa .

JosephMontoya-TRI commented 5 years ago

Also, I don't know if this is the right place to mention this, but in terms of having multiple conditions that correspond to the same material, I think I'm more in favor of doing something involving arrays, since they'll presumably be compatible with a lot of EquationModel logic.

mkhorton commented 5 years ago

Perhaps as a first step, the core model should be to take in a computed entry and bulk modulus and output a new computer entry? And then a second model that takes a list of entries and outputs the hull?

On Wed, Jan 16, 2019 at 14:37, Matthew Horton mkhorton@lbl.gov wrote:

To your second point, right. This model has to first make the free energy corrections to a list of entries and then calculate the hull of those entries. I don’t think it’s complicated per se but fitting it into propnet may be (ie if it forces us to make design changes that makes it more useful, so be it).

On Wed, Jan 16, 2019 at 14:31, JosephMontoya-TRI notifications@github.com wrote:

A few thoughts:

Measurement (or simulation) conditions might be placed into the provenance, if you're just looking for a reasonable place to carry them around, but I think given that they'll have somewhat different functionality it might be better to put them in a different place. I'd be a bit careful with this though, I think whatever you choose for implementation will have non-trivial consequences for graph evaluation, etc. Thermochemistry is a big part of the materials science model space, though, and this seems like a necessary step towards realizing knowledge of that space in propnet.

Also, I think this specific idea for a model is a bit more complicated than it might seem. In principle, a pressure-corrected energy above hull would require not only energy about how the individual material's free energy changes, but how the hull itself changes, which would require an aggregate knowledge of how every entry used to construct the hull would change. It might be simpler to implement something like a free energy correction based on the bulk modulus.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/materialsintelligence/propnet/issues/178#issuecomment-454969501, or mute the thread https://github.com/notifications/unsubscribe-auth/AC1rRF1Z7EsSh0z3-LEY-r3FZaLWLIGcks5vD6hTgaJpZM4Z8Oaa .

mkhorton commented 5 years ago

Ok, lets shift the conditions chat to another issue (there's #48 open), and keep chat on this issue to the pressure-dependent convex hull model specifically.

jdagdelen commented 5 years ago

I was planning on just implementing a pressure-dependent formation energy first and then we can worry about the convex hull later.