It seems like the documentation here is wrong because it expects a dictionary.
I see that you do
template = kwant.continuum.discretize_symbolic(hamiltonian)
t = kwant.continuum.build_discretized(template, coords = ('x','y','z'))
However, discretize_symbolic
returns two variables. Instead do:
template, coods = kwant.continuum.discretize_symbolic(hamiltonian)
t = kwant.continuum.build_discretized(template, coords)
The list of coods
should be passed to discretize_symbolic
. However, if you omit it, it will be inferred from your Hamiltonian’s k_{x, y, z}
terms.
Best, Bas
Hi Bas,Thanks for your reply.I have used the same syntax. But it is showing an Attribute Error: 'tuple object has no attribute 'items'from __future__ import division
import kwant
import kwant.continuum
import scipy.sparse.linalg
import scipy.linalg
import numpy as np
import sympy
from math import sin, cos, sqrt, pi
import matplotlib.pyplot as plt
hamiltonian = ("""k_x**2 + k_y**2 + k_z**2""")
hamiltonian = kwant.continuum.sympify(hamiltonian)
template = kwant.continuum.discretize_symbolic(hamiltonian)
t = kwant.continuum.build_discretized(template, coords = ('x', 'y', 'z'))
print(t)AttributeError Traceback (most recent call last) <ipython-input-12-9780451ce368> in <module> 11 hamiltonian = kwant.continuum.sympify(hamiltonian) 12 template = kwant.continuum.discretize_symbolic(hamiltonian) ---> 13 t = kwant.continuum.build_discretized(template, coords = ('x','y','z')) 14 print(t) 15 hamiltonian /usr/local/lib/python3.6/dist-packages/kwant/continuum/discretizer.py in build_discretized(tb_hamiltonian, coords, grid_spacing, locals) 281 282 with reraise_warnings(): --> 283 for k, v in tb_hamiltonian.items(): 284 tb_hamiltonian[k] = sympify(v, locals) 285 AttributeError: 'tuple' object has no attribute 'items'What should I do.NaveenOn Fri, Mar 29, 2019 at 5:37 PM Bas Nijholt <basnijholt@gmail.com> wrote:Hi Naveen,
In the documentation you can see that
coords
require a sequence of strings, so for example:coords = ('x',) # for 1D coords = ('x', 'y', 'z') # for 3D
Best, Bas
On Fri, Mar 29, 2019 at 12:59 PM Naveen Yadav <naveengunwal72@gmail.com> wrote:I want to know more about the builid_discretized(tb_hamiltonian, coords).I did not undersand what should be the syntax to write the coords.Could you please help me by sending an example code for writing coords?Thanks in Advance.
Naveen
Department of Physics & Astrophysics
University of Delhi
110007
--
With Best Regards
NAVEEN YADAV
Ph.D Research Scholar
Deptt. Of Physics & Astrophysics
University Of Delhi.