All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Regression tests for Python 3.10 and 3.11.
- Additional badges added to README.
- Code clean up and maintenance updates.
- Online documentation with updated installation instructions: https://mpet.readthedocs.io/en/latest/
- New filenname options for SMSet, muRfunc, Dfunc, and rxnType which allows functions to be loaded from specified files
- Material properties organized into the modules mpet.electrode.diffusion, mpet.electrode.materials, mpet.electrode.reactions, and mpet.electrolyte. New properties can be added by moving files to these directories.
- Several parameters are now optional: Vset, segments, Dp, Dm, logPad, kappa, B, dgammadc, cwet, lambda
- Dropped support for Python 3.5
- Output is now generated for simulations that crash before finishing.
- less console output from mpet simulations.
- Example configs added for reproducing the results from classic Newman papers.
- Constant power (CP) charging/discharging implemented.
- Refactored code for input file processing with better error checking and a schema to define the structure of config files.
- Regression test suite made more robust by comparing mean error.
- Resolved occasional plot crashes with mpetplot.py.
- Big performance and stability improvements when using noise.
- Implemented hdf5 file output using new 'dataReporter' option, and added an 'hdf5Fast' option which saves fewer variables for smaller file size.
- Coupled ion electron transfer (CIET) added as an intercalation reaction rate.
- Input parameters 'specified_psd_a' and 'specified_psd_c' added for specifying particle radii.
- New '1C_current_density' parameter added for defining a nominal 1C current.
- Example config file added for the LiCoO2/graphite cell from the LIONSIMBA benchmark problem.
- Fixed temperature now fully implemented (without heat generation). Activation energy added as a reaction input parameter.
- Code style now conforms to pep8 standards.
- Finite volumes discretization now properly accounts for variable cell size when computing face values. Harmonic mean only used for transport properties at faces.
- Improved stability during initializtion with larger MaxNumItersIC.
- Updated lambda parameter for graphite & LFP with more physical estimates.
- Improved regression test suite based on pytest.
- Docker config file for running MPET in a container.
- Continuous integration implemented for Github and Bitbucket source code repositories.
- Port variables and redundant time variables are no longer saved as output, reducing file size.
- Adds a separate package for mpet.plot.
- Ending condition message indicates why simulation stopped.
- Improved initialization of simulations.
- The prevDir restart option initializes correctly.
- Y-axis limits on electrolyte potential plots chosen automatically.
- capFrac is now optional and defaults to 1.
- Support for daetools 1.9.0 and Python 3.7.
- Missing plot types restored.
- Initialization of simulations is much more robust.
- More realistic parameter choices for the default params_system.cfg.
- setup.py now installs prerequisite packages.
- Adds a help flag to mpetrun and mpetplot.
- Implementation of CCsegments and CVsegments properly as discontinuous equations.
- The ramp variable "tramp" can now be set to zero.
- Performance improvements, including using daetools Compute Stack execution model when possible.
- Improved formatting of plots in mpetplot.
- The variable "tramp" is no longer required and will be removed in future releases.
- Package installer (setup.py) and simplified install instructions.
- Missing reference solutions for regression testing that were no longer available for download.
- Compatibility with DAE Tools 1.8
- mpettest.py now prints all failing variables
- Some variables (Omega_a,Omega_b,Omega_c, and EvdW) in the [Material] section of electrode config files are no longer required to be defined if they are not being used.
- Last commit from Ray Smith's PhD thesis