Source code for pybamm.models.submodels.transport_efficiency.heterogeneous_catalyst

#
# Class for heterogeneous catalyst transport_efficiency
#
import pybamm

from .base_transport_efficiency import BaseModel


[docs] class HeterogeneousCatalyst(BaseModel): """Submodel for Heterogeneous Catalyst transport_efficiency :footcite:t:`Beeckman1990`, :footcite:t:`Shen2007` Parameters ---------- param : parameter class The parameters to use for this submodel component : str The material for the model ('electrolyte' or 'electrode'). options : dict, optional A dictionary of options to be passed to the model. """ def __init__(self, param, component, options=None): super().__init__(param, component, options=options)
[docs] def get_coupled_variables(self, variables): pybamm.citations.register("Shen2007") pybamm.citations.register("Beeckman1990") if self.component == "Electrolyte": tor_dict = {} for domain in self.options.whole_cell_domains: Domain = domain.capitalize() eps_k = variables[f"{Domain} porosity"] tor_k = eps_k / (1 - (1 - eps_k) ** (1 / 3)) tor_dict[domain] = tor_k elif self.component == "Electrode": tor_dict = {} for domain in self.options.whole_cell_domains: if domain == "separator": tor_k = pybamm.FullBroadcast(0, "separator", "current collector") else: Domain = domain.capitalize() phi_k = 1 - variables[f"{Domain} porosity"] tor_k = phi_k / (1 - (1 - phi_k) ** (1 / 3)) tor_dict[domain] = tor_k variables.update(self._get_standard_transport_efficiency_variables(tor_dict)) return variables