I find help from the tutorials to study conductance, DOS etc for nano-structures. But when I
try to investigate with kwant drain characteristics (Vd verus Id) and transconductance (Vg
versus Id) in nanostructures like heterostructure devices of quantum well or QPC, I fall
into a mess and cannot arrange my ideas in right direction of proper coding.
I find no help file in this direction so that I may proceed.
I earnestly request the wise developers and/ any member of my Kwant forum to direct me in
All the best.
I am using Arch linux and want to compile kwant against mumps.
I installed mumps-seq package from aur and used the following build.conf:
libraries = zmumps mumps_common pord metis esmumps scotch scotcherr mpiseq
include_dirs = /usr/include/mumps-seq
However, it does not work well:
>>> import kwant
/usr/lib/python3.5/site-packages/kwant-1.2.2-py3.5-linux-x86_64.egg/kwant/solvers/default.py:18: RuntimeWarning: MUMPS is not available, SciPy built-in solver will be used as a fallback. Performance can be very poor in this case.
"Performance can be very poor in this case.", RuntimeWarning)
>>> from kwant.linalg import mumps
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.5/site-packages/kwant-1.2.2-py3.5-linux-x86_64.egg/kwant/linalg/mumps.py", line 17, in <module>
from . import _mumps
ImportError: ./libzmumps_seq.so: cannot open shared object file: No such file or directory
Then I started python in '/usr/lib' where libzmumps_seq.so lives and everything worked well.
Does kwant always import zmumps library from the current working dir?
According to the example ab_ring.py , the AB flux is introduced as the phi
parameter of the hopping.
In presence of a SOC the hoppings are matrices (spin_orbit.py).
# hoppings in x-direction
sys[kwant.builder.HoppingKind((1, 0), lat, lat)] = \
-t * sigma_0 - 1j * alpha * sigma_y
# hoppings in y-directions
sys[kwant.builder.HoppingKind((0, 1), lat, lat)] = \
-t * sigma_0 + 1j * alpha * sigma_x
How can I modify the hoppings for such case.
I can only figure out that sys[hops_across_cut] has to be a matrix but I
don't know which part should be modified for that !
def fluxphase(site1, site2, phi):
return exp(1j * phi)
ix0, iy0 = hop.tag
# builder.HoppingKind with the argument (1, 0) below
# returns hoppings ordered as ((i+1, j), (i, j))
return iy0 < 0 and ix0 == 1 # ix1 == 0 then implied
# Modify only those hopings in x-direction that cross the branch cut
for hop in kwant.builder.HoppingKind((1, 0), lat, lat)(sys):
sys[hops_across_cut] = fluxphase
Spintronics Theory Group
This message and its contents, including attachments are intended solely
for the original recipient. If you are not the intended recipient or have
received this message in error, please notify me immediately and delete
this message from your computer system. Any unauthorized use or
distribution is prohibited. Please consider the environment before printing
Dear Kwant developers and users,
I am now using Kwant with Python 3.5. After upgrading python from 2.7 to
3.5, I find that site_color=family_colors fails to display different color
for A,B sites (such as in
http://kwant-project.org/doc/1.0/tutorial/tutorial4). (Note that I cannot
see the black and white colors for the A,B sites in tutorial4.)
Also, for a 3D system, kwant.plot(sys) fails to display the red dots for
the leads (but it did when I was using Python 2.7).
I wonder if it is problem with Kwant or it's a problem with my computer.
Dear Kwant users and admins:
I have meet a problem when calculating the transport properties of zigzag-edged graphene nanoribbon. At energy of 0 eV, kwant shows me the error: numpy.linalg.linalg.LinAlgError: singular matrix.
After applying the staggered potential, I got this error: RuntimeError: Found a mode with zero or close to zero velocity, because there are two almost flat subbands.
I want to know whether kwant can not handle the case when lead exists the flat subbands? How can I solve this problem?
Thanks a lot