ESPEI
ESPEI copied to clipboard
Add of site fraction data into ESPEI
Hi Brandon,
I've finished the add and clean up of the codes and pass all the tests. Let me know if something needs to be changed.
Best, Hui Sun
Hi @HUISUN24, thanks for putting this together! It looks like it will be very useful.
A few high level questions:
- Does the way you have the dataset set up work for a ternary system? Can you write a test to confirm?
- Similar to (1), what about if the database to optimize is for a ternary/multi-component, but the data is only binary?
- Does it work to give data that are non-null, e.g.
[0.67,0.33,0.85,0.15,0.95,0.05,0.13,0.87,0.74,0.16]
? What about if you don't know some site fractions, e.g.[null,null,null,null,0.95,null,0.13,null,0.74,null]
? Tests to confirm would be much appreciated 😄 - Can you add a section to the "Making ESPEI datasets" to document an example for how these datasets should look? (This file: https://github.com/PhasesResearchLab/ESPEI/blob/master/docs/input_data.rst)
- From a high level, can you explain what the difference is in the
YPropData
,calculate_Y_probability
(and other functions inespei.error_functions.Y_error.py
)? Is there any code that is essentially duplicated that could be shared?
@HUISUN24 this PR almost certainly outdated now with the changes in #236. The good news is that if you model your code in Y_error
after the other error function code, you can remove most (if not all) of your changes in context.py
, opt_scipy.py
, opt_mcmc.py
and this becomes a much simpler PR.
This PR is pretty stale and probably could be implemented differently today by adding support to the existing thermochemical error residual now that pycalphad Workspace provides better support for wks.get(output)
. It might even "just work" to have "output": "Y(<phase_name>,<sublattice_index>,<species>)"
in the dataset.