How to caculate hall resistance
Dear Sir, I am a PhD student of Hong Kong University of Science and Technology. I want to use KWANT to caculate Hall resistance of a Hall bar structure.We can get the conductance between 6 electrodes, but how to get hall resistance? Can you give me some help? Thank you very much. Best Regards, Zhang Bing
Dear Zhang Bing, Please take a look at the following bit of code that calculates nonlocal resistance in a 4-terminal device from a Kwant scattering matrix. (Taken from the Kwant example to appear with the revised version of Kwant paper.) # First we calculate the conductance matrix given the scattering matrix S. cond = np.array([[s.transmission(i, j) for j in xrange(n)] for i in xrange(n)]) # Correct the reflection blocks, so that rows and columns sum to zero. cond -= np.diag(cond.sum(axis=0)) # In order to calculate the nonlocal conductance we eliminate one row and # one column from the condutcance matrix. This amounts to setting the # corresponding voltage to zero and using current conservation to calculate # the current through the last terminal. cm = conductance_matrix(sys, energy, [args])[:-1, :-1] # We then set the current to be 1 in the lead 0, -1 in lead 2, and # calculate the voltage in lead 1 (so V_1 - V_3 since V_3 = 0). nonlocal_resistance = np.linalg.solve(cm, [1, 0, -1])[1] Generalization to a 6-terminal case should be straightforward. Best regards, Anton Akhmerov On Sat, Apr 26, 2014 at 6:14 AM, ZHANG Bing <bzhangac@ust.hk> wrote:
Dear Sir,
I am a PhD student of Hong Kong University of Science and Technology. I want to use KWANT to caculate Hall resistance of a Hall bar structure.We can get the conductance between 6 electrodes, but how to get hall resistance? Can you give me some help? Thank you very much.
Best Regards, Zhang Bing
Anton Akhmerov wrote:
# Correct the reflection blocks, so that rows and columns sum to zero. cond -= np.diag(cond.sum(axis=0))
Hello Anton (or anyone who reads this), Sorry for waking up this old thread. May I ask why this step is necessary to calculate a Hall conductance? I don't immediately see this requirement in the Buttiker formula or the code after it. Does it affect the result in general? In another kwant code of 6-terminal QHE, this step is not seen. Or is it assumed in the kwant function conductance_matrix() ? https://github.com/topocm/topocm_content/blob/master/w3_pump_QHE/Laughlinarg... Thank you.
Hey Xiaoxiao, Indeed, Kwant's conductance matrix [1] also subtracts the trace from the diagonal, and it's also how the conductance matrix is conventionally defined. Best, Anton [1]: https://gitlab.kwant-project.org/kwant/kwant/-/blob/master/kwant/solvers/com... On Sun, 12 Sept 2021 at 13:32, <xiaoxiao.zhang@riken.jp> wrote:
Anton Akhmerov wrote:
# Correct the reflection blocks, so that rows and columns sum to zero. cond -= np.diag(cond.sum(axis=0))
Hello Anton (or anyone who reads this), Sorry for waking up this old thread. May I ask why this step is necessary to calculate a Hall conductance? I don't immediately see this requirement in the Buttiker formula or the code after it. Does it affect the result in general? In another kwant code of 6-terminal QHE, this step is not seen. Or is it assumed in the kwant function conductance_matrix() ? https://github.com/topocm/topocm_content/blob/master/w3_pump_QHE/Laughlinarg...
Thank you.
participants (4)
-
Anton Akhmerov
-
Anton Akhmerov
-
xiaoxiao.zhang@riken.jp
-
ZHANG Bing