From 9c759242480e2cd9c1fb97c2a705401f0889aff5 Mon Sep 17 00:00:00 2001 From: Christoph Groth <christoph.groth@cea.fr> Date: Mon, 3 Feb 2014 17:47:56 +0100 Subject: [PATCH] doc: move "see also" boxes with links to full examples to the top of each section --- doc/source/tutorial/tutorial1.rst | 16 ++++++++-------- doc/source/tutorial/tutorial2.rst | 24 ++++++++++++------------ doc/source/tutorial/tutorial3.rst | 16 ++++++++-------- doc/source/tutorial/tutorial4.rst | 8 ++++---- doc/source/tutorial/tutorial5.rst | 16 ++++++++-------- doc/source/tutorial/tutorial6.rst | 16 ++++++++-------- 6 files changed, 48 insertions(+), 48 deletions(-) diff --git a/doc/source/tutorial/tutorial1.rst b/doc/source/tutorial/tutorial1.rst index 8461e89..3b7cfa0 100644 --- a/doc/source/tutorial/tutorial1.rst +++ b/doc/source/tutorial/tutorial1.rst @@ -58,6 +58,10 @@ simplicity, we choose to work in such units that :math:`t = a = 1`. Transport through a quantum wire ................................ +.. seealso:: + The complete source code of this example can be found in + :download:`tutorial/quantum_wire.py <../../../tutorial/quantum_wire.py>` + In order to use Kwant, we need to import it: .. literalinclude:: quantum_wire.py @@ -232,10 +236,6 @@ value of the conductance is determined by the number of occupied subbands that increases with energy. -.. seealso:: - The full source code can be found in - :download:`tutorial/quantum_wire.py <../../../tutorial/quantum_wire.py>` - .. specialnote:: Technical details - In the example above, when building the system, only one direction @@ -326,6 +326,10 @@ subbands that increases with energy. Building the same system with less code ....................................... +.. seealso:: + The complete source code of this example can be found in + :download:`tutorial/quantum_wire_revisited.py <../../../tutorial/quantum_wire_revisited.py>` + Kwant allows for more than one way to build a system. The reason is that `~kwant.builder.Builder` is essentially just a container that can be filled in different ways. Here we present a more compact rewrite of the previous example @@ -432,10 +436,6 @@ hand, you also have access to the other functions, ``make_system`` and The result of the example should be identical to the previous one. -.. seealso:: - The full source code can be found in - :download:`tutorial/quantum_wire_revisited.py <../../../tutorial/quantum_wire_revisited.py>` - .. specialnote:: Technical details - We have seen different ways to add lattice points to a diff --git a/doc/source/tutorial/tutorial2.rst b/doc/source/tutorial/tutorial2.rst index a8ec4e6..acea65e 100644 --- a/doc/source/tutorial/tutorial2.rst +++ b/doc/source/tutorial/tutorial2.rst @@ -9,6 +9,10 @@ very simple examples of the previous section. Matrix structure of on-site and hopping elements ................................................ +.. seealso:: + The complete source code of this example can be found in + :download:`tutorial/spin_orbit.py <../../../tutorial/spin_orbit.py>` + We begin by extending the simple 2DEG-Hamiltonian by a Rashba spin-orbit coupling and a Zeeman splitting due to an external magnetic field: @@ -90,10 +94,6 @@ the following, clearly non-monotonic conductance steps: .. image:: ../images/spin_orbit_result.* -.. seealso:: - The full source code can be found in - :download:`tutorial/spin_orbit.py <../../../tutorial/spin_orbit.py>` - .. specialnote:: Technical details - The Tinyarray package, one of the dependencies of Kwant, implements @@ -127,6 +127,10 @@ the following, clearly non-monotonic conductance steps: Spatially dependent values through functions ............................................ +.. seealso:: + The complete source code of this example can be found in + :download:`tutorial/quantum_well.py <../../../tutorial/quantum_well.py>` + Up to now, all examples had position-independent matrix-elements (and thus translational invariance along the wire, which was the origin of the conductance steps). Now, we consider the @@ -190,10 +194,6 @@ of the potential well by passing the potential value. We obtain the result: Starting from no potential (well depth = 0), we observe the typical oscillatory transmission behavior through resonances in the quantum well. -.. seealso:: - The full source code can be found in - :download:`tutorial/quantum_well.py <../../../tutorial/quantum_well.py>` - .. warning:: If functions are used to set values inside a lead, then they must satisfy @@ -214,6 +214,10 @@ oscillatory transmission behavior through resonances in the quantum well. Nontrivial shapes ................. +.. seealso:: + The complete source code of this example can be found in + :download:`tutorial/ab_ring.py <../../../tutorial/ab_ring.py>` + Up to now, we only dealt with simple wire geometries. Now we turn to the case of a more complex geometry, namely transport through a quantum ring that is pierced by a magnetic flux :math:`\Phi`: @@ -313,10 +317,6 @@ Finally you should get the following result: where one can observe the conductance oscillations with the period of one flux quantum. -.. seealso:: - The full source code can be found in - :download:`tutorial/ab_ring.py <../../../tutorial/ab_ring.py>` - .. specialnote:: Technical details - Leads have to have proper periodicity. Furthermore, the Kwant diff --git a/doc/source/tutorial/tutorial3.rst b/doc/source/tutorial/tutorial3.rst index ba5ed7c..0b78aec 100644 --- a/doc/source/tutorial/tutorial3.rst +++ b/doc/source/tutorial/tutorial3.rst @@ -4,6 +4,10 @@ Beyond transport: Band structure and closed systems Band structure calculations ........................... +.. seealso:: + The complete source code of this example can be found in + :download:`tutorial/band_structure.py <../../../tutorial/band_structure.py>` + When doing transport simulations, one also often needs to know the band structure of the leads, i.e. the energies of the propagating plane waves in the leads as a function of momentum. This band structure contains information about @@ -50,13 +54,13 @@ where we observe the cosine-like dispersion of the square lattice. Close to ``k=0`` this agrees well with the quadratic dispersion this tight-binding Hamiltonian is approximating. -.. seealso:: - The full source code can be found in - :download:`tutorial/band_structure.py <../../../tutorial/band_structure.py>` - Closed systems .............. +.. seealso:: + The complete source code of this example can be found in + :download:`tutorial/closed_system.py <../../../tutorial/closed_system.py>` + Although Kwant is (currently) mainly aimed towards transport problems, it can also easily be used to compute properties of closed systems -- after all, a closed system is nothing more than a scattering region without leads! @@ -114,10 +118,6 @@ The last two arguments to `~kwant.plotter.map` are optional. The first prevents a colorbar from appearing. The second, ``oversampling=1``, makes the image look better for the special case of a square lattice. -.. seealso:: - The full source code can be found in - :download:`tutorial/closed_system.py <../../../tutorial/closed_system.py>` - .. specialnote:: Technical details - `~kwant.system.System.hamiltonian_submatrix` can also return a sparse diff --git a/doc/source/tutorial/tutorial4.rst b/doc/source/tutorial/tutorial4.rst index ce2e457..7273919 100644 --- a/doc/source/tutorial/tutorial4.rst +++ b/doc/source/tutorial/tutorial4.rst @@ -3,6 +3,10 @@ Beyond square lattices: graphene -------------------------------- +.. seealso:: + The complete source code of this example can be found in + :download:`tutorial/graphene.py <../../../tutorial/graphene.py>` + In the following example, we are going to calculate the conductance through a graphene quantum dot with a p-n junction and two non-collinear leads. In the process, we will touch @@ -164,10 +168,6 @@ Finally the transmission through the system is computed, showing the typical resonance-like transmission probability through an open quantum dot -.. seealso:: - The full source code can be found in - :download:`tutorial/graphene.py <../../../tutorial/graphene.py>` - .. specialnote:: Technical details - In a lattice with more than one basis atom, you can always act either diff --git a/doc/source/tutorial/tutorial5.rst b/doc/source/tutorial/tutorial5.rst index 1cfdbc4..5e21ce1 100644 --- a/doc/source/tutorial/tutorial5.rst +++ b/doc/source/tutorial/tutorial5.rst @@ -24,6 +24,10 @@ choose real), and :math:`\mathcal{T}H\mathcal{T}^{-1}=H_0^*=H_0`. "Orbital description": using matrices ..................................... +.. seealso:: + The complete source code of this example can be found in + :download:`tutorial/superconductor_band_structure.py <../../../tutorial/superconductor_band_structure.py>` + We begin by computing the band structure of a superconducting wire. The most natural way to implement the BdG Hamiltonian is by using a 2x2 matrix structure for all Hamiltonian matrix elements: @@ -43,14 +47,14 @@ Computing the band structure then yields the result We clearly observe the superconducting gap in the spectrum. That was easy, wasn't it? -.. seealso:: - The full source code can be found in - :download:`tutorial/superconductor_band_structure.py <../../../tutorial/superconductor_band_structure.py>` - "Lattice description": using different lattices ............................................... +.. seealso:: + The complete source code of this example can be found in + :download:`tutorial/superconductor_transport.py <../../../tutorial/superconductor_transport.py>` + While it seems most natural to implement the BdG Hamiltonian using a 2x2 matrix structure for the matrix elements of the Hamiltonian, we run into a problem when we want to compute electronic transport in @@ -153,10 +157,6 @@ We a see a conductance that is proportional to the square of the tunneling probability within the gap, and proportional to the tunneling probability above the gap. At the gap edge, we observe a resonant Andreev reflection. -.. seealso:: - The full source code can be found in - :download:`tutorial/superconductor_transport.py <../../../tutorial/superconductor_transport.py>` - .. specialnote:: Technical details - If you are only interested in particle (thermal) currents you do not need diff --git a/doc/source/tutorial/tutorial6.rst b/doc/source/tutorial/tutorial6.rst index c69b2a8..6493c6b 100644 --- a/doc/source/tutorial/tutorial6.rst +++ b/doc/source/tutorial/tutorial6.rst @@ -10,6 +10,10 @@ these options can be used to achieve various very different objectives. 2D example: graphene quantum dot ................................ +.. seealso:: + The complete source code of this example can be found in + :download:`tutorial/plot_graphene.py <../../../tutorial/plot_graphene.py>` + We begin by first considering a circular graphene quantum dot (similar to what has been used in parts of the tutorial :ref:`tutorial-graphene`.) In contrast to previous examples, we will also use hoppings beyond next-nearest neighbors: @@ -135,10 +139,6 @@ With this, we arrive at which shows the edge state nature of the wave function most clearly. -.. seealso:: - The full source code can be found in - :download:`tutorial/plot_graphene.py <../../../tutorial/plot_graphene.py>` - .. rubric:: Footnotes .. [#] A dangling site is defined as having only one hopping connecting it to @@ -148,6 +148,10 @@ which shows the edge state nature of the wave function most clearly. 3D example: zincblende structure ................................ +.. seealso:: + The complete source code of this example can be found in + :download:`tutorial/plot_zincblende.py <../../../tutorial/plot_zincblende.py>` + Zincblende is a very common crystal structure of semiconductors. It is a face-centered cubic crystal with two inequivalent atoms in the unit cell (i.e. two different types of atoms, unlike diamond which has the same crystal @@ -222,7 +226,3 @@ crystal lattices out there! 3d module) - Plotting hoppings in 3D is inherently much slower than plotting sites. Hence, this is not done by default. - -.. seealso:: - The full source code can be found in :download:`tutorial/plot_zincblende.py - <../../../tutorial/plot_zincblende.py>` -- GitLab