Source code for pybamm.models.submodels.interface.kinetics.inverse_kinetics.inverse_butler_volmer

#
# Inverse Butler-Volmer class
#
import pybamm

from .base_inverse import BaseInverseKinetics


[docs] class InverseButlerVolmer(BaseInverseKinetics): """ Submodel which implements the inverted form of the Butler-Volmer relation to solve for the reaction overpotential. Parameters ---------- param Model parameters domain : iter of str, optional The domain(s) in which to compute the interfacial current. reaction : str The name of the reaction being implemented options: dict A dictionary of options to be passed to the model. In this case "SEI film resistance" is the important option. See :class:`pybamm.BaseBatteryModel` """ def _get_overpotential(self, j, j0, ne, T, u): # Use a specialized arcsinh2(a,b) = arcsinh(a/b) to avoid division by zero # errors when j0 is close to zero return (2 * (self.param.R * T) / self.param.F / ne) * pybamm.arcsinh2( j, 2 * j0 * u )