- Officially added real-space self-energy calculations
- Cleaned TBT vs. PHT for class name structures
- Bugfix for reading MD output from Siesta out-files 130
- Bugfix for tbtse files when requesting pivoting indices using this
combination ``in_device=True, sort=False`` which in most cases
return wrong indices, thanks to J. Bertelsen for bug-find!
- Added several routines for retrieving transposed coupling elements.
When having connections `i -> j` it may be beneficial to easily get
the transposed connection `j -> i` by taking into account the
supercell. `Geometry.a2transpose` enables this functionality making
construct functions much simpler when having edges/boundaries.
- Bug-fix for reading white-space prefixed keywords in XSF files, 127
- Performance increase for self-energy calculations for very small
systems
- Huge memory reduction for `Geometry.o2a` with very large system
- Enabled pickling on `BrillouinZone` objects
- Added `spin_moment` to `Hamiltonian`
- Removed ``rotate[abc]`` methods since they were cluttering the name-space
Codes should simply replace with:
>>> geometry.rotate(angle, geometry.cell[{012}, :], *)
for the same effect.
- Finally removed deprecated `write_geom` from the API
- Enabled calculation of ``<S^2>`` for spin-polarized calculations, this
may be used for calculating spin-contaminations
- added checks for `SparseCSR` to disallow out-of-bounds keys
- Bug fixed for reading POSCAR files from VASP (only when multiple species are
used in a non-ordered fashion)
- added `sisl` command line utility, it is exactly the same as `sdata`
- Enabled pickling sparse matrices, this allows dask usage of sparse matrices
- Performance increase for sparse matrix handling
- Fixed a problem with Fortran IO + Jupyter notebooks, now the file-handles
are re-used if a code block is terminated before closing the file
- Added `SparseOrbital` `append` + `transpose`
This enables appending Hamiltonian's (append) and makes hermiticity
checks possible (transpose)
- Enabled complex averaged calculations using `oplist`
The `oplist` object is a container allowing inter-element operations
>>> l1 = oplist([0, 1])
>>> l2 = oplist([2, 3])
>>> l = l1 + l2
>>> print(l)
[2, 4]
This is extremely handy for `BrillouinZone.asaverage`/`assum` when calculating
multiple values using `eigenstate` objects.
- Added reflection calculation to `tbtncSileTBtrans`
- Added more distribution functions (step and heaviside)
- Removed numpy deprecated class numpy.matrix, now everything is array
- Removed possibility of using `kavg=list(...)` due to complexity, now single
`kavg` requests are *not* k-averaged.
- Bugfix in calculating `shot_noise`, `noise_power` and `fano` factors in `tbtncSileSiesta`
They were only correct for Gamma-point calculations
- Fixed `*.EIG` `sdata` processing when using `--dos`
- Fixed reading geometries from grids from VASP (grid values were correct)
- Toolboxes:
* Added a toolbox to calculate the Poisson solution for arbitrary
electrodes for TranSiesta