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