def METHOD_NAME(self, **kwargs):
    """
    Evaluate the Equation or system of Equations.
    The RHS of the Equation is evaluated at the indices of the LHS if required.
    """
    try:
        lhs = self.lhs.METHOD_NAME(**kwargs)
        rhs = self.rhs._eval_at(self.lhs).METHOD_NAME(**kwargs)
    except AttributeError:
        lhs, rhs = self._evaluate_args(**kwargs)
    eq = self.func(lhs, rhs, subdomain=self.subdomain,
                   coefficients=self.substitutions,
                   implicit_dims=self._implicit_dims)
    if eq._uses_symbolic_coefficients:
        # NOTE: As Coefficients.py is expanded we will not want
        # all rules to be expunged during this procress.
        rules = default_rules(eq, eq._symbolic_functions)
        try:
            eq = eq.xreplace({**eq.substitutions.rules, **rules})
        except AttributeError:
            if bool(rules):
                eq = eq.xreplace(rules)
    return eq