Changing conditions¶
In this example we will simulate different ambient temperature conditions.
In [1]:
Copied!
from breathe_design import api_interface as api
from breathe_design import Cycler
from breathe_design import enable_notebook_plotly
enable_notebook_plotly()
from breathe_design import api_interface as api
from breathe_design import Cycler
from breathe_design import enable_notebook_plotly
enable_notebook_plotly()
Get the design parameters and equilibrium KPIs for the Molicel P45B.
In [2]:
Copied!
base_params = api.get_design_parameters("Molicel P45B")
results = api.get_eqm_kpis("Molicel P45B")
baseline_capacity = results.capacity
base_params = api.get_design_parameters("Molicel P45B")
results = api.get_eqm_kpis("Molicel P45B")
baseline_capacity = results.capacity
Now lets set up a cycler for 1C charge up to 4.2 V.
In [3]:
Copied!
cycler = Cycler(selected_unit="C", cell_capacity=baseline_capacity)
cycler_dict = cycler.cc_chg(1.0, 4.2)
print(cycler_dict)
cycler = Cycler(selected_unit="C", cell_capacity=baseline_capacity)
cycler_dict = cycler.cc_chg(1.0, 4.2)
print(cycler_dict)
{'cycle_type': 'CC_CHG', 'selected_unit': 'C', 'control_parameters': {'I_chg': 1.0, 'V_max': 4.2}}
Now we can run a batch of simulations for different ambient temperature breakpoints. We can also define the initial temperature to be different to the ambient temperature.
In [4]:
Copied!
output = api.run_sim(
base_battery="Molicel P45B",
cycler=cycler_dict,
designs=[],
initialSoC=0.5,
initialTemperature_degC=20.0,
ambientTemperature_degC=[15.0, 25.0],
)
output = api.run_sim(
base_battery="Molicel P45B",
cycler=cycler_dict,
designs=[],
initialSoC=0.5,
initialTemperature_degC=20.0,
ambientTemperature_degC=[15.0, 25.0],
)
In [5]:
Copied!
output.plot_dynamic_response("Cell temperature [°C]")
output.plot_dynamic_response("Cell temperature [°C]")