Skip to content

Commit

Permalink
Remove unused _unprocessed_parameter_set
Browse files Browse the repository at this point in the history
  • Loading branch information
NicolaCourtier committed Jul 16, 2024
1 parent 9d461a1 commit 5c370f5
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 29 deletions.
37 changes: 14 additions & 23 deletions pybop/models/base_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -180,10 +180,6 @@ def set_params(self, rebuild=False, dataset=None):
if self.model_with_set_params and not rebuild:
return

# Mark any simulation inputs in the parameter set
for key in self.standard_parameters.keys():
self._parameter_set[key] = "[input]"

if dataset is not None and (not self.rebuild_parameters or not rebuild):
if (
self.parameters is None
Expand All @@ -206,7 +202,6 @@ def rebuild(
self,
dataset: Optional[Dataset] = None,
parameters: Union[Parameters, dict] = None,
parameter_set: Optional[ParameterSet] = None,
check_model: bool = True,
init_soc: Optional[float] = None,
) -> None:
Expand All @@ -224,9 +219,6 @@ def rebuild(
The dataset to be used in the model construction.
parameters : pybop.Parameters or Dict, optional
A pybop Parameters class or dictionary containing parameter values to apply to the model.
parameter_set : pybop.ParameterSet, optional
A PyBOP ParameterSet, PyBaMM ParameterValues object or a dictionary containing the
parameter values.
check_model : bool, optional
If True, the model will be checked for correctness after construction.
init_soc : float, optional
Expand Down Expand Up @@ -260,36 +252,35 @@ def classify_and_update_parameters(self, parameters: Parameters):
Parameters
----------
parameters : pybop.Parameters
The input parameters.
"""
if parameters is None:
self.parameters = Parameters()
else:
self.parameters = parameters

parameter_dictionary = self.parameters.as_dict()
self.parameters = parameters
inputs = self.parameters.as_dict()

rebuild_parameters = {
param: parameter_dictionary[param]
for param in parameter_dictionary
param: inputs[param]
for param in inputs
if param in self.geometric_parameters
}
standard_parameters = {
param: parameter_dictionary[param]
for param in parameter_dictionary
param: inputs[param]
for param in inputs
if param not in self.geometric_parameters
}

self.rebuild_parameters.update(rebuild_parameters)
self.standard_parameters.update(standard_parameters)

# Update the parameter set and geometry for rebuild parameters
# Mark any standard parameters as inputs in the parameter set
for key in self.standard_parameters.keys():
self._parameter_set[key] = "[input]"

# Update the rebuild parameters in the parameter set and geometry
if self.rebuild_parameters:
self._parameter_set.update(self.rebuild_parameters)
self._unprocessed_parameter_set = self._parameter_set
self.geometry = self.pybamm_model.default_geometry

# Update the list of parameter names and number of parameters
# Update the number of parameters
self._n_parameters = len(self.parameters)

def reinit(
Expand Down Expand Up @@ -565,7 +556,7 @@ def predict(
if not self.pybamm_model._built:
self.pybamm_model.build_model()

parameter_set = parameter_set or self._unprocessed_parameter_set
parameter_set = parameter_set or self._parameter_set
if inputs is not None:
parameter_set.update(inputs)

Expand Down
6 changes: 3 additions & 3 deletions pybop/models/empirical/base_ecm.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ def __init__(
super().__init__(name=name, parameter_set=parameter_set)

# Set parameters, using either the provided ones or the default
self.default_parameter_values = self.pybamm_model.default_parameter_values
self._parameter_set = self._parameter_set or self.default_parameter_values
self._unprocessed_parameter_set = self._parameter_set
self._parameter_set = (
self._parameter_set or self.pybamm_model.default_parameter_values.copy()
)

# Define model geometry and discretization
self.geometry = geometry or self.pybamm_model.default_geometry
Expand Down
6 changes: 3 additions & 3 deletions pybop/models/lithium_ion/base_echem.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ def __init__(
self._unprocessed_model = self.pybamm_model

# Set parameters, using either the provided ones or the default
self.default_parameter_values = self.pybamm_model.default_parameter_values
self._parameter_set = self._parameter_set or self.default_parameter_values
self._unprocessed_parameter_set = self._parameter_set
self._parameter_set = (
self._parameter_set or self.pybamm_model.default_parameter_values.copy()
)

# Define model geometry and discretization
self.geometry = geometry or self.pybamm_model.default_geometry
Expand Down

0 comments on commit 5c370f5

Please sign in to comment.