Merged
Conversation
Main -> develop
* Update data readme * Add axis labels * Update descriptions * Add cost names * Remove multiprocessing import * Update applications
updates: - [github.com/astral-sh/ruff-pre-commit: v0.14.3 → v0.14.7](astral-sh/ruff-pre-commit@v0.14.3...v0.14.7) - [github.com/kynan/nbstripout: 0.8.1 → 0.8.2](kynan/nbstripout@0.8.1...0.8.2) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* replace image in readme * replace image again * switch to relative path * add background * add background * update changelog
… example notebook is added for sensitivity analysis using SALib. (#838) * finite difference calculations are updated, new example notebook added for sensitivity analysis * style: pre-commit fixes * updated * style: pre-commit fixes * updated * updated * style: pre-commit fixes * integration test updated * integration test updated * integration test updated * test updated * tests updated * tests updated * style: pre-commit fixes * tests updated * style: pre-commit fixes * tests updated * tests updated * tests updated * tests updated * tests updated * style: pre-commit fixes * modified the eample notebook * style: pre-commit fixes * unit test added * integration test renamed * unit test updated * Add normalise option * Update notebooks --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com>
* rename BasePrior as Distribution * initialise distribution with stats.rv_continuous/stats.distributions.rv_frozen * distributions as subclasses of Parameter * clean up class structure * tidy up some details * remove unnecessary changes, remove unused method * fix failing tests * improve test coverage * remove margin from ParameterInfo * update __call_ function * remove set_bounds and remove_bounds methods * remove ParameterBounds object * remove ParameterDistribution object * Rename ParameterInfo -> Parameter * improve coverage * rename files * update changelog * Update examples * Update descriptions --------- Co-authored-by: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com>
* Add JOSS template and compilation action * Increment the upload action * Add workflow dispatch trigger * Fix typo * Update ref format * Add sketch * Add architecture figure * Add refs * Add table * Update tables * Add review refs * Add some equations * Add ref * Update Omega and table refs * Minor formatting * updt summary, tables, statement of need * fix: feedback from initial internal review * add pdf asset for JOSS inclusion * small additions, test JOSS CI on pdf figure rendering * updates to statement of need, architecture * update tables, monte carlo additions * Minor updates and formatting * Pre-commit * Add joss plotting scripts * Add example plotting scripts and plots * Add example design plots * Add example plots to paper * Update figures and text. * feat: adds multi-dimensional learning rate gradient descent implementation * Update plots, article, adds shell script for plot combination * adds contour figure, shell updates, clean-up * feat: adds kwargs to plots, effective sample size has option combined samples arg * feat: improve contour and surface plots, add x0 entry to optimiser log * plots: update final position legend entry * Updates contour plots, adds MCMC sampling to param_plots, fixes typos * Updates and typo to article, adds posterior plot, updates design plot, w/ corresponding code * proofreading, update parameterisation example for RMSE cost, align figure styles * update heuristic parameter convergence plot, add tex preprint format. * adds numerical impedance predictions, figs, citation. updts nyquist grids, * Adds Agriya w/ correct affiliation, updts tex pre-print * Fix typos, update table format * Update paper.md Dave's edits - up to the end of the first paragraph in the 'architecture' section * fixes: internal review feedback, minus figures * Edits to paper (#578) * Edits to paper * Add citation * feat: updates figures, contour plot into plotly subplots. * feat: align object name method, adds plotly express to PlotlyManager, * Update paper.md minor tweaks up to the end of 'statement of need' * Update paper.md Dave changes up to 'background' * Update paper.md Dave changes up to "next, we demonstrate.." * Update paper.md text changes until 'design optimisation' * Update paper.md more of dave's changes; minor things plus removed fig 1 * adds percentile to posterior figure, rebuilds pdf. * Update paper.md Dave's edits until the end of fig 7 * Update paper.md end of editing for now * Updates from review, adds bib entries, improves design plot * update and vectorise figures. * Minor clarifications * Updates figures, /joss directory -> /papers * Restores workflow, MCMC table * Update Agriya's affiliation (#748) * feat: remove redudant sections post restructure * feat: updates for restructured arch * feat: grammar, typos, etc. * refactor: updates to architecture section, update architecture figure * fix: paper build workflow * feat: rewrites for conciseness, update architecture figure * Clean up bib * Update text * Update diagram * Update contributors link * Remove table 1 * Update figures * Update table 2 * Align figures * Update paper.pdf * Refine text in paper.md for clarity and consistency edits up to table 1 * Fix formatting and improve clarity in paper.md changes to end of table 2 * Refine terminology and descriptions in paper.md Updated terminology for clarity and precision in the paper. * Larger figure labels * Negative sign * Update paper.pdf * Add equal-contrib field for authors * Rename Quansight PBC to Quansight (#841) * Re-run for consistency with release * Update UK to United Kingdom in affiliations * Update CITATION.cff * Add JOSS badge * Remove old versions * Delete PyBOP-high-level.pdf * Remove Plotly express * Update for new PyProBE release --------- Co-authored-by: Brady Planden <brady.planden@gmail.com> Co-authored-by: David Howey <david.howey@eng.ox.ac.uk> Co-authored-by: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> Co-authored-by: bradyplanden <brady@ionworks.com>
* added basic scaffolding for Bayesian optimisers * added cost functions to compare parametric target fits * added support for the Bayesian optimiser EP-BOLFI * style: pre-commit fixes * linting the Bayesian framework additions * updated CHANGELOG with the Bayesian framwork additions * fixed EP-BOLFI logs appearing even when not verbose * Use pybop.pybamm.Simulator * adapted EP-BOLFI plugin to work with pybop.Solution objects * renamed parameterised costs to feature distances * adapted the EP-BOLFI plugin to work with Evaluation cost results * added EP-BOLFI optional dependency * added GPy dependency to EP-BOLFI plugin * reordered EP-BOLFI plugin dependencies, adapted EP-BOLFI to accept a singular Problem * added test for MultivariateParameters and MultivariateGaussian * style: pre-commit fixes * added tests for feature_distances * fixed GPy version to prevent outdated version in test pipeline * fixed feature distance and multivariate parameter tests * adjusted tests failing due to slightly too bad numerical conditioning * adjusted failing tests with easier targets * improved ExponentialFeatureDistance heuristic, removed noise level check from test_thevenin_transformation * Update bayes_gitt_fitting.py * Use singular `distribution` * Rename example * Update test_thevenin_parameterisation.py * Update comparing_cost_functions.ipynb * Undo change to example * Remove COBYLA from test * added unit test for EP-BOLFI coverage * Update for new PyProBE release * added test for the multivariate distributions * completed multivariate parameters unit test * improved coverage of feature distances unit test * improved coverage of EP-BOLFI unit test * fixed unit tests for multivariate parameters, feature distances, and EP-BOLFI * Updates from code review --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com>
updates: - [github.com/astral-sh/ruff-pre-commit: v0.14.7 → v0.14.10](astral-sh/ruff-pre-commit@v0.14.7...v0.14.10) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Align simulation methods * Switch batch_solve to solve_batch * Simplify error catches * Remove initial state rebuild requirement * Update CHANGELOG.md
* Create Result parent class * Use logger property * Update CHANGELOG.md * Merge PosteriorSummary into SamplingResult * Replace deprecated pints.AdaptiveCovarianceMCMC * Update CHANGELOG.md * Use result.method_name * Remove optim property * Move result subclasses * Fix docs * move SamplingResult to base_sampler.py --------- Co-authored-by: u2370093 <sarah.roggendorf@warwick.ac.uk>
* Use constants value * Remove check_already_exists * Test vs. pybamm develop * Update pyproject.toml * Update CHANGELOG.md
* Test lowest-direct dependencies * Update .github/workflows/nightly_dependency_tests.yaml Co-authored-by: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> * Fix org name for setup-uv action * Use `uv` to invoke installation, not `python -m uv` * Activate an environment as well --------- Co-authored-by: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com>
* Remove outdated uv.lock * Update pyproject.toml * Update pyproject.toml * Update pyproject.toml * Apply suggestions from code review Co-authored-by: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> * Update pyproject.toml Co-authored-by: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> * Update pyproject.toml Co-authored-by: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> * Update pyproject.toml Co-authored-by: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> * Use latest dev dependencies * Update pyproject.toml * Update PyBaMM develop to main branch * Update .github/workflows/nightly_dependency_tests.yaml Co-authored-by: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com> --------- Co-authored-by: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com>
* Add lumped thermal model * Update Faraday constant * Update default voltage * Update CHANGELOG.md * Use Kelvin, enable varying T_amb * style: pre-commit fixes * Update description --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
updates: - [github.com/astral-sh/ruff-pre-commit: v0.14.10 → v0.14.14](astral-sh/ruff-pre-commit@v0.14.10...v0.14.14) - [github.com/kynan/nbstripout: 0.8.2 → 0.9.0](kynan/nbstripout@0.8.2...0.9.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* fix some issues * skip example that does not work with python 3.13 * ensure numpy compatible with pints * style: pre-commit fixes * update changelog * minor edits --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Change `macos-14` to `macos-latest` * Update all GitHub Actions versions * Don't persist credentials when checking out * Add infra for opening issues for failing tests * Parametrise both jobs * Add comment about keeping Python versions in sync
* Move utils into separate files * Move dataset into processing * Add processing methods * Update trapz * Add types * Add test * Updates from code review * Add a check on discharge capacity * Some improvements from #880 * Do not reimport pybop * Fix a typo * Add type hint for `generate_consistent_current` * Another typo * Use proper dict type annotation * Make Ruff happy; change to absolute import * Do not use comparison ops for floats * Another typo + mismatched arg + better type annotation * Avoid `np.extract` since this is a boolean * Misc.; avoid (some) copies * Precompute segment integral + throughput bug * Typo? * Use a fixed atol for linear vs delta throughput comparison * Compare all throughputs in As --------- Co-authored-by: Agriya Khetarpal <74401230+agriyakhetarpal@users.noreply.github.com>
* Reorganise optional deps and docs,dev deps * Use dependency groups everywhere * Update docs build steps * Update contributing guide to mention groups * Remove redundant Python install method * Remove duplicate and redundant RTD config file * Remove quotes around "docs" for RTD builds * Fix typo * Install PyBOP in RTD alongside docs group as well --------- Co-authored-by: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com>
* Remove "function" from data key * Add controls to dataset * Use import_pybamm_solution * Update CHANGELOG.md * Update benchmarks * Finish merging
* Update "Current function" to "Current"
* Update set_initial_state * Update CHANGELOG.md * Fix stoichiometry inputs * add BaseModel and move build and set_initial_state there * add tests for model utils * rename BaseModel to BaseGroupedModel * Add error message for WeppnerHuggins --------- Co-authored-by: Ferran Brosa Planella <Ferran.Brosa-Planella@warwick.ac.uk>
* Add check on output variables * Add unit test
… and define multivariate distributions in model space (#862) * add MultivariateParameter * fix spelling * remove MultivariateParameters * add MultivariateParameter to parameter_values * improve testing and input checks * Introduce MarginalDistribution, remove MultivariateParameter * improve test coverage * Use keywords for clarity * Define multivariate distributions in model space * add more tests and comments * add changelog entry and adjust bounds in MultivariateUniform * fix covariance transformation Co-authored-by: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com> --------- Co-authored-by: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com>
* add MultivariateParameter * fix spelling * remove MultivariateParameters * add MultivariateParameter to parameter_values * improve testing and input checks * Introduce MarginalDistribution, remove MultivariateParameter * improve test coverage * Use keywords for clarity * Define multivariate distributions in model space * add more tests and comments * add changelog entry and adjust bounds in MultivariateUniform * Update Parameter * Differentiate between sigma * Bounds are not None * Update Parameters * Pass covariance matrix * Update unused-bounds warnings * Update Parameters * Update distribution sampling * Implement bounds as optimiser option * Remove Parameters.remove * Match parameters to position * Pass mean to samplers * Improve test repeatability * Update CHANGELOG.md * Fix uniform mean * Pass mean to population-based optimisers * improve test coverage * explicitly test that multivariate parameters are reordered --------- Co-authored-by: u2370093 <sarah.roggendorf@warwick.ac.uk> Co-authored-by: Sarah Roggendorf <33656497+SarahRo@users.noreply.github.com>
* save result * improve test coverage * save appropriate data in save_data method * style: pre-commit fixes * update changelog * improve test coverage * Allow multivariate parameters to be passed via pybamm.ParameterValues and define multivariate distributions in model space (#862) * add MultivariateParameter * fix spelling * remove MultivariateParameters * add MultivariateParameter to parameter_values * improve testing and input checks * Introduce MarginalDistribution, remove MultivariateParameter * improve test coverage * Use keywords for clarity * Define multivariate distributions in model space * add more tests and comments * add changelog entry and adjust bounds in MultivariateUniform * fix covariance transformation Co-authored-by: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com> --------- Co-authored-by: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com> * Update the samplers to align saving of result (#896) * Move plotting out of SamplingResult * Load data by recreating result * fix failing tests * add checks to tests --------- Co-authored-by: u2370093 <sarah.roggendorf@warwick.ac.uk> --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com>
* Assign parameters by name * Unpack parameters from dict * Update changelog * Update sol to solution * Rename to_inputs * Update optimiser interface example * Make sensitivities a dictionary --------- Co-authored-by: u2370093 <sarah.roggendorf@warwick.ac.uk> Co-authored-by: Sarah Roggendorf <33656497+SarahRo@users.noreply.github.com>
* Create LogPDF, LogPrior and LogPosterior * Remove redundant lines * Rename num_parameters * Update set_target * Update CHANGELOG.md * Finish merging * Update log-pdf descriptions * Update description --------- Co-authored-by: u2370093 <sarah.roggendorf@warwick.ac.uk> Co-authored-by: Sarah Roggendorf <33656497+SarahRo@users.noreply.github.com>
* chore: update pre-commit hooks updates: - [github.com/astral-sh/ruff-pre-commit: v0.14.14 → v0.15.4](astral-sh/ruff-pre-commit@v0.14.14...v0.15.4) - [github.com/kynan/nbstripout: 0.9.0 → 0.9.1](kynan/nbstripout@0.9.0...0.9.1) * pre-commit --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com>
* Refresh notebooks * Update settings * Refresh updated notebooks
* Update self-hosted runner * Upgrade pip
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #903 +/- ##
==========================================
+ Coverage 89.41% 92.84% +3.42%
==========================================
Files 63 73 +10
Lines 4857 5674 +817
==========================================
+ Hits 4343 5268 +925
+ Misses 514 406 -108 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
SarahRo
approved these changes
Mar 5, 2026
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
PR for release v26.3.
Important checks:
Please confirm the following before marking the PR as ready for review:
$ pre-commit runor$ nox -s pre-commit(see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)nox -s testsnox -s doctest