def METHOD_NAME(self, model, t_eval):
    """
    Return a compiled JAX function that solves an ode model with input arguments.
    Parameters
    ----------
    model : :class:`pybamm.BaseModel`
        The model whose solution to calculate.
    t_eval : :class:`numpy.array`, size (k,)
        The times at which to compute the solution
    Returns
    -------
    function
        A function with signature `f(inputs)`, where inputs are a dict containing
        any input parameters to pass to the model when solving
    """
    if model not in self._cached_solves:
        if model not in self._model_set_up:
            raise RuntimeError(
                "Model is not set up for solving, run" "`solver.solve(model)` first"
            )
        self._cached_solves[model] = self.create_solve(model, t_eval)
    return self._cached_solves[model]