From ef2285c69b0a9ce0a37a6bf9a746b802332bf099 Mon Sep 17 00:00:00 2001 From: u2370093 Date: Fri, 17 Jul 2026 14:02:25 +0100 Subject: [PATCH 1/4] update joss plotting scripts --- papers/joss/design_plots.py | 18 +++++---- papers/joss/param_plots.py | 78 ++++++++++++++++++++++--------------- 2 files changed, 58 insertions(+), 38 deletions(-) diff --git a/papers/joss/design_plots.py b/papers/joss/design_plots.py index c7aec3231..fa27a5e13 100644 --- a/papers/joss/design_plots.py +++ b/papers/joss/design_plots.py @@ -50,14 +50,14 @@ { "Positive electrode thickness [m]": pybop.Parameter( initial_value=8.88e-05, - prior=pybop.Gaussian(7.56e-05, 3e-05), - bounds=[50e-06, 120e-06], + distribution=pybop.Gaussian( + 7.56e-05, 3e-05, truncated_at=[50e-06, 120e-06] + ), transformation=pybop.UnitHyperCube(lower=50e-6, upper=120e-6), ), "Positive electrode active material volume fraction": pybop.Parameter( initial_value=0.42, - prior=pybop.Gaussian(0.58, 0.1), - bounds=[0.3, 0.825], + distribution=pybop.Gaussian(0.58, 0.1, truncated_at=[0.3, 0.825]), transformation=pybop.UnitHyperCube(lower=0.3, upper=0.825), ), } @@ -88,6 +88,8 @@ print("Estimated parameters:", result.x) print(f"Initial gravimetric energy density: {problem(result.x0):.1f} W.h.kg-1") print(f"Optimised gravimetric energy density: {problem(result.x):.1f} W.h.kg-1") +initial_energy_density = problem(result.x0) +optimised_energy_density = problem(result.x) if create_plot["gravimetric"]: # Plot the cost landscape with optimisation path @@ -119,7 +121,7 @@ if create_plot["prediction"]: # Plot the timeseries output - problem.target = "Voltage [V]" + problem.set_target("Voltage [V]") figs = pybop.plot.problem( problem, inputs=result.best_inputs, @@ -156,9 +158,11 @@ prediction_fig.data[1].update(line=dict(color="#00CC97")) prediction_fig.data[ 0 - ].name = f"Initial: {problem(result.x0):.1f} W h kg-1" + ].name = f"Initial: {initial_energy_density:.1f} W h kg-1" prediction_fig.data[ 1 - ].name = f"Optimised: {problem(result.x):.1f} W h kg-1" + ].name = ( + f"Optimised: {optimised_energy_density:.1f} W h kg-1" + ) prediction_fig.show() prediction_fig.write_image("figures/individual/design_prediction.pdf") diff --git a/papers/joss/param_plots.py b/papers/joss/param_plots.py index 298589b51..df5925dbc 100644 --- a/papers/joss/param_plots.py +++ b/papers/joss/param_plots.py @@ -101,7 +101,7 @@ dataset = pybop.Dataset( { "Time [s]": solution["Time [s]"].data, - "Current function [A]": solution["Current [A]"].data, + "Current [A]": solution["Current [A]"].data, "Voltage [V]": corrupt_values, } ) @@ -116,15 +116,13 @@ { "Contact resistance [Ohm]": pybop.Parameter( initial_value=initial_value[0], - prior=pybop.Gaussian(0.02, 0.005), + distribution=pybop.Gaussian(0.02, 0.005, truncated_at=[0.005, 0.025]), transformation=pybop.ScaledTransformation(coefficient=200), - bounds=[0.005, 0.025], ), "Negative particle diffusivity [m2.s-1]": pybop.Parameter( initial_value=initial_value[1], - prior=pybop.Gaussian(9e-14, 2e-14), + distribution=pybop.LogUniform(1.9e-14, 12e-14), transformation=pybop.LogTransformation(), - bounds=[1.9e-14, 12e-14], ), } ) @@ -293,22 +291,22 @@ first_MAP = True for cost in maximising_cost_classes: + # Define the cost and problem if cost is pybop.GaussianLogLikelihoodKnownSigma: - cost = cost(dataset, sigma0=sigma) + cost = cost(dataset, sigma=sigma) + problem = pybop.Problem(simulator, cost) elif cost is pybop.GaussianLogLikelihood: - cost = cost(dataset, sigma0=4 * sigma) + cost = cost(dataset, sigma=4 * sigma) + problem = pybop.Problem(simulator, cost) elif cost is pybop.LogPosterior and first_MAP: - cost = cost( - log_likelihood=pybop.GaussianLogLikelihoodKnownSigma( - dataset, sigma0=sigma - ) - ) + cost = pybop.GaussianLogLikelihoodKnownSigma(dataset, sigma=sigma) + problem = pybop.LogPosterior(simulator, cost) first_MAP = False elif cost is pybop.LogPosterior: - cost = cost(log_likelihood=pybop.GaussianLogLikelihood(dataset)) + cost = pybop.GaussianLogLikelihood(dataset) + problem = pybop.LogPosterior(simulator, cost) - # Define the problem and optimiser - problem = pybop.Problem(simulator, cost) + # Define the optimiser options = pybop.SciPyMinimizeOptions(maxiter=50, method="BFGS", jac=True) optim = pybop.SciPyMinimize(problem, options=options) @@ -785,26 +783,44 @@ if create_plot["posteriors"]: sigma0 = pybop.Parameter( initial_value=sigma, - prior=pybop.Uniform(1e-8 * sigma, 10 * sigma), bounds=[1e-8, 10 * sigma], ) - likelihood = pybop.GaussianLogLikelihood(dataset, sigma0=sigma0) - posterior = pybop.Problem(simulator, pybop.LogPosterior(likelihood)) + parameter_values2 = pybamm.ParameterValues("Chen2020") + parameter_values2["Contact resistance [Ohm]"] = 0.01 + parameter_values2.update( + { + "Contact resistance [Ohm]": pybop.Parameter( + initial_value=initial_value[0], + distribution=pybop.Gaussian(0.02, 0.005, truncated_at=[0.005, 0.025]), + transformation=pybop.ScaledTransformation(coefficient=200), + ), + "Negative particle diffusivity [m2.s-1]": pybop.Parameter( + initial_value=initial_value[1], + distribution=pybop.Gaussian( + 9e-14, 2e-14, truncated_at=[1.9e-14, 12e-14] + ), + ), + } + ) + simulator = pybop.pybamm.Simulator( + model, parameter_values=parameter_values2, protocol=dataset, solver=solver + ) + likelihood = pybop.GaussianLogLikelihood(dataset, sigma=sigma0) + posterior = pybop.LogPosterior(simulator, likelihood) options = pybop.PintsSamplerOptions( n_chains=5, max_iterations=3500, warm_up_iterations=1500, - cov=posterior.parameters.get_sigma0(transformed=True), ) sampler = pybop.HaarioBardenetACMC(posterior, options=options) result = sampler.run() print(result) print("True parameter values:", [true_value, sigma]) - summary = pybop.PosteriorSummary(result.chains) - print(summary.rhat()) - print(summary.effective_sample_size(mixed_chains=True)) + summary = result.get_summary_statistics() + print(result.rhat()) + print(result.effective_sample_size(mixed_chains=True)) # Create a grid for subplots fig = plt.figure(figsize=(15, 6)) @@ -822,7 +838,7 @@ def format_axis(ax): # Subplot for parameter 0 ax1 = fig.add_subplot(gs[0, 0]) ax1.hist( - summary.all_samples[:, 0], + result.all_samples[:, 0], bins=50, density=False, alpha=0.6, @@ -833,8 +849,8 @@ def format_axis(ax): ax1.set_ylim(0, 775) ax1.tick_params(axis="both", which="major", labelsize=tick_font_size) ax1.axvspan( - summary.get_summary_statistics()[("ci_lower")][0], - summary.get_summary_statistics()[("ci_upper")][0], + summary[("ci_lower")][0], + summary[("ci_upper")][0], alpha=0.1, color="tab:blue", ) @@ -844,7 +860,7 @@ def format_axis(ax): # Subplot for parameter 1 ax2 = fig.add_subplot(gs[0, 1]) ax2.hist( - summary.all_samples[:, 1], + result.all_samples[:, 1], bins=50, density=False, alpha=0.6, @@ -855,8 +871,8 @@ def format_axis(ax): ax2.set_ylim(0, 775) ax2.tick_params(axis="both", which="major", labelsize=tick_font_size) ax2.axvspan( - summary.get_summary_statistics()[("ci_lower")][1], - summary.get_summary_statistics()[("ci_upper")][1], + summary[("ci_lower")][1], + summary[("ci_upper")][1], alpha=0.1, color="tab:red", ) @@ -866,7 +882,7 @@ def format_axis(ax): # Subplot for sigma ax3 = fig.add_subplot(gs[0, 2]) ax3.hist( - summary.all_samples[:, 2], + result.all_samples[:, 2], bins=50, density=False, alpha=0.6, @@ -876,8 +892,8 @@ def format_axis(ax): ax3.set_ylim(0, 775) ax3.tick_params(axis="both", which="major", labelsize=tick_font_size) ax3.axvspan( - summary.get_summary_statistics()[("ci_lower")][2], - summary.get_summary_statistics()[("ci_upper")][2], + summary[("ci_lower")][2], + summary[("ci_upper")][2], alpha=0.1, color="tab:purple", ) From 4a4ef902c7c7161d234168b4e92ac20c5ad1886e Mon Sep 17 00:00:00 2001 From: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com> Date: Tue, 21 Jul 2026 22:14:38 +0100 Subject: [PATCH 2/4] Update plotting scripts --- papers/joss/design_plots.py | 9 +++++++-- papers/joss/param_plots.py | 6 ++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/papers/joss/design_plots.py b/papers/joss/design_plots.py index fa27a5e13..85872eb6b 100644 --- a/papers/joss/design_plots.py +++ b/papers/joss/design_plots.py @@ -1,5 +1,11 @@ -# A script to generate design optimisation plots for the JOSS paper. +""" +A script to generate design optimisation plots for the JOSS paper. +NOTE: The design optimisation plots that appear in Figure 8 of the paper were +unfortunately generated with a bug in simulator._create_experiment_simulation(). +PR 857 fixed and replaced this function with simulator.create_simulation(). +The two design plots in figures/individual were updated in July 2026. +""" import numpy as np import pybamm @@ -42,7 +48,6 @@ - Parameter("Positive electrode active material volume fraction"), "Cell mass [kg]": pybop.pybamm.cell_mass(), }, - check_already_exists=False, ) # Fitting parameters diff --git a/papers/joss/param_plots.py b/papers/joss/param_plots.py index df5925dbc..68b6323aa 100644 --- a/papers/joss/param_plots.py +++ b/papers/joss/param_plots.py @@ -1,5 +1,6 @@ -# A script to generate parameterisation plots for the JOSS paper. - +""" +A script to generate parameterisation plots for the JOSS paper. +""" import matplotlib.pyplot as plt import numpy as np @@ -439,6 +440,7 @@ optim.optimiser.b1 = 0.85 optim.optimiser.b2 = 0.9 optim.optimiser.lam = 0.005 + optim.optimiser._alpha = np.asarray([1.0, 0.22222222]) # noqa: SLF001 # retain the initial step size used for paper if optimiser is pybop.GradientDescent: optim.optimiser.set_learning_rate(eta=[11, 4.5]) From 06ee3c864001aa0be5abc82e4b7d60370c8d0e23 Mon Sep 17 00:00:00 2001 From: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com> Date: Tue, 21 Jul 2026 22:24:47 +0100 Subject: [PATCH 3/4] Update design plots --- papers/joss/figures/combined/design.pdf | Bin 33369 -> 38699 bytes .../figures/individual/design_gravimetric.pdf | Bin 18574 -> 23843 bytes .../figures/individual/design_prediction.pdf | Bin 17983 -> 18031 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/papers/joss/figures/combined/design.pdf b/papers/joss/figures/combined/design.pdf index 988e7a4d37434b2aa7106fa21c0fe332c816fef6..bc339c7f97cd8c51db1124a631eb901905d61fe8 100644 GIT binary patch delta 21789 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

5X^z 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%0AfXN$?cg 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°(Js?*@+E_IHo8I(E$NmL%+1+- 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 b`meo62`RA4HDx7QaZyp)%a@h4RcQYQHrMKx delta 7523 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 From 62fd833a33a5c300506cd17ef31e7441a2c9e7bf Mon Sep 17 00:00:00 2001 From: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com> Date: Tue, 21 Jul 2026 22:38:40 +0100 Subject: [PATCH 4/4] Update description --- papers/joss/design_plots.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/papers/joss/design_plots.py b/papers/joss/design_plots.py index c36faa27b..9b70bed8c 100644 --- a/papers/joss/design_plots.py +++ b/papers/joss/design_plots.py @@ -3,8 +3,9 @@ NOTE: The design optimisation plots that appear in Figure 8 of the paper were unfortunately generated with a bug in simulator._create_experiment_simulation(). -PR 857 fixed and replaced this function with simulator.create_simulation(). -The two design plots in figures/individual were updated in July 2026. +PR 857 fixed and replaced this function with simulator.create_simulation() in +January 2026. The two design plots in figures/individual and one in +figures/combined were updated in PR 966, July 2026. """ import numpy as np