Sisl

Latest version: v0.15.2

Safety actively analyzes 681866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 5

0.11.0

- **Major addition**: plotly backend for plotting and interaction with
output. This is still a work in progress made by Pol Febrer.
Many thanks to pfebrer!

- Added unzip argument to BZ.apply methods to unzip multiple
return values, also added documentation to reflect this

- Fixed reading data-arrays from Siesta-PDOS files

- Enabled minimization method for basis information and pseudo generation

- Enabled plotting grids using the command-line

- Bug in how non-colinear matrices are dealt with, now fixed
Thanks to Xe Hu for discovering this.

- Allowed reading the geometry for supercell HSX files
Atomic coordinates and nsc are determined from xij arrays

- Basic implementation of Hermitian construct.
It now ensures a correct Hermitian matrix for simple cases

- Added more return from close/within, supercell offsets
may be queried (ret_isc)

- Added more transposing functionality for spin matrices

- Fixed wfsxSileSiesta returning proper k-points if a geometry
is passed (i.e. reduced k-points). Otherwise warns users

- Huge performance increase for finalizing very large structures

- Fixed writing %block in fdf files

- Enabled reading Fermi level from VASP DOSCAR files

- Cleaned siesta and VASP reading of completed jobs, 287

- added Geometry.new allowing easy type-lookups to convert to Geometry
e.g. Geometry.new("RUN.fdf") and Geometry.new(ase_atoms) automatically
figures out which method to call and how to interpret the objects.
added Geometry.to allowing easy type-lookups to convert to other objects
282

- enabled calculating supercell matrices with phases, format=sc:<format>
returns in supercell matrix form (no, no_s)

- removed support for int and long as matrix types, only float/complex

- Enabled `sgrid` to write tables of data

- Merged spin_orbital_moment(deleted) and spin_moment with
optional argument project

- Enabled orbital resolved velocities

- Added outSileSiesta.read_energy to read final energies in a property-dict
(works both as a property (`energy.fermi`) and a dictionary (`energy["fermi"]`)

- Ensured ghost atoms in Siesta are handled with separate
class, AtomGhost, 249

- Using `si.RealspaceSI` with `unfold=(1,1,1)` no longer results in `nsc` on
the given surface hamiltonian being set to `(1,1,1)`.

- Added calculation of isosurfaces, 246

- Added `sisl.WideBandSE` for self-energies with constant
diagonals

- Enabled more user control over categories, 242

- Improved interpolation function for Grid's, and also
added filters

- Bugfix for periodic directions for ASE conversion, 231

- Fixed tuples for `_sanitize_atoms`, 233

- Fixed reading correct unit from deltanc files, 234

- Enabled berry-phase calculations for NC+SOC, 235

- Added tiling to Grid, 238

- Added Atoms.group_data which nicely splits an array holding
orbital information into atomic contributions (a list since
each sub-list may be unequal in length)

- Many small bug-fixes and performance improvements

0.10.0

- Exposing sisl_toolbox as a module for external contributions
Now stuff contributed from 3rd parties can easily be included
in a toolbox which is a separate module.

- Changed asarray (as*) methods for SparseGeometry
Now we have a dispatch class which enables one
to store the behaviour as variables and then post-process

- Using `*.geom` or `geometry.atom` is now deprecated, use
`*.geometry` and `geometry.atoms` instead (respectively)

- Added spin-rotation for density matrices, this will
enable sisl to manipulate DM and write them for
Siesta calculations

- Enabled all numpy.ufuncs (np.exp(H))

- Added nanoribbons construction (tfrederiksen)

- Internal change to pathlib for files and paths

- Added velocity calculations for NC+SOC Hamiltonians

- Sparse pattern transposes of non-full matrices, fixed bug

- Changed Geometry.sort to be more diverse (this may break old code)
This new way of sorting is way more flexible and allows very fine
control, fixes 191, 197

- Added a bilayer geometry which can create twisted bilayers 181, 186

- Enabled VASP `*CAR` files to write/read dynamic specifications 185

- Enabled `xarray.DataArray` returning from BrillouinZone objects 182

- Several improvements to outSileSiesta.read_scf 174, 180

- A huge performance increase for data extraction in tbtncSileTbtrans
(thanks to Gaetano Calogero for finding the bottleneck)

- Added preliminary usage of Mixers, primarily intented for extending
sisl operations where SCF are used (may heavily change).

- Lots of small bug-fixes

- Now sisl is Python >=3.6 only, 162

This release was helped by the following committers (THANKS):

- Thomas Frederiksen
- Pol Febrer
- Jonas Lundholm Bertelsen
- Bernhard Kretz

0.9.8

- fixed 160 by removing all(?) TRS k-points in a Monkhorst Pack grid

- fixed repeat for SparseGeometryOrbital 161

- changed lots of places for einsum in electron.py for increased performance

- added AHC conductivity calculations `conductivity` (not tested)

- added Berry curvature calculations `berry_flux` (not tested)

- added Overlap class to directly use overlap matrices (without having a
second matrix).

- fixed geometry align issue when reading geometries from Siesta output 153

- fixed pickling a sparse matrix 150

- Fixed TSV.nc write-out for grid files (see poisson_explicit.py)

- Fixed fermi level calculation for non-polarized calculations

- Reverted Fermi calculation routine for more stable implementation

- fixed DynamiclMatrix reading for number of atoms not divisable by 4 145

A huge thanks to Jonas L. B. for fixes, suggestions etc.

0.9.7

- Bug-fix for reading geometries in outSiesta

- Enabled reading the fermi level from the output, fixes 126

- Enabled Siesta STM and STS output

- Fixed an inheritance issue in `axsfSile` which meant it was unusable until
now

- Maintenance fix for looping sparse matrices.
Now the default is to loop the sparse non-zero elements.
If one wishes to loop all atoms/orbitals one should use `iter_orbitals()`
NOTE: This *may* break some codes if they used loops on sparse matrices

- Fixed reading VASP CAR files with constraints (thanks to T. Frederiksen)

- Added `overlap` method to `Geometry` to find overlapping atoms
between two geometries.

- Added Siesta LDOS charge handling

- Changed edges method to not exclude it-self by default.
This is because it is not intuitive given the default exclude=None

Note: this may break compatibility with other software/scripts.

- Added mulliken charge calculations and orbital angular momentum
for SO DM, fixes 136

- Fixed reading overlap matrix in conjunction with DM from fdf-sile

- Performance increase for the real-space self-energy calculations

- Fixed transposing of the spin-box for NC and SO matrices

- Enabled TRS handler for SO matrices, fixes 125

- Enabled better b-casting assignments for sparse-matrices, fixes 134

- Upgraded documentation to a layout that obeys numpydoc

- Fixed reading ASE xyz outputs, thanksto JL. Bertelsen,

- Fixed a typo in fdf reading onlyS, thanks to JL. Bertelsen, 135

- Enabled reading arbitrary self-energy by requesting an energy and k-point
from TSGF files.

- Upgraded handling of TBT.*.nc files to conform with the >=Siesta-4.1-b5
releases where all files contain the same device + electrode meta-data.

- Deprecated TBTGFSileTBtrans (use tbtgfSileTBtrans instead)

- Forced align=False in inner such that users should take care of this

- Added align_norm to swap states such that they more or less
correspond to the same band (which should have a closer residual
for on-site coefficients).

- Removed norm2 and made norm equal to norm2 for states. This is
the more natural thing, besides. Doing norm() ** 0.5 shouldn't be
too much of a problem.

0.9.6

- 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

0.9.5

- Fixed temperature for phonon output pht*nc files

- Added tbtprojncSileTBtrans sile for analyzing projected transmissions

- Removed deprecated dhSileTBtrans

- Bug fix for binary grid files with Siesta and also reads using fdf-files

- Changed default self-energy eta values to 1e-4 eV

- Added Zak-phase calculations (thanks to T. Frederiksen)

- Updated lots of State methods

- added Bloch expansion class which can expand any method

- self-energy calculations:
- Much faster
- enabled left/right self-energies in one method

- fixed AtomicOrbital copies

- enabled TSGF reads

- Added noise-power calculations for TBT.nc files

- Fixed TBT.SE.nc files, units and scattering matrix retrieval

- added more VASP files

Page 3 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.