From 8e59209acf4c711ded34ec15ce0e9cf4f1383cd9 Mon Sep 17 00:00:00 2001 From: Joseph Weston <joseph@weston.cloud> Date: Tue, 1 Oct 2019 11:54:12 +0200 Subject: [PATCH] add guards in functionality that does not work for vectorized Builders --- kwant/builder.py | 4 ++++ kwant/wraparound.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/kwant/builder.py b/kwant/builder.py index abf1cc69..9a0bfcff 100644 --- a/kwant/builder.py +++ b/kwant/builder.py @@ -1875,6 +1875,10 @@ def add_peierls_phase(syst, peierls_parameter='phi', fix_gauge=True): return f + if syst.vectorize: + raise TypeError("'add_peierls_phase' does not work with " + "vectorized Builders") + ret = _add_peierls_phase(syst, peierls_parameter).finalized() if fix_gauge: diff --git a/kwant/wraparound.py b/kwant/wraparound.py index 08efec8c..e5688bab 100644 --- a/kwant/wraparound.py +++ b/kwant/wraparound.py @@ -183,6 +183,9 @@ def wraparound(builder, keep=None, *, coordinate_names='xyz'): f.__signature__ = inspect.Signature(params.values()) return f + if builder.vectorize: + raise TypeError("'wraparound' does not work with vectorized Builders.") + try: momenta = ['k_{}'.format(coordinate_names[i]) for i in range(len(builder.symmetry.periods))] -- GitLab