Skip to content

Commit 1319b4a

Browse files
authored
Fix InputParameter serialisation (#5289)
* fix `InputParameter` serialisation * Update CHANGELOG.md
1 parent 385ae7b commit 1319b4a

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
## Bug fixes
66

7+
- Fix a bug with serialising `InputParameter`s. ([#5289](https://github.com/pybamm-team/PyBaMM/pull/5289))
8+
79
# [v25.10.1](https://github.com/pybamm-team/PyBaMM/tree/v25.10.1) - 2025-11-14
810

911
## Features

src/pybamm/expression_tree/operations/serialise.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1625,6 +1625,8 @@ def convert_symbol_from_json(json_data):
16251625
elif json_data["type"] == "Parameter":
16261626
# Convert stored parameters back to PyBaMM Parameter objects
16271627
return pybamm.Parameter(json_data["name"])
1628+
elif json_data["type"] == "InputParameter":
1629+
return pybamm.InputParameter(json_data["name"])
16281630
elif json_data["type"] == "Scalar":
16291631
# Convert stored numerical values back to PyBaMM Scalar objects
16301632
return pybamm.Scalar(json_data["value"])

tests/unit/test_serialisation/test_serialisation.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,14 @@ def test_serialise_time(self):
617617
t2 = convert_symbol_from_json(j)
618618
assert isinstance(t2, pybamm.Time)
619619

620+
def test_serialise_input_parameter(self):
621+
"""Test InputParameter serialization and deserialization."""
622+
ip = pybamm.InputParameter("test_param")
623+
j = convert_symbol_to_json(ip)
624+
ip_restored = convert_symbol_from_json(j)
625+
assert isinstance(ip_restored, pybamm.InputParameter)
626+
assert ip_restored.name == "test_param"
627+
620628
def test_convert_symbol_to_json_with_number_and_list(self):
621629
for val in (0, 3.14, -7, True):
622630
out = convert_symbol_to_json(val)

0 commit comments

Comments
 (0)