Source code for pybamm.models.submodels.convection.transverse.base_transverse_convection

#
# Base class for convection submodels in transverse directions
#
import pybamm
from pybamm.models.submodels.convection.base_convection import BaseModel


[docs] class BaseTransverseModel(BaseModel): """Base class for convection submodels in transverse directions. Parameters ---------- param : parameter class The parameters to use for this submodel options : dict, optional A dictionary of options to be passed to the model. """ def __init__(self, param, options=None): super().__init__(param, options=options) def _get_standard_separator_pressure_variables(self, p_s): """Pressure in the separator""" variables = { "Separator pressure [Pa]": pybamm.PrimaryBroadcast(p_s, "separator"), "X-averaged separator pressure [Pa]": p_s, } return variables def _get_standard_transverse_velocity_variables(self, var_s_av, typ): """Vertical acceleration in the separator""" if typ == "velocity": typ += " [m.s-1]" elif typ == "acceleration": typ += " [m.s-2]" var_dict = {} variables = {} for domain in self.options.whole_cell_domains: if domain == "separator": var_k_av = var_s_av else: var_k_av = pybamm.PrimaryBroadcast(0, "current collector") var_k = pybamm.PrimaryBroadcast(var_k_av, domain) var_dict[domain] = var_k variables.update( { f"{domain} transverse volume-averaged {typ}": var_k, f"X-averaged {domain} transverse volume-averaged {typ}": var_k_av, } ) var = pybamm.concatenation(*var_dict.values()) variables.update({f"Transverse volume-averaged {typ}": var}) return variables