sox.plant.protocol¶
Module Contents¶
Classes¶
Utility for PyBaMM Experiment object |
Functions¶
|
Appends the steps of multiple experiments into a single list of steps |
|
Appends multiple experiments into a single experiment |
|
Constant current charge, constant voltage hold, rest cycling protocol |
|
Constant current discharge, rest cycling protocol |
|
Charge and discharge cycling protocol |
|
Single pulse then rest protocol |
|
Single pulse train protocol |
|
Multi pulse train protocol |
|
Dynamically stress test schedule from USABC manual |
- class sox.plant.protocol.Experiment(*args, **kwargs)¶
Bases:
pybamm.ExperimentUtility for PyBaMM Experiment object
- sox.plant.protocol.append_steps(*experiments: Experiment) list¶
Appends the steps of multiple experiments into a single list of steps
- sox.plant.protocol.append_experiments(*experiments: Experiment) Experiment¶
Appends multiple experiments into a single experiment
- sox.plant.protocol.cc_charge_cv_rest(c_rate: float = 1, max_voltage: float = 4.1, cv_hold_c_rate_limit: float = 0.05, rest_time_h: float = 0.5, sampling_time_s: float = 1) Experiment¶
Constant current charge, constant voltage hold, rest cycling protocol
- Parameters:
c_rate (float) – Charge rate (C).
max_voltage (float) – Maximum voltage (V).
cv_hold_c_rate_limit (float) – C-rate limit for CV hold (C).
rest_time_h (float) – Rest time (h).
sampling_time_s (float) – Sampling time (s).
- Returns:
PyBaMM experiment object.
- Return type:
- sox.plant.protocol.cc_discharge_rest(c_rate: float = 1, min_voltage: float = 3.3, rest_time_h: float = 0.5, sampling_time_s: float = 1) Experiment¶
Constant current discharge, rest cycling protocol
- Parameters:
c_rate (float) – Discharge rate (C).
min_voltage (float) – Minimum voltage (V).
rest_time_h (float) – Rest time (h).
sampling_time_s (float) – Sampling time (s).
- sox.plant.protocol.charge_discharge_cycling(chg_c_rate: float = 1, max_chg_voltage: float = 4.1, chg_cv_hold_c_rate_limit: float = 0.05, chg_rest_time_h: float = 0.5, dchg_c_rate: float = 1, min_dchg_voltage: float = 3.3, dchg_rest_time_h: float = 0.5, direction: Literal[charge_discharge_cycling.charge, charge_discharge_cycling.discharge] = 'discharge', number_of_cycles: int = 1, sampling_time_s: float = 1) Experiment¶
Charge and discharge cycling protocol
- Parameters:
chg_c_rate (float) – Charge rate (C).
max_chg_voltage (float) – Maximum voltage (V).
chg_cv_hold_c_rate_limit (float) – C-rate limit for CV hold (C).
chg_rest_time_h (float) – Rest time (h).
dchg_c_rate (float) – Discharge rate (C).
min_dchg_voltage (float) – Minimum voltage (V).
dchg_rest_time_h (float) – Rest time (h).
direction (str) – Direction of cycling, either ‘charge’ or ‘discharge’. Defaults to ‘discharge’.
number_of_cycles (int) – Number of cycles.
sampling_time_s (float) – Sampling time (s).
- sox.plant.protocol.single_pulse(direction: Literal[charge, discharge] = 'discharge', c_rate: float = 1, pulse_time_sec: float = 60, pulse_rest_time_sec: float = 600, sampling_time_s: float = 1) Experiment¶
Single pulse then rest protocol
- Parameters:
direction (str) – Direction of pulse, either ‘charge’ or ‘discharge’. Defaults to ‘discharge’.
c_rate (float) – C-rate of pulse (C).
pulse_time_sec (float) – Pulse time (s).
pulse_rest_time_sec (float) – Rest time (s).
sampling_time_s (float) – Sampling time (s).
- sox.plant.protocol.single_pulse_train(direction: Literal[charge, discharge] = 'discharge', c_rate: float = 1, pulse_time_sec: float = 60, pulse_rest_time_sec: float = 600, number_of_pulses: int = 20, sampling_time_s: float = 1) Experiment¶
Single pulse train protocol
- Parameters:
direction (str) – Direction of pulse, either ‘charge’ or ‘discharge’. Defaults to ‘discharge’.
c_rate (float) – C-rate of pulse (C).
pulse_time_sec (float) – Pulse time (s).
pulse_rest_time_sec (float) – Rest time (s).
number_of_pulses (int) – Number of pulses.
sampling_time_s (float) – Sampling time (s).
- sox.plant.protocol.multi_pulse_train(direction=None, c_rate=None, pulse_time_sec=None, pulse_rest_time_sec=None, number_of_pulses: int = 1, sampling_time_s: float = 1) Experiment¶
Multi pulse train protocol
- Parameters:
direction (list) – List of directions of pulses, either ‘charge’ or ‘discharge’. Defaults to ‘discharge’.
c_rate (list) – List of C-rates of pulses (C).
pulse_time_sec (list) – List of pulse times (s).
pulse_rest_time_sec (list) – List of rest times (s).
number_of_pulses (int) – Number of pulses.
sampling_time_s (float) – Sampling time (s).
- sox.plant.protocol.dst_schedule(peak_power: float, number_of_cycles: int = 1, sampling_time_s: float = 1)¶
Dynamically stress test schedule from USABC manual
- Parameters:
peak_power (float) – Peak power (W).
number_of_cycles (int) – Number of cycles.
sampling_time_s (float) – Sampling time (s).
References
Electric Vehicle Battery Test Procedures Manual Revision 2.0 https://avt.inl.gov/sites/default/files/pdf/battery/usabc_manual_rev2.pdf