Replies: 1 comment
-
One solution is to make the reference energy and lattice stabilities proper objects. If the reference data were a class, users would be free to subclass and inherit the existing unary and lattice stability functions to make minor changes/additions without duplication. Using a mechanism like the Some further development is required to decide what the interface ESPEI should expect this class to conform to, but a class would make it very easy for users to provide the Gibbs energy functions any way they like. They could even distribute a TDB file and create the unary functions dynamically from the TDB (this could even be a built-in supported feature). |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Somewhat related to #123 and the repository https://github.com/PhasesResearchLab/ESPEI-unary-refstate-skeleton/
As of ESPEI 0.7.9, custom unary reference states can be added by a skeleton repository and using setup.py entrypoints. In practice, doing this is not very ergonomic for users and does not address simple use cases like overriding a particular unary or lattice stability (while accepting the SGTE Unary 5 expression otherwise).
This discussion topic should track ideas for alternatives to the current system.
The nice aspect of the current approach is that anyone can create and distribute a reference state without changing ESPEI code. Any solutions should support this use case.
Some key issues with the current method are:
pip install
their own package to set up the entry points again.Piecewise
expression, which could lead to translation errors.Beta Was this translation helpful? Give feedback.
All reactions