Re: [Kwant] Distribution of spin in graphene lattice
Dear Anton, Thanks for your reply. If I don't include the spinorbital coupling term and just want to see how are the spin up /down components of the wavefunction distributed on the graphene surface, is it possible to do it by 1. change the n.n. hopping from t to t*sigma0 2. just plot out the even/odd index of the wavefunction (just like in https://mailmanmail5.webfaction.com/pipermail/kwantdiscuss/2013September/... )? Originally, I have 86 wavefunctions in total (since there are 86 eigenvalues). By using the above approach, I get 172 wavefunctions (now there are 172 eigenvalues, ). But when I sum the ground state wavefunction together, I cannot recover the original ground state wavefunction. Part of my code is as follows. ####### Case 1: hopping = t * sigma_0 ######## iplot = 1 evecs = la.eigh(ham)[1] wf_up = abs(evecs[::2, 2*iplot])**2 wf_down = abs(evecs[1::2,2*iplot])**2 Note: Now the number of wavefunction obtained is doubled (say 2n in total). But the 1st and the 2nd one seems to be the same, so I just pick the (2*i)th wavefunction wf = wf_up + wf_down def site_size_sum(i): return 1* wf[i] / wf.max() def site_size_up(i): return 1* wf_up[i] / wf.max() def site_size_down(i): return 1* wf_down[i] / wf.max() kwant.plot(sys, site_size=site_size_up, site_color=(0, 0, 1, 0.3),hop_lw=0.1) kwant.plot(sys, site_size=site_size_down, site_color=(0, 0, 1, 0.3),hop_lw=0.1) kwant.plot(sys, site_size=site_size_sum, site_color=(0, 0, 1, 0.3),hop_lw=0.1) ####### Case 2: hopping = t ########## wf = abs(evecs[:, iplot])**2 def site_size(i): return 1* wf[i] / wf.max() kwant.plot(sys, site_size=site_size, site_color=(0, 0, 1, 0.3),hop_lw=0.1) I noticed that the plot of site_size_sum in Case 1 is not the same as Case 2. What should be correct way to do it? Any hint for the mistakes is appreciated. Thanks. Best, Johnny On 26 November 2015 at 19:01, Anton Akhmerov <anton.akhmerov@gmail.com> wrote:
Dear Johnny,
Sorry for a delayed reply. Please send the email to the mailing list and not only to me personally (that way someone else may reply if I'm slow, and others can benefit from the discussion).
Best, Anton
On Tue, Nov 24, 2015 at 10:54 AM, T.C. Wu <tcwu@connect.ust.hk> wrote:
Dear Anton,
Thanks for your reply. If I don't include the spinorbital coupling term and just want to see how are the spin up /down components of the wavefunction distributed on the graphene surface, is it possible to do it by 1. change the n.n. hopping from t to t*sigma0 2. just plot out the even/odd index of the wavefunction (just like in
https://mailmanmail5.webfaction.com/pipermail/kwantdiscuss/2013September/... )?
Originally, I have 86 wavefunctions in total (since there are 86 eigenvalues). By using the above approach, I get 172 wavefunctions (now there are 172 eigenvalues, ). But when I sum the ground state wavefunction together, I cannot recover
the
original ground state wavefunction.
What should be correct way to do it? Any hint for the mistakes is appreciated. Thanks.
Best, Johnny
On 22 November 2015 at 20:18, Anton Akhmerov <anton.akhmerov@gmail.com> wrote:
Dear Johnny,
Yes, you can superimpose more plots on top of each other, by providing axes returned by one plot as an argument to the next one. If you want to do something with spin you probably should include spinorbit coupling, yes.
Best, Anton
On Sun, Nov 22, 2015 at 10:22 AM, T.C. Wu <tcwu@connect.ust.hk> wrote:
Dear Kwant developers and users,
For the plot of the graphene wavefunction as illustrated in http://kwantproject.org/doc/1.0/tutorial/tutorial6, is it possible
to
show the distribution of the spin in the same plot? Should I include the spin orbital coupling? Thanks.
Best, Johnny
Dear all, The problem is solved now. I just made a silly mistake that I used 2*iplot instead of iplot in abs(evecs[:, iplot])**2. When I sum up the contribution of all the function of the new degenerated state appears in Case 1 (t > t*sigma_0), I recover the same result in Case 2(no sigma term). Actually, what I want to do is to reproduce the result demostrated in Figure 3 of http://www.nature.com/nature/journal/v514/n7524/pdf/nature13831.pdf In their model, they include the Hubbard term in the Hamiltonian. Would anyone give me some hints about how to include this term in the hopping in Kwant? Thank you very much. Best, Johnny On 26 November 2015 at 20:37, T.C. Wu <tcwu@ust.hk> wrote:
Dear Anton,
Thanks for your reply. If I don't include the spinorbital coupling term and just want to see how are the spin up /down components of the wavefunction distributed on the graphene surface, is it possible to do it by 1. change the n.n. hopping from t to t*sigma0 2. just plot out the even/odd index of the wavefunction (just like in https://mailmanmail5.webfaction.com/pipermail/kwantdiscuss/2013September/... )?
Originally, I have 86 wavefunctions in total (since there are 86 eigenvalues). By using the above approach, I get 172 wavefunctions (now there are 172 eigenvalues, ). But when I sum the ground state wavefunction together, I cannot recover the original ground state wavefunction.
Part of my code is as follows. ####### Case 1: hopping = t * sigma_0 ######## iplot = 1 evecs = la.eigh(ham)[1] wf_up = abs(evecs[::2, 2*iplot])**2 wf_down = abs(evecs[1::2,2*iplot])**2
Note: Now the number of wavefunction obtained is doubled (say 2n in total). But the 1st and the 2nd one seems to be the same, so I just pick the (2*i)th wavefunction
wf = wf_up + wf_down def site_size_sum(i): return 1* wf[i] / wf.max() def site_size_up(i): return 1* wf_up[i] / wf.max() def site_size_down(i): return 1* wf_down[i] / wf.max() kwant.plot(sys, site_size=site_size_up, site_color=(0, 0, 1, 0.3),hop_lw=0.1) kwant.plot(sys, site_size=site_size_down, site_color=(0, 0, 1, 0.3),hop_lw=0.1) kwant.plot(sys, site_size=site_size_sum, site_color=(0, 0, 1, 0.3),hop_lw=0.1)
####### Case 2: hopping = t ########## wf = abs(evecs[:, iplot])**2 def site_size(i): return 1* wf[i] / wf.max() kwant.plot(sys, site_size=site_size, site_color=(0, 0, 1, 0.3),hop_lw=0.1)
I noticed that the plot of site_size_sum in Case 1 is not the same as Case 2.
What should be correct way to do it? Any hint for the mistakes is appreciated. Thanks.
Best, Johnny
On 26 November 2015 at 19:01, Anton Akhmerov <anton.akhmerov@gmail.com> wrote:
Dear Johnny,
Sorry for a delayed reply. Please send the email to the mailing list and not only to me personally (that way someone else may reply if I'm slow, and others can benefit from the discussion).
Best, Anton
On Tue, Nov 24, 2015 at 10:54 AM, T.C. Wu <tcwu@connect.ust.hk> wrote:
Dear Anton,
Thanks for your reply. If I don't include the spinorbital coupling term and just want to see how are the spin up /down components of the wavefunction distributed on the graphene surface, is it possible to do it by 1. change the n.n. hopping from t to t*sigma0 2. just plot out the even/odd index of the wavefunction (just like in
https://mailmanmail5.webfaction.com/pipermail/kwantdiscuss/2013September/... )?
Originally, I have 86 wavefunctions in total (since there are 86 eigenvalues). By using the above approach, I get 172 wavefunctions (now there are 172 eigenvalues, ). But when I sum the ground state wavefunction together, I cannot
recover the
original ground state wavefunction.
What should be correct way to do it? Any hint for the mistakes is appreciated. Thanks.
Best, Johnny
On 22 November 2015 at 20:18, Anton Akhmerov <anton.akhmerov@gmail.com> wrote:
Dear Johnny,
Yes, you can superimpose more plots on top of each other, by providing axes returned by one plot as an argument to the next one. If you want to do something with spin you probably should include spinorbit coupling, yes.
Best, Anton
On Sun, Nov 22, 2015 at 10:22 AM, T.C. Wu <tcwu@connect.ust.hk> wrote:
Dear Kwant developers and users,
For the plot of the graphene wavefunction as illustrated in http://kwantproject.org/doc/1.0/tutorial/tutorial6, is it possible
to
show the distribution of the spin in the same plot? Should I include the spin orbital coupling? Thanks.
Best, Johnny
Dear Johnny, Kwant doesn't have any algorithms for simulating Hubbard U, however as you can see in the methods, the authors of your reference use a mean field approximation to map the problem to a single particle one; this you could do in Kwant as well. Best, Anton On Fri, Nov 27, 2015 at 3:08 AM, T.C. Wu <tcwu@connect.ust.hk> wrote:
Dear all,
The problem is solved now. I just made a silly mistake that I used 2*iplot instead of iplot in abs(evecs[:, iplot])**2. When I sum up the contribution of all the function of the new degenerated state appears in Case 1 (t > t*sigma_0), I recover the same result in Case 2(no sigma term).
Actually, what I want to do is to reproduce the result demostrated in Figure 3 of http://www.nature.com/nature/journal/v514/n7524/pdf/nature13831.pdf
In their model, they include the Hubbard term in the Hamiltonian. Would anyone give me some hints about how to include this term in the hopping in Kwant? Thank you very much.
Best, Johnny
On 26 November 2015 at 20:37, T.C. Wu <tcwu@ust.hk> wrote:
Dear Anton,
Thanks for your reply. If I don't include the spinorbital coupling term and just want to see how are the spin up /down components of the wavefunction distributed on the graphene surface, is it possible to do it by 1. change the n.n. hopping from t to t*sigma0 2. just plot out the even/odd index of the wavefunction (just like in https://mailmanmail5.webfaction.com/pipermail/kwantdiscuss/2013September/...
Originally, I have 86 wavefunctions in total (since there are 86 eigenvalues). By using the above approach, I get 172 wavefunctions (now there are 172 eigenvalues, ). But when I sum the ground state wavefunction together, I cannot recover the original ground state wavefunction.
Part of my code is as follows. ####### Case 1: hopping = t * sigma_0 ######## iplot = 1 evecs = la.eigh(ham)[1] wf_up = abs(evecs[::2, 2*iplot])**2 wf_down = abs(evecs[1::2,2*iplot])**2
Note: Now the number of wavefunction obtained is doubled (say 2n in total). But the 1st and the 2nd one seems to be the same, so I just pick the (2*i)th wavefunction
wf = wf_up + wf_down def site_size_sum(i): return 1* wf[i] / wf.max() def site_size_up(i): return 1* wf_up[i] / wf.max() def site_size_down(i): return 1* wf_down[i] / wf.max() kwant.plot(sys, site_size=site_size_up, site_color=(0, 0, 1, 0.3),hop_lw=0.1) kwant.plot(sys, site_size=site_size_down, site_color=(0, 0, 1, 0.3),hop_lw=0.1) kwant.plot(sys, site_size=site_size_sum, site_color=(0, 0, 1, 0.3),hop_lw=0.1)
####### Case 2: hopping = t ########## wf = abs(evecs[:, iplot])**2 def site_size(i): return 1* wf[i] / wf.max() kwant.plot(sys, site_size=site_size, site_color=(0, 0, 1, 0.3),hop_lw=0.1)
I noticed that the plot of site_size_sum in Case 1 is not the same as Case 2.
What should be correct way to do it? Any hint for the mistakes is appreciated. Thanks.
Best, Johnny
On 26 November 2015 at 19:01, Anton Akhmerov <anton.akhmerov@gmail.com> wrote:
Dear Johnny,
Sorry for a delayed reply. Please send the email to the mailing list and not only to me personally (that way someone else may reply if I'm slow, and others can benefit from the discussion).
Best, Anton
On Tue, Nov 24, 2015 at 10:54 AM, T.C. Wu <tcwu@connect.ust.hk> wrote:
Dear Anton,
Thanks for your reply. If I don't include the spinorbital coupling term and just want to see how are the spin up /down components of the wavefunction distributed on the graphene surface, is it possible to do it by 1. change the n.n. hopping from t to t*sigma0 2. just plot out the even/odd index of the wavefunction (just like in
https://mailmanmail5.webfaction.com/pipermail/kwantdiscuss/2013September/...
Originally, I have 86 wavefunctions in total (since there are 86 eigenvalues). By using the above approach, I get 172 wavefunctions (now there are 172 eigenvalues, ). But when I sum the ground state wavefunction together, I cannot recover the original ground state wavefunction.
What should be correct way to do it? Any hint for the mistakes is appreciated. Thanks.
Best, Johnny
On 22 November 2015 at 20:18, Anton Akhmerov <anton.akhmerov@gmail.com> wrote:
Dear Johnny,
Yes, you can superimpose more plots on top of each other, by providing axes returned by one plot as an argument to the next one. If you want to do something with spin you probably should include spinorbit coupling, yes.
Best, Anton
On Sun, Nov 22, 2015 at 10:22 AM, T.C. Wu <tcwu@connect.ust.hk> wrote:
Dear Kwant developers and users,
For the plot of the graphene wavefunction as illustrated in http://kwantproject.org/doc/1.0/tutorial/tutorial6, is it possible to show the distribution of the spin in the same plot? Should I include the spin orbital coupling? Thanks.
Best, Johnny
participants (2)

Anton Akhmerov

T.C. Wu