Source code for pybamm.models.submodels.interface.sei.no_sei

#
# Class for no SEI
#
import pybamm

from .base_sei import BaseModel


[docs] class NoSEI(BaseModel): """ Class for no SEI. Parameters ---------- param : parameter class The parameters to use for this submodel options : dict A dictionary of options to be passed to the model. phase : str, optional Phase of the particle (default is "primary") cracks : bool, optional Whether this is a submodel for standard SEI or SEI on cracks """ def __init__(self, param, domain, options, phase="primary", cracks=False): super().__init__(param, domain, options=options, phase=phase, cracks=cracks) if self.options.electrode_types[domain] == "planar": self.reaction_loc = "interface" else: self.reaction_loc = "full electrode"
[docs] def get_fundamental_variables(self): domain = self.domain.lower() if self.reaction_loc == "interface": zero = pybamm.PrimaryBroadcast(pybamm.Scalar(0), "current collector") elif self.size_distribution: zero = pybamm.FullBroadcast( pybamm.Scalar(0), f"{domain} {self.phase_name}particle size", {"secondary": f"{domain} electrode", "tertiary": "current collector"}, ) else: zero = pybamm.FullBroadcast( pybamm.Scalar(0), f"{domain} electrode", "current collector" ) variables = self._get_standard_concentration_variables(zero) if self.size_distribution: variables.update(self._get_standard_reaction_distribution_variables(zero)) variables.update( self._get_standard_size_distribution_interfacial_current_variables(zero) ) else: variables.update(self._get_standard_reaction_variables(zero)) variables.update(self._get_standard_interfacial_current_variables(zero)) return variables