Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
- Add a solver option to change `on_extrapolation` behavior to `"error"`, `"warn"`, or `"ignore"` on extrapolation events. ([#4993](https://github.com/pybamm-team/PyBaMM/pull/4993))
- Improve reliability of `CasadiAlgebraicSolver` and added an option for the `step_tol` of the Newton iteration. ([#4985](https://github.com/pybamm-team/PyBaMM/pull/4985))
- Speed up calculation of variable sensitivities in `ProcessedVariable` ([#5000](https://github.com/pybamm-team/PyBaMM/pull/5000))
- Added `print names` for variables in `equivalent circuit model` to make `latexify` output more readalbe. ([#4898](https://github.com/pybamm-team/PyBaMM/pull/4898))

## Bug fixes

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,11 @@ def get_coupled_variables(self, variables):
current = variables["Current [A]"]

ocv = variables["Open-circuit voltage [V]"]
ocv.print_name = "OCV"
T_cell = variables["Cell temperature [degC]"]

dUdT = self.param.dUdT(ocv, T_cell)
dUdT.print_name = r"\frac{du}{dt}"

T_cell_kelvin = variables["Cell temperature [K]"]
Q_rev = -current * T_cell_kelvin * dUdT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ def __init__(self, param, element_number, options=None):

def get_fundamental_variables(self):
vrc = pybamm.Variable(f"Element-{self.element_number} overpotential [V]")
vrc.print_name = "eta"
variables = {f"Element-{self.element_number} overpotential [V]": vrc}
return variables

Expand All @@ -35,7 +36,11 @@ def get_coupled_variables(self, variables):
r = self.param.rcr_element(
f"R{self.element_number} [Ohm]", T_cell, current, soc
)
c = self.param.rcr_element(f"C{self.element_number} [F]", T_cell, current, soc)
r.print_name = "R_1"
c = self.param.rcr_element(
"Capacitance of RC network [F]", T_cell, current, soc
)
c.print_name = "C_1"
tau = r * c

vrc = variables[f"Element-{self.element_number} overpotential [V]"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ def get_coupled_variables(self, variables):
soc = variables["SoC"]

r = self.param.rcr_element("R0 [Ohm]", T_cell, current, soc)
r.print_name = r"R_{0}"

overpotential = -current * r
Q_irr = current**2 * r
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@ def __init__(self, param, options=None):

def get_fundamental_variables(self):
T_cell = pybamm.Variable("Cell temperature [degC]")
T_cell.print_name = "T_cell"
T_jig = pybamm.Variable("Jig temperature [degC]")

T_jig.print_name = "T_jig"
# Note this is defined in deg C
T_amb = self.param.T_amb(pybamm.t)

Expand Down
12 changes: 10 additions & 2 deletions src/pybamm/parameters/ecm_parameters.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
class EcmParameters:
def __init__(self):
self.cell_capacity = pybamm.Parameter("Cell capacity [A.h]")
self.cell_capacity.print_name = "Q"
self.tau_D = pybamm.Parameter("Diffusion time constant [s]")

self._set_current_parameters()
Expand All @@ -16,17 +17,21 @@ def _set_current_parameters(self):
self.current_with_time = pybamm.FunctionParameter(
"Current function [A]", {"Time [s]": pybamm.t}
)
self.current_with_time.print_name = "I"

def _set_voltage_parameters(self):
self.voltage_high_cut = pybamm.Parameter("Upper voltage cut-off [V]")
self.voltage_low_cut = pybamm.Parameter("Lower voltage cut-off [V]")

def _set_thermal_parameters(self):
self.cth_cell = pybamm.Parameter("Cell thermal mass [J/K]")
self.cth_cell.print_name = "m_cell"
self.k_cell_jig = pybamm.Parameter("Cell-jig heat transfer coefficient [W/K]")

self.k_cell_jig.print_name = r"h_{cj}"
self.cth_jig = pybamm.Parameter("Jig thermal mass [J/K]")
self.cth_jig.print_name = "m_jig"
self.k_jig_air = pybamm.Parameter("Jig-air heat transfer coefficient [W/K]")
self.k_jig_air.print_name = r"h_{ja}"

def _set_compatibility_parameters(self):
# These are parameters that for compatibility with
Expand All @@ -39,8 +44,11 @@ def _set_compatibility_parameters(self):

def _set_initial_condition_parameters(self):
self.initial_soc = pybamm.Parameter("Initial SoC")
self.initial_soc.print_name = r"SoC_{0}"
self.initial_T_cell = pybamm.Parameter("Initial temperature [K]") - 273.15
self.initial_T_cell.print_name = "T_{init}"
self.initial_T_jig = pybamm.Parameter("Initial temperature [K]") - 273.15
self.initial_T_jig.print_name = "T_{init}"

def T_amb(self, t):
ambient_temperature_K = pybamm.FunctionParameter(
Expand All @@ -57,7 +65,7 @@ def rcr_element(self, name, T_cell, current, soc):
return pybamm.FunctionParameter(name, inputs)

def initial_rc_overpotential(self, element_number):
return pybamm.Parameter(f"Element-{element_number} initial overpotential [V]")
return pybamm.Parameter("eta_0")

def dUdT(self, ocv, T_cell):
inputs = {"Open-circuit voltage [V]": ocv, "Cell temperature [degC]": T_cell}
Expand Down