Changing conditions¶
In this example we will simulate different ambient temperature conditions.
In [11]:
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 [12]:
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
🔐 No active session. Please sign in to continue. 🚀 Open this URL in a browser and verify the code shown is MPWM-GNJL 🔗 https://breathe-platform.uk.auth0.com/activate?user_code=MPWM-GNJL ⏳ Waiting for user authorization... ✅ Authentication successful!
Now lets set up a cycler for 1C charge up to 4.2 V.
In [13]:
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 [14]:
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 [15]:
Copied!
output.plot_dynamic_response("tempSurfaceModel")
output.plot_dynamic_response("tempSurfaceModel")
In [ ]:
Copied!