I have been trying to evaluate current through a josephson junction using the green function formalism using the following formula: I=2 (e Kb T)/hbar(sum over matsubara freq.)(H_ij G_ij-H_ji G_ji) To calculate current I have mounted two virtual leads on the slabs where I want to evaluate the current using the following code: def mount_vlead(sys, vlead_interface, norb): dim = len(vlead_interface)*norb zero_array = np.zeros((dim, dim), dtype=float) def selfenergy_func(energy, args=()): return zero_array vlead = kwant.builder.SelfEnergyLead(selfenergy_func, vlead_interface,()) sys.leads.append(vlead) where vlead_interace was supplied using the following code: v1=kwant.Builder() v1[(lat(nx_1,i) for i in range(ny))]=(2*t-mu_n)*tau_z v1[lat.neighbors()]=-t*tau_z v2=kwant.Builder() v2[(lat(nx_2,i) for i in range(ny))]=(2*t-mu_n)*tau_z v2[lat.neighbors()]=-t*tau_z mount_vlead(syst,v2.sites(),2) Here nx_1 and nx_2 are the two points where the points where I have mounted virtual leads. Then I have used the greens_function solver in kwant to evaluate green function for a given matsubara frequency. The issue that i am facing is that I am getting identical diagonal elements in green_function.submatrix(v1,v2) and green_function.submatrix(v2,v1), thus when taking trace it gives me zero as the hopping matrix is same.
participants (3)
-
Abbout Adel
-
Amrit Poudel
-
mohit.gupta9607@gmail.com