From 0526bda486d43ec59c9cddb1283a08ab2510602b Mon Sep 17 00:00:00 2001
From: Pablo Piskunow <pablo.perez.piskunow@gmail.com>
Date: Thu, 25 Jun 2020 15:31:22 +0200
Subject: [PATCH] translate to_fd the sites before checking neighbors

---
 kwant/builder.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/kwant/builder.py b/kwant/builder.py
index 5608e7bd..396784c5 100644
--- a/kwant/builder.py
+++ b/kwant/builder.py
@@ -886,7 +886,7 @@ class Builder:
         Sites are considered as dangling when less than two hoppings
         lead to them.
         """
-        tfd = self.symmetry.to_fd
+        to_fd = self.symmetry.to_fd
         sites = list(site for site in self.H
                      if self._out_degree(site) < 2)
 
@@ -894,6 +894,8 @@ class Builder:
             if site not in self.H:
                 continue
             while site:
+                if site not in self.H:
+                    site = to_fd(site)
                 neighbors = tuple(self._out_neighbors(site))
                 if neighbors:
                     assert len(neighbors) == 1
@@ -904,8 +906,8 @@ class Builder:
                         if self._out_degree(neighbor) > 1:
                             neighbor = False
                     else:
-                        self._del_edge(*tfd(neighbor, site))
-                        if self._out_degree(tfd(neighbor)) > 1:
+                        self._del_edge(*to_fd(neighbor, site))
+                        if self._out_degree(to_fd(neighbor)) > 1:
                             neighbor = False
                 else:
                     neighbor = False
-- 
GitLab