def divergence(self, symbol, discretised_symbol, boundary_conditions):
    '\n        Implements the divergence for a spatial method.\n\n        Parameters\n        ----------\n        symbol: :class:`pybamm.Symbol`\n            The symbol that we will take the gradient of.\n        discretised_symbol: :class:`pybamm.Symbol`\n            The discretised symbol of the correct size\n        boundary_conditions : dict\n            The boundary conditions of the model\n            ({symbol.id: {"left": left bc, "right": right bc}})\n\n        Returns\n        -------\n        :class: `pybamm.Array`\n            Contains the result of acting the discretised divergence on\n            the child discretised_symbol\n        '
    raise NotImplementedError
Implements the divergence for a spatial method.

Parameters
----------
symbol: :class:`pybamm.Symbol`
    The symbol that we will take the gradient of.
discretised_symbol: :class:`pybamm.Symbol`
    The discretised symbol of the correct size
boundary_conditions : dict
    The boundary conditions of the model
    ({symbol.id: {"left": left bc, "right": right bc}})

Returns
-------
:class: `pybamm.Array`
    Contains the result of acting the discretised divergence on
    the child discretised_symbol
def divergence(self, symbol, discretised_symbol, boundary_conditions):
    '\n        Implements the divergence for a spatial method.\n\n        Parameters\n        ----------\n        symbol: :class:`pybamm.Symbol`\n            The symbol that we will take the gradient of.\n        discretised_symbol: :class:`pybamm.Symbol`\n            The discretised symbol of the correct size\n        boundary_conditions : dict\n            The boundary conditions of the model\n            ({symbol.id: {"left": left bc, "right": right bc}})\n\n        Returns\n        -------\n        :class: `pybamm.Array`\n            Contains the result of acting the discretised divergence on\n            the child discretised_symbol\n        '
    raise NotImplementedError