diff --git a/kwant/builder.py b/kwant/builder.py index 5b053b01b9ac0436d7a92ffeba2886716d6dfb3d..93e7e2b8f5b3fed165dbd61312c6ba2e10723876 100644 --- a/kwant/builder.py +++ b/kwant/builder.py @@ -442,6 +442,17 @@ class HoppingKind(tuple): else: ensure_isinstance(family_b, SiteFamily) family_b = family_b + + try: + Site(family_b, family_a.normalize_tag(delta) - delta) + except Exception as e: + same_fams = family_b is family_a + msg = (str(family_a), + 'and {} are'.format(family_b) if not same_fams else ' is', + 'not compatible with delta={}'.format(delta), + ) + raise ValueError(' '.join(msg)) from e + return tuple.__new__(cls, (delta, family_a, family_b)) def __call__(self, builder):