Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
W
website
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
kwant
website
Commits
7bd147b7
Commit
7bd147b7
authored
11 years ago
by
Christoph Groth
Browse files
Options
Downloads
Patches
Plain Diff
graphene flake
parent
0e7949e5
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
content/index.txt
+38
-30
38 additions, 30 deletions
content/index.txt
with
38 additions
and
30 deletions
content/index.txt
+
38
−
30
View file @
7bd147b7
...
...
@@ -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 s
imple Python
programs
(us
in
g
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 s
hort
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:
9
0%
:width:
10
0%
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
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment