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

#
# Submodel for uniform convection in transverse directions
#
import pybamm

from .base_transverse_convection import BaseTransverseModel


[docs] class Uniform(BaseTransverseModel): """ Submodel for uniform convection in transverse directions Parameters ---------- param : parameter class The parameters to use for this submodel """ def __init__(self, param): super().__init__(param)
[docs] def get_fundamental_variables(self): p_s = pybamm.PrimaryBroadcast(0, "current collector") variables = self._get_standard_separator_pressure_variables(p_s) return variables
[docs] def get_coupled_variables(self, variables): # Set up z = pybamm.standard_spatial_vars.z # Difference in negative and positive electrode velocities determines the # velocity in the separator i_boundary_cc = variables["Current collector current density [A.m-2]"] v_box_n_right = -self.param.n.DeltaV * i_boundary_cc / self.param.F v_box_p_left = -self.param.p.DeltaV * i_boundary_cc / self.param.F d_vbox_s_dx = (v_box_p_left - v_box_n_right) / self.param.s.L # Simple formula for velocity in the separator div_Vbox_s = -d_vbox_s_dx variables.update( self._get_standard_transverse_velocity_variables(div_Vbox_s, "acceleration") ) Vbox_s = pybamm.IndefiniteIntegral(div_Vbox_s, z) variables.update( self._get_standard_transverse_velocity_variables(Vbox_s, "velocity") ) return variables