Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • kwant/website
  • jbweston/website
  • basnijholt/website
  • r-j-skolasinski/website
  • marwahaha/website
5 results
Show changes
Commits on Source (20)
......@@ -2,19 +2,20 @@ image: kwant/website-deploy
before_script:
- nikola build
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- eval $(ssh-agent -s)
test_deploy:
script:
- mkdir -p ~/.ssh
- echo $TEST_WEBSITE_KEY > deploy_key && sed -i 's/\r /\n/g' deploy_key && chmod 600 deploy_key
- echo "$TEST_WEBSITE_KEY" | tr -d '\r' | ssh-add -
- nikola deploy
except:
- master
master_deploy:
script:
- mkdir -p ~/.ssh
- echo $MASTER_WEBSITE_KEY > deploy_key && sed -i 's/\r /\n/g' deploy_key && chmod 600 deploy_key
- nikola deploy
- echo "$MASTER_WEBSITE_KEY" | tr -d '\r' | ssh-add -
- nikola deploy master
only:
- master
......@@ -373,16 +373,23 @@ REDIRECTIONS = []
# rsync is used to send documentation to our web servers: we never send any
# secret information, and using 'ssh-keyscan' causes the CI server's IP to
# be blacklisted, so we specify "StrictHostKeyChecking=no".
SSH_OPTS = ["StrictHostKeyChecking=no", "UserKnownHostsFile=/dev/null",
"IdentitiesOnly=yes"]
SSH_OPTS = ["StrictHostKeyChecking=no", "UserKnownHostsFile=/dev/null"]
SSH_OPTS = ' '.join('-o ' + opt for opt in SSH_OPTS)
DEPLOY_COMMANDS = {
'default': [
"rsync -rlv -e 'ssh {} -i deploy_key' --delete --filter 'P doc/*' output/* kwant@kwant-project.org:"
"rsync -rlv -e 'ssh {}' --delete "
"--filter 'P doc/*' --filter 'P extensions/*' output/* kwant2@iapetus.uberspace.de:"
.format(SSH_OPTS),
"rsync -lv -e 'ssh {} -i deploy_key' htaccess-apache kwant@kwant-project.org:/.htaccess"
"rsync -lv -e 'ssh {}' htaccess-apache kwant2@iapetus.uberspace.de:/.htaccess"
.format(SSH_OPTS),
],
'master': [
"rsync -rlv -e 'ssh {}' --delete "
"--filter 'P doc/*' --filter 'P extensions/*' output/* kwant@fornjot.uberspace.de:"
.format(SSH_OPTS),
"rsync -lv -e 'ssh {}' htaccess-apache kwant@fornjot.uberspace.de:/.htaccess"
.format(SSH_OPTS),
]
}
......
The Kwant community
===================
The Kwant project is an international collaboration. Everybody is welcome to
participate in the community by asking and replying to questions, reporting
bugs, providing suggestions, and `contributing to the code and documentation
</contribute.html>`_.
The Kwant project is an international collaboration.
Everybody is welcome to participate in the community
by asking and replying to questions, reporting bugs, providing suggestions,
and `contributing to the code and documentation </contribute.html>`_.
A list of `Kwant authors </authors>`_ is included in the documentation.
Please only contact the authors directly for matters that cannot be discussed
in public on one of the mailing lists.
General mailing list
--------------------
The `kwant-discuss
<https://mailman-mail5.webfaction.com/listinfo/kwant-discuss>`_ mailing list is
the main public communication platform for anything related to Kwant: questions,
bug reports, discussions, and announcements. You can use it in various ways:
- .. raw:: html
<form class="form-inline" method="get" action="https://www.mail-archive.com/search">
<div class="input-group col-md-8">
<input type="text" class="form-control" placeholder="Search query" size=25 name="q">
<input type="hidden" name="l" value="kwant-discuss@kwant-project.org">
<span class="input-group-btn">
<input class="btn btn-default" type="submit" value="Search kwant-discuss">
</span>
</div>
</form>
- .. raw:: html
<form class="form-inline" method=post action="https://mailman-mail5.webfaction.com/subscribe/kwant-discuss">
<div class="input-group col-md-8">
<input type="text" class="form-control" placeholder="Your email address" name="email" size=25 onblur="if (this.value == '') {this.value='Your email address'}" onfocus="if (this.value == 'Your email address') {this.value=''}" />
<span class="input-group-btn">
<input class="btn btn-default" type="submit" name="email-button" value="Subscribe to kwant-discuss" />
</span>
</div>
</form>
… and receive new messages with regular email. (To unsubscribe, use the `kwant-discuss options page <https://mailman-mail5.webfaction.com/options/kwant-discuss>`_.)
- You may follow the list through a web interface that also provides a RSS
feed: `kwant-discuss on Mail-archive
<https://www.mail-archive.com/kwant-discuss@kwant-project.org/>`_.
- Whether you are subscribed or not, you may post on the list simply by sending
email to kwant-discuss@kwant-project.org.
The Kwant community uses three public communication channels:
the mailing list for generic discussions, questions, and announcements;
the gitlab instance for development discussions and reporting bugs;
and the chat for real-time discussions related to development.
- Please do not hesitate to join the discussion! It’s easy to reply to a
posting even if you are not subscribed (or receiving digests): (1) open the
article in the web interface, (2) click on the button “Reply via email to” at
the bottom of the page, (3) add the above list address under "CC".
A list of `Kwant authors </authors>`_ is included in the documentation.
Please contact the authors directly only for matters that cannot be discussed on the public channels.
Development chat
----------------
The Kwant developer chat is accessible to the community via `Gitter <https://gitter.im/kwant-project/Lobby>`_.
Come say hi if you would like to get involved with developing Kwant! For longer development discussions
we prefer posting to the development mailing list. This is a place for technical discussions about changes
to Kwant. For bug reports please use the kwant-discuss mailing list.
Mailing list
------------
The kwant-discuss mailing list is the main public communication platform for anything related to Kwant:
questions, discussions, development, and announcements.
It may be used both as a web forum and as a classical mailing list.
Development mailing list
------------------------
The `kwant-discuss web interface <https://mail.python.org/archives/list/kwant-discuss@python.org/>`_
allows to follow discussions and search the archives.
Those who are interested the development of Kwant are invited to subscribe to
the `kwant-devel <https://mailman-mail5.webfaction.com/listinfo/kwant-devel>`_
mailing list. This is the place for technical discussions about changes to
Kwant. Please do not send bug reports to this list but rather to kwant-discuss.
To start a new discussion thread, you may either use the web interface
(sign-in required)
or write directly to
kwant-discuss@python.org.
In order to avoid spam,
messages of unsubscribed participants are held for moderation.
Kwant-devel works in the same way as kwant-discuss:
Similarly, replying is possible either by mail
(if you received the post to which you want reply by mail),
or using the web interface:
the “reply” button under each message allows to compose directly
(for signed-in users),
or triggers a reply by mail (otherwise).
- .. raw:: html
You may subscribe to receive posts to the list by mail.
Subscription is done either through the
`kwant-discuss info page
<https://mail.python.org/mailman3/lists/kwant-discuss.python.org/>`_
or by sending any message to
kwant-discuss-join@python.org.
(The subject and content are ignored and may be empty.)
To unsubscribe, either use the info page,
or send any message to kwant-discuss-leave@python.org.
<form class="form-inline" method="get" action="https://www.mail-archive.com/search">
<div class="input-group col-md-8">
<input type="text" class="form-control" placeholder="Search query" size=25 name="q">
<input type="hidden" name="l" value="kwant-devel@kwant-project.org">
<span class="input-group-btn">
<input class="btn btn-default" type="submit" value="Search kwant-devel">
</span>
</div>
</form>
List etiquette :
- .. raw:: html
- When asking questions,
`help others to help you <https://stackoverflow.com/help/how-to-ask>`_.
In particular, use the search function before posting.
<form class="form-inline" method=post action="https://mailman-mail5.webfaction.com/subscribe/kwant-devel">
<div class="input-group col-md-8">
<input type="text" class="form-control" placeholder="Your email address" name="email" size=25 onblur="if (this.value == '') {this.value='Your email address'}" onfocus="if (this.value == 'Your email address') {this.value=''}" />
<span class="input-group-btn">
<input class="btn btn-default" type="submit" name="email-button" value="Subscribe to kwant-devel" />
</span>
</div>
</form>
- When replying, please avoid quoting the complete original message.
Instead, consider
`bottom-posting <https://en.wikipedia.org/wiki/Posting_style#Bottom-posting>`_.
(To unsubscribe, use the `kwant-devel options page <https://mailman-mail5.webfaction.com/options/kwant-devel>`_.)
- You may follow the list through a web interface that also provides a RSS
feed: `kwant-devel on Mail-archive
<https://www.mail-archive.com/kwant-devel@kwant-project.org/>`_.
Announcements mailing list
--------------------------
- Whether you are subscribed or not, you may post on the list simply by sending
email to kwant-devel@kwant-project.org.
This read-only list is used for important announcements like new releases of Kwant.
Only a few messages are sent per year.
These announcements are also posted on the main mailing list,
so there is no need to subscribe to both lists.
We recommend every user of Kwant to subscribe at least to this list in order to stay informed about new developments.
- It’s easy to reply to a posting even if you are not subscribed (or receiving
digests): (1) open the article in the web interface, (2) click on the button
“Reply via email to” at the bottom of the page, (3) add the above list address
under "CC".
The `kwant-announce archives <https://mail.python.org/archives/list/kwant-announce@python.org/>`_
are available on the web.
To subscribe, either use the form on the `kwant-announce info page <https://mail.python.org/mailman3/lists/kwant-announce.python.org/>`_
or simply send any message to kwant-announce-join@python.org.
(The subject and content are ignored and may be empty.)
To unsubscribe, either use the info page, or send any message to kwant-announce-leave@python.org.
Announcements (low-volume)
--------------------------
This read-only list is reserved for important announcements like new releases of
Kwant. Only a few messages will be sent per year. These announcements will be also posted on the main mailing list, so there is no need to subscribe to both lists. We recommend every user of Kwant to subscribe at least to this list in order to stay informed about new developments.
Development chat
----------------
- View archives: `kwant-announce on Mail-archive <https://www.mail-archive.com/kwant-announce@kwant-project.org/>`_. Mail-archive provides RSS feeds.
The Kwant developer chat is accessible to the community via `Gitter <https://gitter.im/kwant-project/Lobby>`_.
Come say hi if you would like to get involved with developing Kwant!
- .. raw:: html
<form method=post class="form-inline" action="https://mailman-mail5.webfaction.com/subscribe/kwant-announce">
<div class="input-group col-md-8">
<input type="text" class="form-control" placeholder="Your email address" name="email" size=25 onblur="if (this.value == '') {this.value='Your email address'}" onfocus="if (this.value == 'Your email address') {this.value=''}" />
<span class="input-group-btn">
<input class="btn btn-default" type="submit" name="email-button" value="Subscribe to the announcements" />
</span>
</div>
</form>
Gitlab instance
---------------
(To unsubscribe, use the `kwant-announce options page <https://mailman-mail5.webfaction.com/options/kwant-announce>`_.)
The Kwant project runs a `gitlab instance <https://gitlab.kwant-project.org/>`_
that hosts the `main Kwant code repository <https://gitlab.kwant-project.org/kwant/kwant>`_
as well as the `repositories of related projects <https://gitlab.kwant-project.org/kwant>`_.
The gitlab instance is used for reporting bugs (see next section) and `development </contribute.html>`_
Reporting bugs
--------------
If you encounter a problem with Kwant, first try to reproduce it with as
simple a system as possible. Double-check with the documentation that what
you observe is actually a bug in Kwant. If you think it is, please check `the
list of known bugs in Kwant
<https://gitlab.kwant-project.org/kwant/kwant/issues?label_name=bug>`_. It
may be also a good idea to search or ask on the general mailing list. (You can
use the search box at the top of this page.)
If you encounter a problem with Kwant,
first try to reproduce it with as simple a system as possible.
Double-check with the documentation that what you observe is actually a bug in Kwant.
If you think it is, please check `the list of known bugs in Kwant <https://gitlab.kwant-project.org/kwant/kwant/issues?label_name=bug>`_.
It may be also a good idea to search or ask on the general mailing list.
(You can use the search box at the top of this page.)
If after checking you still think that you have found a bug, please add it to
the above-mentioned list of bugs by creating an issue with the “bug” label. A
......
......@@ -18,9 +18,7 @@ categorized with labels, so that it is possible to view `all the “easy” issu
<https://gitlab.kwant-project.org/kwant/kwant/issues?label_name=difficulty%3A+easy>`_
for example.
Please do feel free to enter new issues yourself. If you are unsure about
some aspect It may be a good idea to discuss your idea on the development
mailing list kwant-devel@kwant-project.org before filing an issue.
Please do feel free to enter new issues yourself. If you are unsure about some aspect It may be a good idea to discuss your idea on the mailing list kwant-discuss@kwant-project.org before filing an issue.
If you already have some code that extends Kwant in a useful way, please
consider sharing it. If your extension fits well with Kwant and is of wide
......@@ -124,18 +122,18 @@ Now you can push your topic branch to your repository::
This will make your branch appear in GitLab. Now you can let us know about
your branch by `creating a merge request in GitLab
<https://gitlab.kwant-project.org/help/workflow/forking_workflow.md>`_ or by
sending a message to kwant-devel@kwant-project.org.
sending a message to kwant-discuss@kwant-project.org.
Method 2: Sending patches to the development mailing list
.........................................................
Method 2: Sending patches to the mailing list
.............................................
Run the command ::
git format-patch origin/master
This will create a “patch” file for each commit on your branch. Now simply
send these patches as email attachments to kwant-devel@kwant-project.org,
send these patches as email attachments to kwant-discuss@kwant-project.org,
together with an explanation of your idea. You do not have to be subscribed
to the mailing list.
......
......@@ -6,7 +6,7 @@ Going beyond the core package, there are several tools that extend Kwant in usef
You can check these out below.
If you have some re-usable code that you think would be useful to the wider Kwant community,
post to the `Kwant development mailing list <mailto:kwant-devel@kwant-project.org>`_ with a
post to the `Kwant development mailing list <mailto:kwant-discuss@kwant-project.org>`_ with a
link to the code and a couple of sentences describing it, and we'll add it to this page.
......@@ -28,7 +28,7 @@ Kwant systems constructed from such tilings.
Time-dependent transport
------------------------
**Get the code**: https://gitlab.kwant-project.org/jbweston/tkwant
**Get the code**: https://gitlab.kwant-project.org/kwant/tkwant
A package for defining time-dependent systems with Kwant, and calculating
time-dependent quantities. Details of the algorithm can be found in the
......
......@@ -40,4 +40,7 @@ models with a strong focus on quantum transport.
<li>
<a href="/doc/1/tutorial/spectrum#band-structure-calculations"> Explore band structure </a>
</li>
<li>
<a href="https://tkwant.kwant-project.org/"> Simulate time-dependent problems </a>
</li>
</div>
......@@ -31,13 +31,14 @@ The instructions below assume Python 3. They should be also valid for Python
``python``, ``pip``.
Choose your platform
====================
Platforms
=========
Installation instructions are available for the major operating systems:
+ `GNU/Linux`_
+ `Mac OS X`_
+ `Microsoft Windows`_
+ `Building from source`_
GNU/Linux
=========
......@@ -60,23 +61,21 @@ building `from source <#building-from-source>`_.
Debian and derivatives
----------------------
The easiest way to install Kwant on a Debian system is using the pre-built
packages we provide. We target Debian "stable" and Debian "testing", but our
packages may also work on many other recent Debian-derived distributions as
well.
packages we provide. We target Debian "stable", but our packages may also work
on many other recent Debian-derived distributions as well.
The following instructions will install Kwant on Debian stable "stretch".
The following instructions will install Kwant on Debian stable "buster".
They need to be executed as root.
(To install on Debian testing "buster", repace "stretch-backports" with "testing".)
1. Add the following lines to ``/etc/apt/sources.list``::
deb http://ftp.debian.org/debian stretch-backports main
deb http://downloads.kwant-project.org/debian/ stretch-backports main
deb-src http://downloads.kwant-project.org/debian/ stretch-backports main
deb http://ftp.debian.org/debian buster main
deb http://downloads.kwant-project.org/debian/ buster main
deb-src http://downloads.kwant-project.org/debian/ buster main
2. (Optional) Add the OpenPGP key used to sign the repositories by executing::
apt-key adv --keyserver pool.sks-keyservers.net --recv-key C3F147F5980F3535
apt-key adv --keyserver keyserver.ubuntu.com --recv-key C3F147F5980F3535
The fingerprint of the key is 5229 9057 FAD7 9965 3C4F 088A C3F1 47F5 980F
3535.
......@@ -84,10 +83,7 @@ They need to be executed as root.
3. Update the package data, and install Kwant::
apt-get update
apt-get -t stretch-backports install python3-kwant python-kwant-doc
The ``python-kwant-doc`` package is optional and installs the HTML
documentation of Kwant in the directory ``/usr/share/doc/python-kwant-doc``.
apt-get install python3-kwant
Ubuntu and derivatives
......@@ -97,12 +93,10 @@ packages we provide. Execute the following commands in a terminal::
sudo apt-add-repository -s ppa:kwant-project/ppa
sudo apt-get update
sudo apt-get install python3-kwant python-kwant-doc
sudo apt-get install python3-kwant
This should provide up-to-date Kwant for all recent versions of Ubuntu,
up to at least the last LTS version. The HTML
documentation will be installed locally in the directory
``/usr/share/doc/python-kwant-doc``.
up to at least the last LTS version.
Debian or Ubuntu: building packages from source
......@@ -128,7 +122,7 @@ Then, compile Tinyarray and Kwant. This may be done as a normal user. ::
Finally, install the built packages (again as root)::
dpkg --install python3-tinyarray_*.deb
dpkg --install python3-kwant_*.deb python-kwant-doc_*.deb
dpkg --install python3-kwant_*.deb
Arch Linux
......@@ -164,7 +158,20 @@ whenever possible.
Microsoft Windows
=================
Windows packages for Kwant are kindly provided by Chrisoph Gohlke.
`Pre-built packages <#conda>`_ for Microsoft Windows exist for the Conda
package manager, which is a part of the ``Anaconda`` Python distribution.
Using Conda is the recommended way to install Kwant on Microsoft Windows.
We previously recommended using that Kwant packages built by
Christoph Gohlke, however due to the complexity of the installation
instructions the Conda packages are preferred. Installation of the
package provided by Christoph Gohlke is only needed if the integration
with MUMPS is required (as this is still not available for the Conda packages).
The instructions for installing the alternative package are included below
Alternative Package
-------------------
The following instructions explain how to install the official version
of Python 3, Kwant, and its dependencies.
......@@ -231,12 +238,15 @@ repository. For example, you might want to install `IPython
<http://www.lfd.uci.edu/~gohlke/pythonlibs/#ipython>`_ and its various
dependencies so that you can use the `IPython notebook <http://ipython.org/notebook.html>`_.)
If you do not want to use the Conda packages, you can always install Kwant
using `pip`_. Or by directly `building from source`_.
Conda
=====
Conda is the package manager for the Anaconda Python distribution.
Kwant currently has Conda packages for GNU/Linux and Mac OS X platforms.
Kwant currently has Conda packages for GNU/Linux, Mac OS X, and Microsoft Windows.
1. Download the Python 3.6 version of `Anaconda <https://www.continuum.io/downloads>`_ for
your platform and install it.
......@@ -249,12 +259,6 @@ Kwant currently has Conda packages for GNU/Linux and Mac OS X platforms.
``conda-forge`` channel.
The latest development build of Kwant can be installed from the ``kwant``
channel (only availible for GNU/Linux)::
conda install -c kwant kwant
``pip``
=======
.. caution::
......
.. title: Improved web interface for the mailing list
.. slug: improved-interface-for-mailing-list
.. date: 2020-05-28 20:00:00 UTC
.. category:
.. type: text
The Kwant mailing list has been migrated to a new server that provides a much-improved web interface.
.. TEASER_END
In May 2020, thanks to the friendly people at python.org,
kwant-discuss was migrated to a server running Mailman 3.
The list remains a mailing list (existing subscriptions continue),
but now also offers a modern web interface that is similar to a web forum.
The complete archives were migrated and are now searchable.
Please see the `“community” section </community>`_ of this site for usage information.
The `old address of the list <kwant-discuss@kwant-project.org>`_ remains usable: any messages are simply redirected to the new one.
.. title: Release of Kwant 1.4
.. slug: release-of-kwant-14
.. date: 2019-03-06 11:46:18 UTC
.. category: release-announcement
.. type: text
We are pleased to announce the release of Kwant 1.4, the result of a year and a half of development.
.. TEASER_END
Highlights of the new release:
* Adding magnetic field to systems, even in complicated cases, is now specially supported.
* The KPM module can now calculate conductivities.
* The `Qsymm library <https://gitlab.kwant-project.org/qt/qsymm>`_ for Hamiltonian symmetry analysis has been integrated.
* The handling of system parameters has been improved and optimized.
* Plotting has been improved, most notably through the addition of a routine that plots densities with interpolation.
* Installing Kwant on Windows is now much easier thanks to Conda packages.
All these and other improvements that are detailed in the `what's new in Kwant 1.4 </doc/1/pre/whatsnew/1.4>`_ document. The new version is practically 100% backwards-compatible with scripts written for previous versions of Kwant 1.x.
The following people contributed code to this release:
* Anton Akhmerov
* Paul Clisson
* Christoph Groth
* Thomas Kloss
* Bas Nijholt
* Pablo Pérez Piskunow
* Tómas Örn Rosdahl
* Rafał Skolasiński
* Dániel Varjas
* Joseph Weston
We would like to hear your feedback at kwant-discuss@kwant-project.org.
.. title: Release of TKwant 1.0
.. slug: release-of-tkwant-1-0
.. date: 2020-09-08 15:00:00 UTC
.. category: release-announcement
.. type: text
We are pleased to announce the first release of TKwant,
a Kwant extension for time-resolved quantum transport.
.. TEASER_END
A system is defined in TKwant in the same way as in Kwant except that some terms in the Hamiltonian may depend on the time parameter. Any system that can be studied in Kwant can be studied with TKwant as well. Typical problems where TKwant can be used include the propagation of voltage pulses, spectroscopy of interferometers, Floquet topological insulators, time resolved Andreev reflection and more.
An introduction to TKwant can be found in `TKwant paper <https://arxiv.org/abs/2009.03132>`_. The software itself and
its tutorials are available on the `TKwant website <https://tkwant.kwant-project.org/>`_.