[Kwant] Query regarding C-C bond length in honeycomb lattice wref. to Kwant Documentation

2018-09-04 Thread Arunabha Ghoshal
Dear Kwant Developers,

I am a graduate student learning Kwant for my academics project related
purposes.
With reference to the Kwant 1.3.1 Documentation (vide page no.45), the
honeycomb lattice for the zig-zag edged graphene has been defined as:

> graphene = kwant.lattice.general([(1, 0), (sin_30, cos_30)], [(0, 0), (0,
1 / sqrt(3))])

where, as per my understanding,  the first argument to the *general*
function is the list of *primitive vectors* of the lattice; the second one
is the *coordinates of basis atoms*.

According to the physics of graphene, the carbon-carbon bond length is
approximately 0.142 nm. But after running the above code, I checked that
the C-C bond length of the honeycomb lattice is coming as 1/sqrt(3) nm i.e.
~0.58 nm. Therefore, I am feeling quite confused as I am failing to
understand where I am going wrong or whether am overlooking any fundamental
concepts.
I had also raised my query earlier here, regarding defining the lattice for
armchair edged graphene (vide Volume 59, Issue 6), but it seems that
unfortunately it has missed your notice. So my understandings on this
specific domain are still quite hazy.

It would be of great help if you look into the matter and  kindly guide me
to find solution for the above mentioned queries.

Thanks
Regards
Arunabha Ghoshal


Re: [Kwant] seeking help

2018-09-04 Thread shyam lochan bora
Thank you so much sir for your advice.

On Fri, Aug 31, 2018 at 8:48 PM Anton Akhmerov 
wrote:

> Dear Shyam Lochan Bora,
>
> Right now your question is rather poorly formulated, and not suitable
> for this mailing list. Please read this instruction on how to ask good
> questions: https://stackoverflow.com/help/how-to-ask
> Additionally, it appears that your problem is due the lack of the
> Python knowledge, I recommend you to follow a Python course, or
> otherwise learn the language more systematically.
>
> Best regards,
> Anton Akhmerov
> On Fri, Aug 31, 2018 at 5:08 PM shyam lochan bora
>  wrote:
> >
> > Dear sir,
> > Please help me with the following error in the program
> > from __future__ import print_function
> > from ipywidgets import interact, interactive, fixed, interact_manual
> > import ipywidgets as widgets
> > import kwant
> > from matplotlib import pyplot
> > import numpy as np
> > from holoviews.core.options import Cycle
> > from types import SimpleNamespace
> >
> > def nanowire_chain():
> > lat = kwant.lattice.chain()
> > sys = kwant.Builder(kwant.TranslationalSymmetry(*lat.prim_vecs))
> >
> > def onsite(onsite, p):
> > return (2 * p.t - p.mu) * pauli.szs0 + p.B *
> (np.cos(p.phi)*pauli.s0sz+
> np.sin(p.phi)*np.sin(p.theta)*pauli.s0sy+np.sin(p.phi)*np.sin(p.theta)*pauli.s0sx)+
> p.delta * pauli.sxs0
> >
> > sys[lat(0)] = onsite
> >
> > def hop(site1, site2, p):
> > return -p.t * pauli.szs0 - .5j * p.alpha * pauli.szsx
> >
> > sys[kwant.HoppingKind((1,), lat)] = hop
> >
> > return sys
> >
> >
> > def spinful_kitaev_chain():
> > lat = kwant.lattice.chain()
> > sys = kwant.Builder(kwant.TranslationalSymmetry(*lat.prim_vecs))
> >
> > def onsite(site, p):
> > return (2 * p.t - p.mu) * pauli.szs0 + p.B * pauli.szsz
> >
> > sys[lat(0)] = onsite
> >
> > def hop(site1, site2, p):
> > return -p.t * pauli.szs0 - 1j * p.delta * pauli.sys0
> >
> > sys[kwant.HoppingKind((1,), lat)] = hop
> >
> > return sys
> >
> >
> > def find_gap(sys, p, resolution=1e-4):
> > """Find gap in a system by doing a binary search in energy."""
> >
> > # This tells us if there are modes at a certain energy.
> > if len(sys.modes(energy=0, args=[p])[0].momenta):
> > return 0
> >
> > gap = step = min(abs(kwant.physics.Bands(sys, args=[p])(k=0))) / 2
> > while step > resolution:
> > step /= 2
> > if len(sys.modes(gap, args=[p])[0].momenta):
> > gap -= step
> > else:
> > gap += step
> >
> > return gap
> >
> >
> > def spinorbit_band_gap(sys, mu, t, delta, Bs):
> > sys = sys.finalized()
> > alphas = [0.0, 0.1, 0.2, 0.3]
> > p = SimpleNamespace(mu=mu, t=t, delta=delta,theta=theta,phi=phi)
> >
> > def gap(sys, p, alpha, B):
> > p.alpha = alpha
> > p.B = B
> > return find_gap(sys, p)
> >
> > gaps = [gap(sys, p, alpha, B) for alpha in alphas for B in Bs]
> > gaps = np.reshape(gaps, (len(alphas), -1))
> > dims = {'kdims': [r'$B$'], 'vdims': ['Band gap']}
> > B_crit = holoviews.VLine(np.sqrt(p.delta**2 + p.mu**2))
> > plot = [holoviews.Curve((Bs, gaps[i]), label=r'$\alpha={}$'.format(
> > alphas[i]), **dims) * B_crit for i, alpha in enumerate(alphas)]
> > title = r'$\Delta={delta}$,
> $\mu={mu}$'.format(delta=np.round(p.delta, 2), mu=np.round(p.mu, 2))
> > style = {'xticks': [0, 0.1, 0.2, 0.3], 'yticks': [0, 0.05, 0.1],
> 'fig_size': 150}
> > plot = holoviews.Overlay(plot)
> > return plot(plot=style)
> >
> >
> > def title(p):
> > try:
> > title = r"$\alpha={alpha}$, $\mu={mu}$, $B={B}$,
> $\Delta={delta}$"
> > title = title.format(alpha=np.round(p.alpha, 2),
> >  mu=np.round(p.mu, 2),
> >  B=np.round(p.B, 2),
> >  delta=np.round(p.delta, 2))
> > except AttributeError:
> > title = r"$\mu={mu}$, $B={B}$, $\Delta={delta}$"
> > title = title.format(mu=np.round(p.mu, 2),
> >  B=np.round(p.B, 2),
> >  delta=np.round(p.delta, 2))
> > return title
> >
> > style = {'k_x': np.linspace(-1, 1, 101),
> >  'xdim': r'$k$',
> >  'ydim': r'$E/t$',
> >  'xticks': [-1, 0, 1],
> >  'yticks': [-1, 0, 1],
> >  'xlims': [-1, 1],
> >  'ylims': [-1.5, 1.5],
> >  'title': title}
> > sys = nanowire_chain()
> > p = SimpleNamespace(t=1, mu=0.1, delta=0.1,
> B=0.3,theta=np.pi/2,phi=np.pi/2)
> > alphas = np.linspace(0, 0.4, 10)
> > holoviews.HoloMap({alpha: spectrum(sys, p.update(alpha=alpha), **style)
> for alpha in alphas}, kdims=[r'$\alpha$'])
> >
> > c:\python36\lib\site-packages\kwant\linalg\lll.py:103: FutureWarning:
> `rcond` parameter will change to the default of machine precision times
> ``max(M, N)`` where M and N are the input matrix dimensions.
> > To use the future