-
Notifications
You must be signed in to change notification settings - Fork 35
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ENH: Add framework for property model parameter generation (#251)
This is a significant feature improvement that introduces the concept of a `ModelFittingDescription` made up of `FittingStep` objects to tell ESPEI how to generate model parameters (with a capability to support generating parameters for custom models). In addition, these changes include: - Significant refactoring and simplification of `espei.paramselect`, the main module for parameter selection: - Most of the code that was duplicated for fitting endmembers, binary interactions, and ternary interactions was unified. - The `fit_ternary_interactions` function was completely removed and binary and ternary interactions now run the exact same code path. - The most significant changes are in `fit_parameters`, which now relies on dependency injection of a fitting description to know what fitting steps to take (we try to not make any assumptions about what parameters or data types are being fit) and this function is more streamlined to 1) select relevant data from datasets, 2) get the RHS (`b` in `Ax=b`) of the linear problem from the fitting step, 3) build candidate models (build a collection feature matrices, `A`), 4) select the best model from the candidates, and 5) insert the parameter and coefficients for the best model into the database - Refactoring to remove `espei.parameter_selection.utils`. Some of the functionality got moved to be in fitting steps, and `get_sample_condition_dicts` was moved to `espei.error_functions.non_equilibrium_thermochemical_error`, with `get_prop_samples` that it is used in conjunction with. Trying to have fewer "utils" modules. - Tests to verify that molar volume and custom property models (elastic) work against various edge cases - New docs page with a tutorial for using a custom model and fitting description for fitting elastic constants with a [repository](https://github.com/bocklund/espei-elastic-parameter-generation) containing the code - Small tweak to follow links in dataset recursive glob search. This is useful for organizing datasets for different runs while having one single source of truth for the data
- Loading branch information
Showing
27 changed files
with
1,379 additions
and
567 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.