Skip to content
Snippets Groups Projects
Commit 7bd147b7 authored by Christoph Groth's avatar Christoph Groth
Browse files

graphene flake

parent 0e7949e5
No related branches found
No related tags found
No related merge requests found
......@@ -3,42 +3,37 @@ Quantum transport simulations made easy
Kwant is a Python package for numerical calculations on tight-binding models
with a strong focus on quantum transport. It is designed to be flexible and
easy to use, while not sacrificing performance.
easy to use. Thanks to innovative algorithms, Kwant is often faster than codes
written in pure FORTRAN or C/C++.
Tight-binding models are ubiquitous in quantum physics and they can be used to
describe a vast variety of systems and phenomena, such as semiconductors,
metals, graphene, topological insulators, quantum Hall effect,
superconductivity, spintronics, molecular electronics, any combination of the
above and many other things. While all these systems exhibit very distinct
physical behavior, the underlying mathematical description is very similar.
Kwant has been designed so that the computer simulation of various physical
systems and phenomena is within reach of one software package.
Tight-binding models can describe a vast variety of systems and phenomena in
quantum physics. Therefore, Kwant can be used to simulate metals, graphene,
topological insulators, quantum Hall effect, superconductivity, spintronics,
molecular electronics, any combination of the above, and many other things.
Kwant does not use the traditional input files often found in scientific
software packages. Instead, one writes simple Python programs (using the
Python's simple and very expressive syntax) to define the system and calculate
its quantum properties (conductance, density of states, etc). This workflow is
software packages. Instead, one writes short programs in the powerful yet
easy-to-learn language Python that define the system and calculate its quantum
properties (conductance, density of states, etc). This workflow can be
summarized as follows:
.. image:: kwant-workflow.svgz
:width: 90%
:width: 100%
Kwant was designed to be easy to use: for example the program that generates
the right panel of the image above is only 42 lines long (including detailed
comments). Kwant is also accessible for people without expertise in
numerics. To aid that, it is provided along with a detailed hand-on `tutorial
</doc/1.0/tutorial/>`_ and the Kwant `paper </paper>`_, which describes the
guiding principles underlying its design.
Kwant was designed to be easy to use: Section 2 of the `Kwant paper
<http://downloads.kwant-project.org/doc/kwant-paper.pdf>`_ contains a
line-by-line walkthrough of a program very similar to the one used to generate
the above image. That complete Python script is 26 lines long (including
comments).
Examples of Kwant usage
-----------------------
The following examples are mostly taken from real research projects done with
Kwant. The tutorial_ and the `Kwant paper
<http://downloads.kwant-project.org/doc/kwant-paper.pdf>`_ each contain several
pedagogical examples with line-by-line explanations (`zipfile of all examples
<http://downloads.kwant-project.org/examples/kwant-examples.zip>`_).
The following examples are meant to give an overview of what is possible with
Kwant. The `tutorial <doc/1.0/tutorial/>`_ and the `Kwant paper`_ each contain
several pedagogical examples with line-by-line explanations (`zipfile of all
examples <http://downloads.kwant-project.org/examples/kwant-examples.zip>`_).
Graphene flake
......@@ -49,12 +44,25 @@ Graphene flake
.. image:: graphene-edgestate.svgz
:width: 15em
Wave function of a low energy eigenstate of a graphene flake. The size of each
circle is proportional to the wave function probability amplitude on that site.
It is clearly seen that the wave function is peaked near the zigzag segments of
the boundary, as can be `expected <http://arxiv.org/abs/1003.4602>`_ for
graphene quantum dots. The image is taken from the Kwant `plotting tutorial
<doc/1.0/tutorial/tutorial6.html>`_.
The complete code that constructs the graphene flake shown on the right side
is::
def disk(pos):
x, y = pos
return x**2 + y**2 < 8**2
lat = kwant.lattice.honeycomb()
sys = kwant.Builder()
sys[lat.shape(disk, (0, 0))] = 0
sys[lat.neighbors()] = -1
Next to the flake itself, the image also shows the wave function of a low energy
eigenstate. The size of each circle is proportional to the wave function
probability amplitude on that site. It can be clearly seen that the wave
function is peaked near the zigzag segments of the boundary, as can be `expected
<http://arxiv.org/abs/1003.4602>`_ for graphene quantum dots.
Taken from the Kwant `plotting tutorial <doc/1.0/tutorial/tutorial6.html>`_.
3-d system: Majorana states
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment