Previous topic

Experiments

Next topic

Simulation

This Page

Base Experiment Class

class pybamm.Experiment(operating_conditions, parameters=None, period='1 minute')[source]

Base class for experimental conditions under which to run the model. In general, a list of operating conditions should be passed in. Each operating condition should be of the form “Do this for this long” or “Do this until this happens”. For example, “Charge at 1 C for 1 hour”, or “Charge at 1 C until 4.2 V”, or “Charge at 1 C for 1 hour or until 4.2 V”. The instructions can be of the form “(Dis)charge at x A/C/W”, “Rest”, or “Hold at x V”. The running time should be a time in seconds, minutes or hours, e.g. “10 seconds”, “3 minutes” or “1 hour”. The stopping conditions should be a circuit state, e.g. “1 A”, “C/50” or “3 V”.

Parameters:
  • operating_conditions (list) – List of operating conditions
  • parameters (dict) – Dictionary of parameters to use for this experiment, replacing default parameters as appropriate
  • period (string, optional) – Period (1/frequency) at which to record outputs. Default is 1 minute. Can be overwritten by individual operating conditions.
convert_electric(electric)[source]

Convert electrical instructions to consistent output

convert_time_to_seconds(time_and_units)[source]

Convert a time in seconds, minutes or hours to a time in seconds

read_operating_conditions(operating_conditions)[source]

Convert operating conditions to the appropriate format

Parameters:operating_conditions (list) – List of operating conditions
Returns:operating_conditions – Operating conditions in the tuple format
Return type:list
read_string(cond)[source]

Convert a string to a tuple of the right format

Parameters:cond (str) – String of appropriate form for example “Charge at x C for y hours”. x and y must be numbers, ‘C’ denotes the unit of the external circuit (can be A for current, C for C-rate, V for voltage or W for power), and ‘hours’ denotes the unit of time (can be second(s), minute(s) or hour(s))