Skip to content

Latest commit

 

History

History
84 lines (61 loc) · 4.51 KB

CHANGELOG.md

File metadata and controls

84 lines (61 loc) · 4.51 KB

Features

  • Separated active and inactive material volume fractions (#726)
  • Added submodels for tortuosity (#726)
  • Simplified the interface for setting current functions (#723)
  • Added Heaviside operator (#723)
  • Added Simulation class (#693)
  • Added interface to CasADi solver (#687, #691, #714). This makes the SUNDIALS DAE solvers (Scikits and KLU) truly optional (though IDA KLU is recommended for solving the DFN).
  • Added option to use CasADi's Algorithmic Differentiation framework to calculate Jacobians (#687)
  • Added method to evaluate parameters more easily (#669)
  • Added Jacobian class to reuse known Jacobians of expressions (#665)
  • Added Interpolant class to interpolate experimental data (e.g. OCP curves) (#661)
  • Added interface (via pybind11) to sundials with the IDA KLU sparse linear solver (#657)
  • Allowed parameters to be set by material or by specifying a particular paper (#647)
  • Set relative and absolute tolerances independently in solvers (#645)
  • Added basic method to allow (a part of) the State Vector to be updated with results obtained from another solution or package (#624)
  • Added some non-uniform meshes in 1D and 2D (#617)

Optimizations

  • Use CasADi's automatic differentation algorithms by default when solving a model (#714)
  • Avoid re-checking size when making a copy of an Index object (#656)
  • Avoid recalculating _evaluation_array when making a copy of a StateVector object (#653)

Bug fixes

  • Improved flexibility of parameter values so that parameters (such as diffusivity or current) can be set as functions or scalars (#723)
  • Fixed a bug where boundary conditions were sometimes handled incorrectly in 1+1D models (#713)
  • Corrected a sign error in Dirichlet boundary conditions in the Finite Element Method (#706)
  • Passed the correct dimensional temperature to open circuit potential (#702)
  • Added missing temperature dependence in electrolyte and interface submodels (#698)
  • Fixed differentiation of functions that have more than one argument (#687)
  • Added warning if ProcessedVariable is called outside its interpolation range (#681)
  • Improved the way ProcessedVariable objects are created in higher dimensions (#581)

v0.1.0 - 2019-10-08

This is the first official version of PyBaMM. Please note that PyBaMM in still under active development, and so the API may change in the future.

Features

Models

Lithium-ion

  • Single Particle Model (SPM)
  • Single Particle Model with electrolyte (SPMe)
  • Doyle-Fuller-Newman (DFN) model

with the following optional physics:

  • Thermal effects
  • Fast diffusion in particles
  • 2+1D (pouch cell)

Lead-acid

  • Leading-Order Quasi-Static model
  • First-Order Quasi-Static model
  • Composite model
  • Full model

with the following optional physics:

  • Hydrolysis side reaction
  • Capacitance effects
  • 2+1D

Spatial discretisations

  • Finite Volume (1D only)
  • Finite Element (scikit, 2D only)

Solvers

  • Scipy
  • Scikits ODE
  • Scikits DAE
  • IDA KLU sparse linear solver (Sundials)
  • Algebraic (root-finding)