Elements of a scattering matrix
Dear Kwant community, I am a physics student and I am approaching to Kwant to solve simple problems of scattering. I am new in Kwant and, for this reason, I'm trying to use Kwnat for basic problems of scattering. The most simple problem in my mind is the scattering of a planewave (1 dimension) from the left of a potential barrier. If we now suppose the potential barrier is 'zero' everywhere, the scattering matrix, according to the scattering theory, should be 'S={{0,1},{1,0}}'. If I try to compute the reflection and transmission coefficient, I obtained the correct values (1 for reflection and 0 for transmission). But it occurs only for some energies. For example in the code I attached, if I put the value of '10' in 'S=kwant.solvers.default.smatrix(syst,10)' I obtaine for reflection and transmission the value of '0'. Where is my errors? And, is there a way to print the entire elements of the scattering matrix ? Yours sincerely Lorenzo Bagnasacco
Hi Lorenzo, You need to compute the transmission at an energy where the leads have modes. At E = 10 in your system there aren't any. Plotting the band structure of the leads helps. Check out also the Kwant tutorial at https://kwantproject.org/doc/1/tutorial/ Best, Anton On Tue, 18 Jan 2022 at 15:37, Lorenzo BAGNASACCO <lorenzo.bagnasacco@sns.it> wrote:
Dear Kwant community,
I am a physics student and I am approaching to Kwant to solve simple problems of scattering. I am new in Kwant and, for this reason, I'm trying to use Kwnat for basic problems of scattering. The most simple problem in my mind is the scattering of a planewave (1 dimension) from the left of a potential barrier. If we now suppose the potential barrier is 'zero' everywhere, the scattering matrix, according to the scattering theory, should be 'S={{0,1},{1,0}}'. If I try to compute the reflection and transmission coefficient, I obtained the correct values (1 for reflection and 0 for transmission). But it occurs only for some energies. For example in the code I attached, if I put the value of '10' in 'S=kwant.solvers.default.smatrix(syst,10)' I obtaine for reflection and transmission the value of '0'. Where is my errors? And, is there a way to print the entire elements of the scattering matrix ?
Yours sincerely
Lorenzo Bagnasacco
Dear Kwant community, Thanks for the quick reply. I plot the band structure and I obtaine the figure I attached. For a freeparticle I expect a band structure like quadratic dispersion (E \sim k^2). The plot of structure band is nearly quadraic. Is it due to discretization of the system ? So it means that the wavefunction sent to the left lead (in my example) is not a freeplanewave ? Is there a way to control the wavefunction injected in the lead ? Yours sincerely Lorenzo Bagnsacco Il giorno mar 18 gen 2022 alle ore 15:40 Anton Akhmerov < anton.akhmerov+kd@gmail.com> ha scritto:
Hi Lorenzo,
You need to compute the transmission at an energy where the leads have modes. At E = 10 in your system there aren't any.
Plotting the band structure of the leads helps. Check out also the Kwant tutorial at https://kwantproject.org/doc/1/tutorial/
Best, Anton
On Tue, 18 Jan 2022 at 15:37, Lorenzo BAGNASACCO < lorenzo.bagnasacco@sns.it> wrote:
Dear Kwant community,
I am a physics student and I am approaching to Kwant to solve simple problems of scattering. I am new in Kwant and, for this reason, I'm trying to use Kwnat for basic problems of scattering. The most simple problem in my mind is the scattering of a planewave (1 dimension) from the left of a potential barrier. If we now suppose the potential barrier is 'zero' everywhere, the scattering matrix, according to the scattering theory, should be 'S={{0,1},{1,0}}'. If I try to compute the reflection and transmission coefficient, I obtained the correct values (1 for reflection and 0 for transmission). But it occurs only for some energies. For example in the code I attached, if I put the value of '10' in 'S=kwant.solvers.default.smatrix(syst,10)' I obtaine for reflection and transmission the value of '0'. Where is my errors? And, is there a way to print the entire elements of the scattering matrix ?
Yours sincerely
Lorenzo Bagnasacco
Hi Lorenzo, Indeed, you are right; please see for example this tutorial: https://kwantproject.org/doc/1/tutorial/discretize#limitationsofdiscretiz... Best, Anton On Tue, 18 Jan 2022 at 16:31, Lorenzo BAGNASACCO <lorenzo.bagnasacco@sns.it> wrote:
Dear Kwant community,
Thanks for the quick reply.
I plot the band structure and I obtaine the figure I attached. For a freeparticle I expect a band structure like quadratic dispersion (E \sim k^2). The plot of structure band is nearly quadraic. Is it due to discretization of the system ? So it means that the wavefunction sent to the left lead (in my example) is not a freeplanewave ? Is there a way to control the wavefunction injected in the lead ?
Yours sincerely
Lorenzo Bagnsacco
Il giorno mar 18 gen 2022 alle ore 15:40 Anton Akhmerov < anton.akhmerov+kd@gmail.com> ha scritto:
Hi Lorenzo,
You need to compute the transmission at an energy where the leads have modes. At E = 10 in your system there aren't any.
Plotting the band structure of the leads helps. Check out also the Kwant tutorial at https://kwantproject.org/doc/1/tutorial/
Best, Anton
On Tue, 18 Jan 2022 at 15:37, Lorenzo BAGNASACCO < lorenzo.bagnasacco@sns.it> wrote:
Dear Kwant community,
I am a physics student and I am approaching to Kwant to solve simple problems of scattering. I am new in Kwant and, for this reason, I'm trying to use Kwnat for basic problems of scattering. The most simple problem in my mind is the scattering of a planewave (1 dimension) from the left of a potential barrier. If we now suppose the potential barrier is 'zero' everywhere, the scattering matrix, according to the scattering theory, should be 'S={{0,1},{1,0}}'. If I try to compute the reflection and transmission coefficient, I obtained the correct values (1 for reflection and 0 for transmission). But it occurs only for some energies. For example in the code I attached, if I put the value of '10' in 'S=kwant.solvers.default.smatrix(syst,10)' I obtaine for reflection and transmission the value of '0'. Where is my errors? And, is there a way to print the entire elements of the scattering matrix ?
Yours sincerely
Lorenzo Bagnasacco
Dear Kwant community, I created a 2D system for a 'free particle like' (Hamiltonian with only kinetic energy in the direction of 'x' and 'y'). Then I created two leads (left and right) with three bands (cosinelike bands caused by discretization of the previous Hamiltonian). If I try to calculate the scattering matrix at the energy of '300', I obtain a square scattering matrix with dimensions 4*4. I expected a square scattering matrix with dimensions 6*6, because I have 3 bands for the left lead. Where am I wrong? I attached the notebook of the previous system I created for a clear visualization. Yours sincerely Lorenzo Bagnasacco Il giorno mar 18 gen 2022 alle ore 17:44 Anton Akhmerov < anton.akhmerov+kd@gmail.com> ha scritto:
Hi Lorenzo,
Indeed, you are right; please see for example this tutorial: https://kwantproject.org/doc/1/tutorial/discretize#limitationsofdiscretiz...
Best, Anton
On Tue, 18 Jan 2022 at 16:31, Lorenzo BAGNASACCO < lorenzo.bagnasacco@sns.it> wrote:
Dear Kwant community,
Thanks for the quick reply.
I plot the band structure and I obtaine the figure I attached. For a freeparticle I expect a band structure like quadratic dispersion (E \sim k^2). The plot of structure band is nearly quadraic. Is it due to discretization of the system ? So it means that the wavefunction sent to the left lead (in my example) is not a freeplanewave ? Is there a way to control the wavefunction injected in the lead ?
Yours sincerely
Lorenzo Bagnsacco
Il giorno mar 18 gen 2022 alle ore 15:40 Anton Akhmerov < anton.akhmerov+kd@gmail.com> ha scritto:
Hi Lorenzo,
You need to compute the transmission at an energy where the leads have modes. At E = 10 in your system there aren't any.
Plotting the band structure of the leads helps. Check out also the Kwant tutorial at https://kwantproject.org/doc/1/tutorial/
Best, Anton
On Tue, 18 Jan 2022 at 15:37, Lorenzo BAGNASACCO < lorenzo.bagnasacco@sns.it> wrote:
Dear Kwant community,
I am a physics student and I am approaching to Kwant to solve simple problems of scattering. I am new in Kwant and, for this reason, I'm trying to use Kwnat for basic problems of scattering. The most simple problem in my mind is the scattering of a planewave (1 dimension) from the left of a potential barrier. If we now suppose the potential barrier is 'zero' everywhere, the scattering matrix, according to the scattering theory, should be 'S={{0,1},{1,0}}'. If I try to compute the reflection and transmission coefficient, I obtained the correct values (1 for reflection and 0 for transmission). But it occurs only for some energies. For example in the code I attached, if I put the value of '10' in 'S=kwant.solvers.default.smatrix(syst,10)' I obtaine for reflection and transmission the value of '0'. Where is my errors? And, is there a way to print the entire elements of the scattering matrix ?
Yours sincerely
Lorenzo Bagnasacco
Lorenzo BAGNASACCO wrote:
If I try to calculate the scattering matrix at the energy of '300', I obtain a square scattering matrix with dimensions 4*4. I expected a square scattering matrix with dimensions 6*6, because I have 3 bands for the left lead. Where am I wrong? I attached the notebook of the previous system I created for a clear visualization.
At energy 300 there are two incoming and two outgoing modes in each lead. Hence, the scattering matrix is 4x4. Christoph
participants (3)

Anton Akhmerov

Christoph Groth

Lorenzo BAGNASACCO