Ok, thanks for the clarification.












Naveen
Department of Physics & Astrophysics
University of Delhi
110007

On Mon, Apr 1, 2019, 15:14 Bas Nijholt <basnijh...@gmail.com> wrote:

> Hi Naveen,
>
> kwant.continuum.discretize can only deal with k_{xyz} as polynomials.
>
> Best, Bas
>
>
>
> On Mon, Apr 1, 2019 at 8:00 AM Naveen Yadav naveengunwa...@gmail.com
> <http://mailto:naveengunwa...@gmail.com> wrote:
>
> Dear all,
>>
>> I am tring to discretize the Hamiltonian containing the functional terms
>> (like sin(k_x) ), but I am getting an TypeError : 'Symbol' object is not
>> callable.
>> The code is
>> 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 = ("""sigma_x * sin(k_x) + sigma_y * sin(k_y) +
>> sigma_0*(k_z)""")
>> hamiltonian = kwant.continuum.sympify(hamiltonian)
>> template, coords = kwant.continuum.discretize_symbolic(hamiltonian)
>> t = kwant.continuum.build_discretized(template, coords)
>> print(t)
>>
>> TypeError                                 Traceback (most recent call 
>> last)<ipython-input-5-2b66bb479997> in <module>      9 import 
>> matplotlib.pyplot as plt     10 hamiltonian = ("""sigma_x * sin(k_x) + 
>> sigma_y * sin(k_y) + sigma_0*(k_z)""")---> 11 hamiltonian = 
>> kwant.continuum.sympify(hamiltonian)     12 template, coords = 
>> kwant.continuum.discretize_symbolic(hamiltonian)     13 t = 
>> kwant.continuum.build_discretized(template, coords)
>> /usr/local/lib/python3.6/dist-packages/kwant/continuum/_common.py in 
>> sympify(expr, locals)    197     # sympy types.    198     subs = {r: 
>> sympy.Symbol(str(r.func))(*r.args)--> 199             for r in 
>> hamiltonian.atoms(sympy.Function)}    200     201     hamiltonian = 
>> hamiltonian.subs(subs)
>> /usr/local/lib/python3.6/dist-packages/kwant/continuum/_common.py in 
>> <dictcomp>(.0)    197     # sympy types.    198     subs = {r: 
>> sympy.Symbol(str(r.func))(*r.args)--> 199             for r in 
>> hamiltonian.atoms(sympy.Function)}    200     201     hamiltonian = 
>> hamiltonian.subs(subs)
>> TypeError: 'Symbol' object is not callable
>>
>> Could you please help me in the above context.
>>
>> Thanks in Advance.
>>
>> Naveen
>>
>>
>> --
>>
>>
>> With Best Regards
>> NAVEEN YADAV
>> Ph.D Research Scholar
>> Deptt. Of Physics & Astrophysics
>> University Of Delhi.
>>
>

Reply via email to