diff --git a/kwant/continuum/discretizer.py b/kwant/continuum/discretizer.py index 44788ecd6031a5095b7282c47f5c5467cc1a6c05..5f8705b6e9466b088068a3276f0984a5ff8c7e23 100644 --- a/kwant/continuum/discretizer.py +++ b/kwant/continuum/discretizer.py @@ -405,7 +405,7 @@ def _discretize_expression(expression, coords): def _extract_hoppings(expr): """Read hoppings and perform shortening operation.""" expr = sympy.expand(expr) - summands = expr.args if expr.func == sympy.Add else [expr] + summands = expr.as_ordered_terms() offset = [_read_offset(s.args[-1]) for s in summands] coeffs = [sympy.Mul(*s.args[:-1]) for s in summands]