Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request to implement pressure-dependent energy above hull #178

Open
mkhorton opened this issue Jan 11, 2019 · 9 comments
Open

Request to implement pressure-dependent energy above hull #178

mkhorton opened this issue Jan 11, 2019 · 9 comments
Assignees

Comments

@mkhorton
Copy link
Collaborator

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
Copy link
Contributor

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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
Copy link

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
Copy link
Collaborator Author

mkhorton commented Jan 16, 2019 via email

@JosephMontoya-TRI
Copy link

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
Copy link
Collaborator Author

mkhorton commented Jan 16, 2019 via email

@mkhorton
Copy link
Collaborator Author

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
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants