README.rst 4.36 KB
Newer Older
Kloss's avatar
Kloss committed
1
2
3
4
5
Tkwant is a python package to simulate time-dependent quantum dynamics of
mesoscopic systems. It is the time-dependent generalization of the 
`Kwant <http://kwant-project.org>`_ package and distributed under `2-clause BSD license  <https://kwant-project.org/extensions/tkwant/pre/license>`_.
Tkwant is developed by the following `authors  <https://kwant-project.org/extensions/tkwant/pre/authors>`_.

Kloss's avatar
Kloss committed
6
- Website: https://tkwant.kwant-project.org
Kloss's avatar
Kloss committed
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35


Installation
------------

Installation from source
~~~~~~~~~~~~~~~~~~~~~~~~

Tkwant can currently only installed from its source.
Please visit the `installation instructions <https://kwant-project.org/extensions/tkwant/pre/installation>`_.


Development
-----------

Source code
~~~~~~~~~~~

The official tkwant repository is:

- Source code repository: https://gitlab.kwant-project.org/kwant/tkwant.git

The *master* branch holds the current development version.

Test suite
~~~~~~~~~~

Unittests can be run directly in the local tkwant source repository from the command line::

Kloss's avatar
Kloss committed
36
    pytest
Kloss's avatar
Kloss committed
37
38
39

Integration tests, that require more time to run, are started with the command::

Kloss's avatar
Kloss committed
40
    pytest --integtest
Kloss's avatar
Kloss committed
41

Kloss's avatar
Kloss committed
42
43
Tests involving MPI can be run by the command::

Kloss's avatar
Kloss committed
44
    pytest --mpitest
Kloss's avatar
Kloss committed
45

46
The test suite needs the Python packages ``pytest`` to be installed and tkwant compiled.
Kloss's avatar
Kloss committed
47
Please visit the `installation instructions <https://kwant-project.org/extensions/tkwant/pre/installation>`_.
48
49
50
51
52
53
Additional pep8 compliance checks can be activated with::

    pytest --flake8

when the optional `pytest-flake8 <https://pypi.org/project/pytest-flake8/>`_
package is installed.
Kloss's avatar
Kloss committed
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90


Building the documentation
~~~~~~~~~~~~~~~~~~~~~~~~~~

The documentation can be build directly in the ``doc`` folder of the 
local tkwant source repository from the command line::

    make html


The generated html documentation can be browsed
by opening the file ``doc/build/html/index.html`` with a web browser.
To build the documentation, additional Python packages need to be installed.
Please visit the `installation instructions <https://kwant-project.org/extensions/tkwant/pre/installation>`_.

Contribution
~~~~~~~~~~~~
Contributions and feedback to tkwant are always welcome.
We also appreciate if you have suggestions for the documentation or find new bugs.
If you like to contribute new features,
feel free do discuss your ideas on the mailing list before opening a merge request.
Moreover, please make sure that the tkwant test suite runs without errors before opening
a new merge request.
See the `Contribution <https://kwant-project.org/contribute>`_
section of kwant for coding style and general advice.

Authors
~~~~~~~

Tkwant is developed by the following
`authors  <https://kwant-project.org/extensions/tkwant/pre/authors>`_.

License
~~~~~~~
Tkwant is distributed under 
`2-clause BSD license <https://kwant-project.org/extensions/tkwant/pre/license>`_.
Kloss's avatar
Kloss committed
91
The license can be also found in file ``LICENSE.rst`` in the project repository.
Kloss's avatar
Kloss committed
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132

Help and Support
----------------

Documentation
~~~~~~~~~~~~~

The official user and developer documentation is found under:

- Documentation: https://kwant-project.org/extensions/tkwant

Communication
~~~~~~~~~~~~~

The kwant-discuss mailing list is the main communication channel for
questions and discussions around tkwant. Searching and using the mailing list
is explained in section
`mailing list <https://kwant-project.org/community#mailing-list>`_.

- Mailing list: kwant-discuss@kwant-project.org


Reporting bugs
~~~~~~~~~~~~~~

If you encounter a problem that seems to be a bug of tkwant, you can open a ticket
with the issue tracker.

- Issue tracker: https://gitlab.kwant-project.org/kwant/tkwant/issues

Please make sure that the problem has not yet been reported in the
`List of known tkwant bugs <https://gitlab.kwant-project.org/kwant/tkwant/issues?label_name=bug>`_.
You may also `search the mailing list <https://kwant-project.org/community#mailing-list>`_
prior to open a new ticket.
See the the `Reporting bugs <https://kwant-project.org/community#reporting-bugs>`_
section of kwant for general advice.

Citation
~~~~~~~~

If you have used tkwant for work that has lead to a scientific publication, 
Kloss's avatar
Kloss committed
133
we would appreciate if you cite the publication which introduces tkwant:
Kloss's avatar
Kloss committed
134

Kloss's avatar
Kloss committed
135
T. Kloss, J. Weston, B. Gaury, B. Rossignol, C. Groth and X. Waintal,
Kloss's avatar
Kloss committed
136
Tkwant: a software package for time-dependent quantum transport,
Kloss's avatar
Kloss committed
137
`arXiv:2009.03132 [cond-mat.mes-hall]. <https://arxiv.org/abs/2009.03132>`_