From 06749ab56bb63e59c1dcad6fa6293395fdd9666a Mon Sep 17 00:00:00 2001 From: Christoph Groth <christoph.groth@cea.fr> Date: Wed, 17 May 2017 14:34:42 +0200 Subject: [PATCH] builder: for now, reset builder after a failed fill/attach_lead --- kwant/builder.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/kwant/builder.py b/kwant/builder.py index b07409f2..137114ef 100644 --- a/kwant/builder.py +++ b/kwant/builder.py @@ -1349,9 +1349,11 @@ class Builder: done.append(tail) if len(done) > max_sites: # The graph has unbalanced edges: delete it. - del self.H + self.H = {} + self.leads = [] raise RuntimeError("Maximal number of sites (max_sites " - "parameter of fill()) added.") + "parameter of fill()) added.\n" + "All sites have been deleted.") # Make an iterator over head-value-pairs. shift = templ_sym.which(tail) @@ -1497,8 +1499,10 @@ class Builder: def shape(site): domain, = sym.which(site) if domain < min_dom: + self.H = {} raise ValueError('Builder does not interrupt the lead,' - ' this lead cannot be attached.') + ' this lead cannot be attached.\n' + 'All sites have been deleted.') return domain <= max_dom + 1 # We start flood-fill from the first domain that doesn't belong to the -- GitLab