Espei

Latest version: v0.9.0

Safety actively analyzes 682404 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 8

0.7.6

==================

This is a minor bug fix release.

* Fixes a bug introduced in 0.7.5 for calculating likelihood for phase boundary data under equilibrium failures (`bocklund`_ - :issue:`120`)
* Since Python 2 was dropped, `six` has been removed as a dependency (`bocklund`_ - :issue:`119`)

0.7.5

==================

This release includes performance optimizations, bug fixes and new features for MCMC simulations.

* This version of ESPEI now requires pycalphad 0.8.2 or later for the features below.
* Fitting subsystems of a large database is explicitly supported and tested for all implemented MCMC data types. Fixes a bug in ZPF error and activity error where having phases in the database that are inactive in the subsystem would raise errors (`bocklund`_ - :issue:`118`).
* Computing thermochemical error and phase boundary (ZPF) error are now optimized to reduce overhead time in dependencies (`bocklund`_ - :issue:`117`)
* A new feature for calculating approximate driving force for phase boundary data is implemented, which can give performance improvements of 3x-10x, depending on the system (`bocklund`_ - :issue:`115`)

0.7.4

==================

This release includes small fixes for parameter generation.

* Excluded model contributions are fixed for models with different sublattice site ratios and for data that are not endmembers (`bocklund`_ - :issue:`113`)

0.7.3

==================

This change includes several new features and performance improvements.

* Drop Python 2 support (Python 2 is no longer supported on January 1, 2020).
* Update dask and distributed support to versions >=2. (`bocklund`_)
* Users can tweak the AICc penalty factor for each phase to nudge parameter selection towards adding more or fewer parameters based on user modeling intuition. (`bocklund`_)
* Allow for tracefile and probfile to be set to None. (`jwsiegel2510`_)
* Weighting individual datasets in single phase fitting is now implemented via scikit-learn. (`bocklund`_)
* Performance improvements by reducing overhead. (`bocklund`_)
* Increased solver accuracy by using pycalphad's exact Hessian solver. (`bocklund`_)
* Support writing SER reference state information to the `ELEMENT` keyword in TDBs based on the SGTE unary 5 database. (`bocklund`_)
* MCMC now calculates the likelihood of the initial parameter set so the starting point can be reasonably compared. (`bocklund`_)
* Fixed a bug where mis-aligned configurations and site occupancies in single phase datasets passed the dataset checker (`bocklund`_)

0.7.2

==================

This is a small bugfix release that fixes the inability to provide the EmceeOptimizer a ``restart_trace``.

0.7.1

==================

This is a significant update reflecting many internal improvements, new features, and bug fixes. Users using the YAML input or the ``run_espei`` Python API should see entirely backwards compatible changes with ESPEI 0.6.2.

pycalphad 0.8, which introduced many `key features <https://pycalphad.org/docs/latest/CHANGES.html>`_ for these changes is now required.
This should almost completely eliminate the time to build phases due to the symengine backend (phases will likely build in less time than to call the MCMC objective function).
Users can expect a slight performance improvement for MCMC fitting.

Improvements
------------
* Priors can now be specified and are documented online.
* Weights for different datasets are added and are supported by a ``"weight"`` key at the top level of any dataset.
* Weights for different types of data are added. These are controlled via the input YAML and are documented there.
* A new internal API is introduced for generic fitting of parameters to datasets in the ``OptimizerBase`` class. The MCMC optimizer in emcee was migrated to this API (the ``mcmc_fit`` function is now deprecated, but still works until the next major version of ESPEI). A simple SciPy-based optimizer was implemented using this API.
* Parameter selection can now be passed initial databases with parameters (e.g. for adding magnetic or other parameters manually).
* pycalphad's reference state support can now be used to properly reference out different types of model contributions (ideal mixing, magnetic, etc.). This is especially useful for DFT thermochemical data which does not include model contributions from ideal mixing or magnetic heat capacity. Useful for experimental data which does include ideal mixing (previously ESPEI assumed all data
* Datasets and input YAML files now have a tag system where tags that are specified in the input YAML can override any keys/values in the JSON datasets at runtime. This is useful for tagging data with different weights/model contribution exclusions (e.g. DFT tags may get lower weights and can be set to exclude model contributions). If no tags are applied, removing ideal mixing from all thermochemical data is applied automatically for backwards compatibility. This backwards compatibility feature will be removed in the next major version of ESPEI (all model contributions will be included by default and exclusions must be specified manually).

Bug fixes
---------
* Bug fixed where asymmetric ternary parameters were not properly replaced in SymPy
* Fixed error where ZPF error was considering the chemical potentials of stoichiometric phases in the target hyperplane (they are meaningless)
* Report the actual file paths when dask's work-stealing is set to false.
* Errors in the ZPF error function are no longer swallowed with -np.inf error. Any errors should be reported as bugs.
* Fix bug where subsets of symbols to fit are not built properly for thermochemical data

Other
-----
* Documentation recipe added for `plot_parameters`
* [Developer] ZPF and thermochemical datasets now have an function to get all the data up front in a dictionary that can be used in the functions for separation of concerns and calculation efficiency by not recalculating the same thing every iteration.
* [Developer] a function to generate the a context dict to pass to lnprob now exists. It gets the datasets automatically using the above.
* [Developer] transition to pycalphad's new build_callables function, taking care of the ``v.N`` state variable.
* [Developer] Load all YAML safely, silencing warnings.

Page 4 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.