pybop.problems.design_problem#

Classes#

DesignProblem

Problem class for design optimization problems.

Module Contents#

class pybop.problems.design_problem.DesignProblem(model: pybop.BaseModel, parameters: pybop.Parameters, experiment: pybop.Experiment | None, check_model: bool = True, signal: list[str] | None = None, additional_variables: list[str] | None = None, initial_state: dict | None = None, update_capacity: bool = False)[source]#

Bases: pybop.BaseProblem

Problem class for design optimization problems.

Extends BaseProblem with specifics for applying a model to an experimental design.

Parameters:
  • model (object) – The model to apply the design to.

  • parameters (pybop.Parameter or pybop.Parameters) – An object or list of the parameters for the problem.

  • experiment (object) – The experimental setup to apply the model to.

  • check_model (bool, optional) – Flag to indicate if the model parameters should be checked for feasibility each iteration (default: True).

  • signal (str, optional) – The signal to fit (default: “Voltage [V]”).

  • additional_variables (list[str], optional) – Additional variables to observe and store in the solution (default additions are: [“Time [s]”, “Current [A]”]).

  • initial_state (dict, optional) – A valid initial state (default: {“Initial SoC”: 1.0}).

  • update_capacity (bool, optional) – If True, the nominal capacity is updated with an approximate value for each design.

evaluate(inputs: pybop.parameters.parameter.Inputs)[source]#

Evaluate the model with the given parameters and return the signal.

Parameters:

inputs (Inputs) – Parameters for evaluation of the model.

Returns:

y – The model output y(t) simulated with inputs.

Return type:

np.ndarray

set_initial_state(initial_state: dict)[source]#

Set the initial state to be applied to evaluations of the problem.

Parameters:

initial_state (dict, optional) – A valid initial state (default: None).

_dataset = None[source]#
_domain_data[source]#
_target[source]#
additional_variables[source]#
experiment[source]#
update_capacity = False[source]#
warning_patterns = ['Ah is greater than', 'Non-physical point encountered'][source]#