Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
K
kwant
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
Joseph Weston
kwant
Commits
5cde88eb
Commit
5cde88eb
authored
6 years ago
by
Joseph Weston
Browse files
Options
Downloads
Patches
Plain Diff
reorder 1.4 whatsnew by decreasing importance
parent
cea2b1b0
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
doc/source/pre/whatsnew/1.4.rst
+79
-78
79 additions, 78 deletions
doc/source/pre/whatsnew/1.4.rst
with
79 additions
and
78 deletions
doc/source/pre/whatsnew/1.4.rst
+
79
−
78
View file @
5cde88eb
...
...
@@ -7,7 +7,52 @@ release of the 1.4 series
<https://gitlab.kwant-project.org/kwant/kwant/compare/v1.4.0...latest-1.4>`_.
Integration with Qsymm package
Installation on Microsoft Windows is available via Conda
--------------------------------------------------------
Kwant is now packaged for the Conda package manager on Windows, and using
Conda is the preferred method for installing Kwant on that platform.
Please refer to the
`installation section <https://kwant-project.org/install#microsoft-windows>`_
of the Kwant website for details.
Currently the MUMPS solver is not available for the Windows version of the
Conda package; we hope to include MUMPS support in a later patch release.
Minimum required versions for some dependencies have increased
--------------------------------------------------------------
Kwant now requires at least the following versions:
+ Python 3.5
+ numpy 0.11.0
+ scipy 0.17.0
+ matplotlib 1.5.1
These versions (or newer) are available in the latest stable releases
of Ubuntu and Debian GNU/Linux.
Conductivity calculations using `kwant.kpm.conductivity`
--------------------------------------------------------
Kwant now has the ability to calculate conductivities using a combination of
the Kernel Polynomial Method and the Kubo-Bastin relation.
The following example calculates :math:`σ_{xy}` for various chemical
potentials at finite temperature::
syst = make_system().finalized()
sigma_xy = kwant.kpm.conductivity(syst, alpha='x', beta='y')
conductivities = [sigma_xy(mu=mu, temp=0.1) for mu in np.linspace(0, 4)]
`kwant.physics.Bands` can optionally return eigenvectors and velocities
-----------------------------------------------------------------------
`kwant.physics.Bands` now takes extra parameters that allow it to
return the mode eigenvectors, and also the derivatives of the dispersion
relation (up to second order) using the Hellman-Feynman relation::
syst = make_system().finalized()
bands = kwant.physics.Bands(syst)
(energies, velocities, vectors) = bands(k=0, derivative_order=1,
return_eigenvectors=True)
Integration with Qsymm library
------------------------------
Kwant now contains an integration with the Qsymm library for analysing
model symmetries. This functionality is available under ``kwant.qsymm``.
...
...
@@ -75,6 +120,39 @@ which calculates the Peierls phases for you::
Note that the API for this functionality is provisional, and may be
revised in a future version of Kwant.
System parameter substitution
-----------------------------
After the introduction of ``Builder.fill`` it has become possible to construct
Kwant systems by first creating a "model" system with high symmetry and then
filling a lower symmetry system with this model. Often, however, one wants
to use different parameter values in different parts of a system. In
previous versions of Kwant this was difficult to achieve.
Builders now have a method ``substituted`` that makes it easy to substitute
different names for parameters. For example if a builder ``model``
has a parameter ``V``, and one wishes to have different values for ``V`` in
the scattering region and leads, one could do the following::
syst = kwant.Builder()
syst.fill(model.substituted(V='V_dot', ...))
lead = kwant.Builder()
lead.fill(model.substituted(V='V_lead'), ...)
syst.attach_lead(lead)
fsyst = syst.finalized()
kwant.smatrix(syst, params=dict(V_dot=0, V_lead=1))
Interpolated density plots
--------------------------
A new function, `~kwant.plotter.density`, has been added that can be used to
visualize a density defined over the sites of a Kwant system. This convolves
the "discrete" density (defined over the system sites) with a "bump" function
in realspace. The output of `~kwant.plotter.density` can be more informative
that `~kwant.plotter.map` when plotting systems with many sites, where it is
not important to see the individual contribution from each site.
Value functions may no longer have default values for parameters
----------------------------------------------------------------
Using value functions with default values for parameters can be
...
...
@@ -114,30 +192,6 @@ To deal with many parameters, the following idiom may be useful::
Note that it allows to override defaults as well as to add additional
parameters.
System parameter substitution
-----------------------------
After the introduction of ``Builder.fill`` it has become possible to construct
Kwant systems by first creating a "model" system with high symmetry and then
filling a lower symmetry system with this model. Often, however, one wants
to use different parameter values in different parts of a system. In
previous versions of Kwant this was difficult to achieve.
Builders now have a method ``substituted`` that makes it easy to substitute
different names for parameters. For example if a builder ``model``
has a parameter ``V``, and one wishes to have different values for ``V`` in
the scattering region and leads, one could do the following::
syst = kwant.Builder()
syst.fill(model.substituted(V='V_dot', ...))
lead = kwant.Builder()
lead.fill(model.substituted(V='V_lead'), ...)
syst.attach_lead(lead)
fsyst = syst.finalized()
kwant.smatrix(syst, params=dict(V_dot=0, V_lead=1))
System parameters can now be inspected
--------------------------------------
In modern Kwant the preferred way to pass arguments to your models
...
...
@@ -191,38 +245,6 @@ a dictionary using ``params``::
The ability to provide ``args`` will be removed in a future Kwant version.
Conductivity calculations using KPM
-----------------------------------
Kwant now has the ability to calculate conductivities using a combination of
the Kernel Polynomial Method and the Kubo-Bastin relation in the `kwant.kpm`
module. The following example calculates :math:`σ_{xy}` for various chemical
potentials at finite temperature::
syst = make_system().finalized()
sigma_xy = kwant.kpm.conductivity(syst, alpha='x', beta='y')
conductivities = [sigma_xy(mu=mu, temp=0.1) for mu in np.linspace(0, 4)]
`kwant.physics.Bands` can optionally return eigenvectors and velocities
-----------------------------------------------------------------------
`kwant.physics.Bands` now takes extra parameters that allow it to
return the mode eigenvectors, and also the derivatives of the dispersion
relation (up to second order) using the Hellman-Feynman relation::
syst = make_system().finalized()
bands = kwant.physics.Bands(syst)
(energies, velocities, vectors) = bands(k=0, derivative_order=1, return_eigenvectors=True)
Installation on Microsoft Windows is available via Conda
--------------------------------------------------------
Kwant is now packaged for the Conda package manager on Windows, and using
Conda is the preferred method for installing Kwant on that platform.
Please refer to the
`installation section <https://kwant-project.org/install#microsoft-windows>`_
of the Kwant website for details.
Currently the MUMPS solver is not available for the Windows version of the
Conda package; we hope to include MUMPS support in a later patch release.
Finalized Builders keep track of which sites were added when attaching leads
----------------------------------------------------------------------------
When attaching leads to an irregularly shaped scattering region, Kwant adds
...
...
@@ -231,15 +253,6 @@ the information of which sites were added was not inspectable after finalization
Now the sites that were added from each lead are available in the ``lead_paddings``
attribute. See the documentation for `~kwant.builder.FiniteSystem` for details.
Interpolated density plots
--------------------------
A new function `~kwant.plotter.density` has been added that can be used to
visualize a density defined over the sites of a Kwant system. This convolves
the "discrete" density (defined over the system sites) with a "bump" function
in realspace. The output of `~kwant.plotter.density` can be more informative
that `~kwant.plotter.map` when plotting systems with many sites, where it is
not important to see the individual contribution from each site.
Configurable maximum velocity in stream plots
---------------------------------------------
The function `~kwant.plotter.streamplot` has got a new option ``vmax``. Note
...
...
@@ -247,18 +260,6 @@ that this option is not available in `~kwant.plotter.current`. In order to use
it, one has to call ``streamplot`` directly as shown in the docstring of
``current``.
The minimum required versions for some dependencies have increased
------------------------------------------------------------------
Kwant now requires at least the following versions:
+ Python 3.5
+ numpy 0.11.0
+ scipy 0.17.0
+ matplotlib 1.5.1
These versions (or newer) are available in the latest stable releases
of Ubuntu and Debian GNU/Linux.
kwant.continuum.discretize can be used with rectangular lattices
----------------------------------------------------------------
Previously the discretizer could only be used with lattices with the same
...
...
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