Skip to content

Commit

Permalink
conductance docs
Browse files Browse the repository at this point in the history
  • Loading branch information
pablosanjose committed Oct 12, 2023
1 parent e238812 commit 2f5b973
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
Binary file added docs/src/assets/four_terminal_cond.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 21 additions & 1 deletion docs/src/tutorial/observables.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ julia> qplot(h, siteradius = 0.08, sitecolor = :black, siteoutline = 0, hopradiu

The transmission `Tᵢⱼ` from contact `j` to contact `i` can be computed using `transmission`. This function accepts a `GreenSlice` between the contact. Let us recover the four-terminal setup of the preceding section, but let's make it bigger this time
```julia
julia> hcentral = LP.square() |> onsite(4) - hopping(1) |> supercell(region = RP.circle(100) | RP.rectangle((202, 50)) | RP.rectangle((50, 202)))^C
julia> hcentral = LP.square() |> onsite(4) - hopping(1) |> supercell(region = RP.circle(100) | RP.rectangle((202, 50)) | RP.rectangle((50, 202)))

julia> glead = LP.square() |> onsite(4) - hopping(1) |> supercell((1, 0), region = r -> abs(r[2]) <= 50/2) |> greenfunction(GS.Schur(boundary = 0));

Expand Down Expand Up @@ -93,11 +93,31 @@ julia> f = Figure(); a = Axis(f[1,1], xlabel = "ω/t", ylabel = "T(ω)"); lines!
```@raw html
<img src="../../assets/four_terminal_T.png" alt="Total transmission from right contact" width="400" class="center"/>
```

So we indeed find that the 90-degree transmission `T₃₁` is indeed larger than the forward transmission `T₂₁` for all energies. The rapid oscillations are due to mesoscopic fluctuations.

!!! note "Total transmission vs transmission probability"
Note that `transmission` gives the total transmission, which is the sum of the transmission probability from each orbital in the source contact to any other orbital in the drain contact. As such it is not normalized to 1, but to the number of source orbitals. It also gives the local conductance from a given contact in units of $$e^2/h$$ according to the Landauer formula, $$G_j = e^2/h \sum_i T_{ij}(eV)$$.

## Conductance

Local and non-local differential conductance $$G_{ij} = dI_i/dV_j$$ can be computed with `G = conductance(g[i,j])`. Calling `G(ω)` returns the conductance at bias $$eV = \omega$$ in units of $$e^2/h$$. Let's look at the local differential conductance into the right contact in the previous example
```julia
julia> G₁₁ = conductance(g[1,1])
Conductance{Float64}: Zero-temperature conductance dIᵢ/dVⱼ from contacts i,j, in units of e^2/h
Current contact : 1
Bias contact : 1

julia>= @showprogress [G₁₁(ω) for ω in ωs];
Progress: 100%|██████████████████████████████████████████████████████████████| Time: 0:01:06

julia> f = Figure(); a = Axis(f[1,1], xlabel = "eV/t", ylabel = "G [e²/h]"); lines!(a, ωs, Gω); f
```
```@raw html
<img src="../../assets/four_terminal_cond.png" alt="Local conductance from right contact" width="400" class="center"/>
```

!! warning "Sign of non-local conductance"
If you compute a non-local conductance such as `conductance(g[2,1])(ω)` in this example you will note it is negative. This is actually expected. It means that the current flowing **into** the system through the right contact when you **increase** the bias in a different contact is negative, because the current is actually flowing out into the right reservoir.

## Josephson

0 comments on commit 2f5b973

Please sign in to comment.