Verified Commit ae060e78 authored by Adel Kara Slimane's avatar Adel Kara Slimane
Browse files

Update tutorial

parent c32ffee0
......@@ -4,7 +4,7 @@ Tutorial: Energy and heat transport
The aim of this tutorial is to show how to simulate energy and heat transport with tKwant.
The corresponding theoretical framework can be found in Ref `[1] <#references>`__.
Readers who are not familiar with t-Kwant are invited to visit its `documentation webpage <https://kwant-project.org/extensions/tkwant/>`_ first.
Theory
------
......@@ -12,7 +12,7 @@ In the following, we take :math:`e=\hbar=1`.
In the presence of time-dependent electromagnetic fields (described by an electromagnetic scalar potential :math:`V(\vec r, t)` and an electromagnetic vector potential :math:`\vec A(\vec r, t)`), the Hamiltonian's expectation value is (in general) gauge dependent i.e. an electromagnetic gauge transformation does not leave its expectation value invariant.
The gauge invariant energy operator :math:`\hat ε` is defined as being the kinetic energy operator plus any eventual stationary and physical scalar potential that is present from the remote past. The local energy density operator :math:`\hat ε_i` on site :math:`i` reads:
The gauge invariant energy operator :math:`\hat ε` is defined as being the kinetic energy operator plus any stationary physical scalar potential that is present from the remote past. The local energy density operator :math:`\hat ε_i` on site :math:`i` reads:
.. math::
......@@ -114,11 +114,19 @@ We want to calculate the time dependent energy density on the site ``lat(0)`` (t
lead[lat(0)] = 0
lead[lat.neighbors()] = - γ
added_sites_left = builder.attach_lead(lead, add_cells=1)
# Attach the left lead and add the first cell of the lead
# (i.e. the site lat(-2)) to the central system. The added site
# is returned by `attach_lead()` and stored in `added_sites_left`
added_sites_left = builder.attach_lead(lead, add_cells=1)
# Append lat(-1) to the list, to calculate the heat current between lat(-1) and lat(0)
added_sites_left.append(lat(-1))
# Attach the right lead and add the first cell of the lead
# (i.e. the site lat(2)) to the central system. The added site
# is returned by `attach_lead()` and stored in `added_sites_right`
added_sites_right = builder.attach_lead(lead.reversed(), add_cells=1)
# Append lat(1) to the list, to calculate the heat current between lat(1) and lat(0)
added_sites_right.append(lat(1))
......@@ -144,8 +152,7 @@ The system is thus the following
.. jupyter-execute::
#kwant.plotter.set_engine("matplotlib")
kwant.plot(builder)
kwant.plot(builder);
The lists of sites ``added_sites_left`` and ``added_sites_right`` are used when declaring `~tkwantoperator.LeadHeatCurrent` operator instances by giving them to the ``added_lead_sites`` parameter:
......@@ -267,9 +274,8 @@ Which gives the following plots:
A python file containing all the above lines of code is available: :download:`quantum_dot.py <quantum_dot.py>`. It can be ran in parallel to shorten the simulation time, as explained in :ref:`parallel-calculations`
References
----------
Reference
---------
[1] A. Kara Slimane, P. Reck, G. Fleury,
`Simulating time-dependent thermoelectric transport in quantum systems <https://arxiv.org/abs/1912.09386>`__
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment