parameter_selection.fitting_steps

parameter_selection.fitting_steps

Classes

Name Description
AbstractLinearPropertyStep This class is a base class for generic linear properties.

AbstractLinearPropertyStep

parameter_selection.fitting_steps.AbstractLinearPropertyStep()

This class is a base class for generic linear properties.

“Generic” meaning, essentially, that property_name == parameter_name == data_type and PyCalphad models set this property something like

self.<parameter_name> = self.redlich_kister_sum(phase, param_search, <param_name>_query)

Note that redlich_kister_sum specifically is an implementation detail and isn’t relevant for this class in particular. Any mixing model could work, although ESPEI currently only generates features by build_redlich_kister_candidate_models.

Fitting steps that want to use this base class should need to subclass this class, override the parameter_name and data_type_read (typically these match), and optionally override the features if a desired.

For models that are ‘nearly linear’, and the transform_data method can be overriden to try to linearize the data with respect to the model parameters.

Most parameters are fit per mole of formula units, but there are some exceptions (e.g. VA parameters). The normalize_parameter_per_mole_formula attribute handles normalization.

Methods

Name Description
transform_data Helper function to linearize data in terms of the model parameters.
transform_data

parameter_selection.fitting_steps.AbstractLinearPropertyStep.transform_data(d, model=None)

Helper function to linearize data in terms of the model parameters.

If data is already linear w.r.t. the parameters, the default implementation of identity (return d can be preserved).

Back to top