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 4terminal 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 6terminal 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 6terminal 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.kwantproject.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 6terminal 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