PhasesResearchLab/ESPEI

Fitting HM, SM, CPM in parameter selection

bocklund opened this issue · 0 comments

Right now, ESPEI can perform parameter selection for HM_FORM/HM_MIX, SM_FORM/SM_MIX, or CPM_FORM/CPM_MIX data, but it would be useful to be able to fit HM-HM(SER), SM and CPM directly as well.

In the past, I would have suggested the following workaround procedure to fit absolute energies (no changes to ESPEI code required) that are compatible with SGTE:

  1. Create a custom reference state for ESPEI where the energy is zero for the lattice stability of the SER phase (advanced, optional technique: if you want to keep existing lattice stabilities, update them in the custom reference state to not make them relative to the GHSER__ symbol)
  2. Treat HM-HM(SER), SM, CPM data as the _FORM in ESPEI datasets and fit them. This will give energies for each phase referenced to GHSER__ functions which are zero, so the absolute energies and derivatives are fit.

I'm convinced now that fitting absolute valued versions of these data is useful enough that ESPEI should allow this data to be fit if given by a user. It shouldn't be too much work for a student that wanted to pick up this project.

I'm not completely sure, but this might "just work" to change espei.parameter_selection.utils.shift_reference_state to not raise on HM, SM, or CPM data. One would have to decide whether it is a user's responsibility to shift to HM-HM(SER) or whether to allow ESPEI to do it automatically (which should be possible now that Database().refstates data is supported by pycalphad and used by ESPEI).