Skip to content
Snippets Groups Projects

Builder fixes

Merged Kostas Vilkelis requested to merge builder_fixes into main
All threads resolved!
1 file
+ 11
12
Compare changes
  • Side-by-side
  • Inline
+ 11
12
@@ -16,27 +16,26 @@ def test_kwant_conversion(seed):
ndim = np.random.randint(1, 3)
cutoff = np.random.randint(1, 3)
sites_in_cell = np.random.randint(1, 4)
ndof_per_site = [np.random.randint(1, 5) for site in range(sites_in_cell)]
ndof_per_site = [np.random.randint(1, 4) for site in range(sites_in_cell)]
keyList = generate_tb_keys(cutoff, ndim)
n_cells = np.random.randint(4)
vecs = np.random.rand(ndim, ndim)
# set a dummy lattice to read sites from
lattice = kwant.lattice.general(
np.random.rand(ndim, ndim),
basis=np.random.rand(sites_in_cell, ndim),
vecs,
basis=np.random.rand(sites_in_cell, ndim) @ vecs,
norbs=ndof_per_site,
)
dummy_tb = kwant.Builder(kwant.TranslationalSymmetry(*n_cells * lattice.prim_vecs))
for site in range(sites_in_cell):
for i, sublattice in enumerate(lattice.sublattices):
for n in range(n_cells):
dummy_tb[sublattice(site, *[n for _ in range(ndim - 1)])] = (
np.eye(ndof_per_site[i]) * 2
)
dummy_tb = kwant.Builder(kwant.TranslationalSymmetry(*lattice.prim_vecs))
for i, sublattice in enumerate(lattice.sublattices):
dummy_tb[lattice.shape(lambda pos: True, tuple(ndim * [0]))] = np.eye(
ndof_per_site[i]
)
# generate random and generate builder from it
random_tb = guess_tb(keyList, sum(ndof_per_site) * sites_in_cell * n_cells)
random_tb = guess_tb(keyList, sum(ndof_per_site))
random_builder = tb_to_builder(
random_tb, list(dummy_tb.sites()), dummy_tb.symmetry.periods
)
Loading