From 7bd147b7f62024b1ec4d44173253df25fe8f60cc Mon Sep 17 00:00:00 2001
From: Christoph Groth <christoph.groth@cea.fr>
Date: Wed, 11 Sep 2013 16:17:31 +0200
Subject: [PATCH] graphene flake

---
 content/index.txt | 68 ++++++++++++++++++++++++++---------------------
 1 file changed, 38 insertions(+), 30 deletions(-)

diff --git a/content/index.txt b/content/index.txt
index 2e6102d..40995fc 100644
--- a/content/index.txt
+++ b/content/index.txt
@@ -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
-- 
GitLab