In the following code what about the parameter 'energy' for smatrix function Isn't it required for transmission function? And if not in what range the conductance is being calculated .Please explain more about this parameter 'energy' ? Also, when we are calculating resistance by applying voltages is it required or not in KWANT to put this 'energy' parameter.? def calculate_sigmas(G): # smat = smat.data # smat = abs(smat)**2 # reduce by one dimension G -> G[temp, temp] temp = [0, 1, 3, 4, 5] G = G[temp, :] G = G[:, temp] # invert R = G^-1 # find out whether it is a numpy object r = np.linalg.inv(G) # Voltages follow: V = R I[temp] V = r.dot(np.array([0, 0, 0, 1, -1])) # Completely solved the six terminal system. # Consider the 2x2 conductance now: Use I = sigma U E_x = V[1] - V[0] E_y = V[1] - V[3] #formula above sigma_xx = E_x / (E_x**2 + E_y**2) sigma_xy = E_y / (E_x**2 + E_y**2) return sigma_xx, sigma_xy sys = qhe_hall_bar(L=60, W=100, w_lead=90, w_vert_lead=28) par = SimpleNamespace(t=1.0, mu=0.3, mu_lead=0.3, B=None) sigmasxx = [] sigmasxy = [] Bs = np.linspace(.02, .15, 200) for par.B in Bs: s = kwant.smatrix(sys, args=[par]) G = np.array([[s.transmission(i, j) for i in range(len(sys.leads))] for j in range(len(sys.leads))]) G -= np.diag(np.sum(G, 0)) sigma = calculate_sigmas(G) sigmasxx.append(sigma[0]) sigmasxy.append(sigma[1])
Dear Anant,
As you can see in
http://kwant-project.org/doc/1.0/reference/generated/kwant.solvers.default.s...,
the energy parameter of kwant.smatrix has a default value 0. So
omitting energy from the arguments is the same as using energy=0.
Best,
Anton
On Tue, Mar 24, 2015 at 2:57 PM, ANANT VIJAY VARMA
In the following code what about the parameter 'energy' for smatrix function Isn't it required for transmission function? And if not in what range the conductance is being calculated .Please explain more about this parameter 'energy' ? Also, when we are calculating resistance by applying voltages is it required or not in KWANT to put this 'energy' parameter.? def calculate_sigmas(G): # smat = smat.data # smat = abs(smat)**2 # reduce by one dimension G -> G[temp, temp] temp = [0, 1, 3, 4, 5] G = G[temp, :] G = G[:, temp] # invert R = G^-1 # find out whether it is a numpy object r = np.linalg.inv(G) # Voltages follow: V = R I[temp] V = r.dot(np.array([0, 0, 0, 1, -1])) # Completely solved the six terminal system. # Consider the 2x2 conductance now: Use I = sigma U E_x = V[1] - V[0] E_y = V[1] - V[3] #formula above sigma_xx = E_x / (E_x**2 + E_y**2) sigma_xy = E_y / (E_x**2 + E_y**2) return sigma_xx, sigma_xy
sys = qhe_hall_bar(L=60, W=100, w_lead=90, w_vert_lead=28) par = SimpleNamespace(t=1.0, mu=0.3, mu_lead=0.3, B=None)
sigmasxx = [] sigmasxy = [] Bs = np.linspace(.02, .15, 200)
for par.B in Bs: s = kwant.smatrix(sys, args=[par]) G = np.array([[s.transmission(i, j) for i in range(len(sys.leads))] for j in range(len(sys.leads))]) G -= np.diag(np.sum(G, 0)) sigma = calculate_sigmas(G) sigmasxx.append(sigma[0]) sigmasxy.append(sigma[1])
participants (2)
-
ANANT VIJAY VARMA
-
Anton Akhmerov