Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
kwant
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
134
Issues
134
List
Boards
Labels
Service Desk
Milestones
Merge Requests
17
Merge Requests
17
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
kwant
kwant
Commits
5cde88eb
Commit
5cde88eb
authored
Feb 15, 2019
by
Joseph Weston
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reorder 1.4 whatsnew by decreasing importance
parent
cea2b1b0
Pipeline
#15425
failed with stages
in 44 minutes and 34 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
79 additions
and
78 deletions
+79
-78
doc/source/pre/whatsnew/1.4.rst
doc/source/pre/whatsnew/1.4.rst
+79
-78
No files found.
doc/source/pre/whatsnew/1.4.rst
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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment