
Hi Using the Kwant package to calculate the spin-resolved conductance of a graphene nanoribbon, where the device region incorporates Rashba spin-orbit coupling (RSOC) in its Hamiltonian while the leads do not. The left lead is numbered 0 and the right lead is numbered 1. The goal is to obtain the conductance from spin-up electrons in the left lead to spin-down electrons in the right lead. How should the program be written? We tried the program in the attachment, but the result was unsatisfactory. Any help and guidance would be appreciated!

Dear kwant user, Just for fun, I used Deepseek to generate what you need. After small corrections, I got the code below. Enjoy! I hope the helps, Adel ################################################# import kwant import numpy as np import matplotlib.pyplot as plt # Define Pauli matrices for spin sigma_x = np.array([[0, 1], [1, 0]]) sigma_y = np.array([[0, -1j], [1j, 0]]) sigma_z = np.array([[1, 0], [0, -1]]) sigma_0 = np.eye(2) # Identity matrix # Define the graphene lattice graphene = kwant.lattice.honeycomb(a=1, norbs=2) a, b = graphene.sublattices # Define the system def make_system(width, length): # Create the system syst = kwant.Builder() # Define the scattering region def central_region(pos): x, y = pos return -length / 2 < x < length / 2 and -width / 2 < y < width / 2 # On-site energy in the scattering region syst[graphene.shape(central_region, (0, 0))] =0* sigma_0 # On-site energy # Rashba spin-orbit coupling in the central region def rashba(site1, site2, rashba_strength): x1, y1 = site1.pos x2, y2 = site2.pos dx, dy = x2 - x1, y2 - y1 return -sigma_0+1j * rashba_strength * (dy * sigma_x - dx * sigma_y) # Add Rashba SOC to the central region syst[graphene.neighbors()] = rashba # Attach leads def lead_shape(pos): x, y = pos return -width / 2 < y < width / 2 # Define the symmetry for the leads sym_left = kwant.TranslationalSymmetry(graphene.vec((-1, 0))) # Define the lead with spin conservation lead_left = kwant.Builder(sym_left, conservation_law=-sigma_z) lead_left[graphene.shape(lead_shape, (0, 0))] = 0* sigma_0 # On-site energy lead_left[graphene.neighbors()] = -sigma_0 # Hopping strength # Attach the leads to the system syst.attach_lead(lead_left) syst.attach_lead(lead_left.reversed()) # Finalize the system syst = syst.finalized() return syst # Parameters width = 11 length = 20 #rashba_strength = 0.1 # Default value, can be overridden via params #fermi_energy = 0.1 # Create the system syst = make_system(width, length) # Calculate the spin-resolved transmission def spin_resolved_transmission(syst, energy, params): # Calculate the scattering matrix smatrix = kwant.smatrix(syst, energy, params=params) # Define the spin projection operators P_up = np.array([[1, 0], [0, 0]]) # Spin-up to Spin-up P_down = np.array([[1, 0], [0, 1]]) # Spin-up to Spin-up # Calculate transmission for spin-up and spin-down transmission_up = smatrix.transmission(*P_up) transmission_down = smatrix.transmission(*P_down) return transmission_up, transmission_down # Define the parameters as a dictionary params = dict(rashba_strength=0.2, fermi_energy=0.51) # Calculate the spin-resolved transmission at the Fermi energy transmission_up, transmission_down = spin_resolved_transmission(syst, params['fermi_energy'], params) print(f"Transmission (spin up): {transmission_up}") print(f"Transmission (spin down): {transmission_down}") # Plot the system kwant.plot(syst) plt.show() On Fri, Mar 7, 2025 at 1:14 PM 西科大刘燕 <18682755968@163.com> wrote:
Hi Using the Kwant package to calculate the spin-resolved conductance of a graphene nanoribbon, where the device region incorporates Rashba spin-orbit coupling (RSOC) in its Hamiltonian while the leads do not. The left lead is numbered 0 and the right lead is numbered 1. The goal is to obtain the conductance from spin-up electrons in the left lead to spin-down electrons in the right lead. How should the program be written? We tried the program in the attachment, but the result was unsatisfactory. Any help and guidance would be appreciated!
-- Abbout Adel
participants (2)
-
Abbout Adel
-
西科大刘燕