Sisl

Latest version: v0.15.2

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

Scan your dependencies

Page 2 of 5

0.14.1

0.14.0

Added
- added SISL_UNIT_SIESTA to select between legacy or codata2018 units (since Siesta 5)
New default is codata2018, may create inconsistencies until Siesta 5 is widely adopted.
- added --remove to sgeom for removing single atoms
- added a EllipticalCylinder as a new shape
- added basis-enthalpy to the stdoutSiestaSile.read_energy routine
- added `read_trajectory` to read cell vectors, atomic positions, and forces from VASP OUTCAR
- slicing io files multiple output (still WIP), see 584 for details
Intention is to have all methods use this method for returning
multiple values, it should streamline the API.
- allowed xyz files to read Origin entries in the comment field
- allowed sile specifiers to be more explicit:
- "hello.xyz{contains=<name>}" equivalent to "hello.xyz{<name>}"
- "hello.xyz{startswith=<name>}" class name should start with `<name>`
- "hello.xyz{endswith=<name>}" class name should end with `<name>`
This is useful for defining a currently working code:

SISL_IO_DEFAULT=siesta

- added environment variable ``SISL_IO_DEFAULT`` which appends a sile specifier
if not explicitly added. I.e. ``get_sile("hello.xyz")`` is equivalent to
``get_sile("hello.xyz{os.environ["SISL_IO_DEFAULT"]}"``.
Fixes 576
- added a context manager for manipulating the global env-vars in temporary
locations. ``with sisl_environ(SISL_IO_DEFAULT=...)``
- enabled `Geometry.append|prepend` in `sgeom` command (reads other files)
- added `fdfSileSiesta.write_brillouinzone` to easily write BandLines to the fdf output,
see 141
- added `aniSileSiesta` for MD output of Siesta, 544
- `mdSileOpenMX` for MD output of OpenMX
- `Atoms.formula` to get a chemical formula, currently only Hill notation
- unified the index argument for reading Grids, `read_grid`, this influences
Siesta and VASP grid reads.
- `sisl.mixing`:
- `AndersonMixer` enables the popular and very simple linear-like mixer
- `StepMixer` allows switching between different mixers, for instance this
enabled restart capabilities among other things.
- Enabled composite mixers (simple math with mixers)
- `BrillouinZone.merge` allows simple merging of several objects, 537

Changed
- updated the viz module, 476
- allowing ^ negation in order arguments for siles
- internal change to comply with scipy changes, use issparse instead
of spmatrix, see 598
- netCDF4 is now an optional dependency, 595
- interface for Sparse*.nonzero(), arguments suffixed with 's'
- `stdoutSileVASP` will not accept `all=` arguments
- `stdoutSileVASP.read_energy` returns as default the next item (no longer the last)
- `txtSileOrca` will not accept `all=` arguments, see 584
- `stdoutSileOrca` will not accept `all=` arguments, see 584
- `xyzSile` out from sisl will now default to the extended xyz file-format
Explicitly adding the nsc= value makes it compatible with other exyz
file formats and parseable by sisl, this is an internal change
- default of `Geometry.translate2uc`, now only periodic axes are
default to be moved
- all out files have been renamed to stdout to clarify they are
user determined output file names, suggestion by tfrederiksen
- bumped Python requirement to >=3.8
- orbitals `R` arguments will now by default determine the minimal radii
that contains 99.99% of the function integrand. The argument now
accepts values -1:0 which is a fraction of the integrand that the function
should contain, a positive value will explicitly set the range 574
- Added printout of the removed couplings in the `RecursiveSI`
- `SuperCell` class is officially deprecated in favor of `Lattice`, see 95 for details
The old class will still be accessible and usable for some time (at least a year)
- Enabled EigenState.wavefunction(grid) to accept grid as the initialization of
the grid argument, so one does not need to produce the `Grid` on before-hand
- ``Geometry.rotate(only=)`` to ``(what=)``, this is to unify the interfaces across, 541
Also changed the default value to be "xyz" if atoms is Not none
- ``tbtncSileTBtrans(only=)`` arguments are changed to (what=) 541
- `SelfEnergy.scattering_matrix` is changed to `SelfEnergy.broadening_matrix`
ince the scattering matrix is an S-matrix usage.
Also changed `se2scat` to `se2broadening` 529
- allow `BrillouinZone` initialization with scalar weights for all k-points 537
- `Geometry.swapaxes` and `SuperCell.swapaxes`, these are now more versatile by
allowing multiple swaps in a single run, 539
- deprecated `set_sc`
- internal build-system is changed to `scikit-build-core`, the `distutils` will be
deprecated in Python>=3.12 so it was a needed change.
This resulted in a directory restructuring.


Fixed
- fixed Mulliken calculations for polarized calculations due to missing copy, 611
- fixed single argument `ret_isc=True` of `close`, 604 and 605
- tiling Grid now only possible for commensurate grids (grid.lattice % grid.geometry.lattice)
- rare cases for non-Gamma calculations with actual Gamma matrices resulted
in crashes 572
- `MonkhorstPack.replace` now checks for symmetry k-points if the BZ is using
trs. Additionally the displacements are moved to the primitive point before
comparing, this partly fixed 568
- spin-orbit Hamiltonians in `RealSpaceSE` and `RealSpaceSI`, fixes 567
- ufunc reductions on `SparseGeometry` where `axis` arguments reduces
dimensionality
- interaction with pymatgen
- `fdfSileSiesta.includes` would fail when empty lines were present, 555
fixed and added test
- Documentation now uses global references
- `Geometry.swapaxes` would not swap latticevector cartesian coordinates, 539


toolbox.btd
Added
- calculation of scattering matrices

0.13.0

Added
- `Geometry.apply` apply functions to slices of data depending on the geometry
- enabled Gaussian and Slater type orbitals, 463
Please give feedback!
- deltancSileTBtrans.merge allowing easy merging of several delta
siles, 513
- implemented reading of output files from ORCA, 500
- HydrogenicOrbital is added for simple handling of 1-valence electron
orbitals, 499
- Bohr radius to constants
- enabled ASCII siles to read from file-handles and buffers, 484
- enabled unit specification for lengths in cube-files
- added `kwargs` passed to eigenstate functions in `berry_phase`
and `conductivity`
- ensured that non-orthogonal `transform` will copy over overlap matrix
in case the matrix is only touching the non-overlap elements
- enabled dictionary entries for the `Atoms` initialization
in place of `atoms` argument. Both in the list-like entry, or
as the only argument.

Fixed
- rare compiler bug, 512
- `within_inf` with periodic arguments, 511
- reading TranSiesta data from outSileSiesta
- regression from 80f27b05, reading version 0 HSX content, 492
- delta-files (netCDF) would always have diagonal components,
this has now been removed since it only needs the elements with
values
- Siesta sparse matrices could in some cases set wrong diagonal
components
- too large energies in Siesta files could result in crash, 482
- orbital quantum numbers from HSX file was wrong in v1, 462
- corrected sign for spin-Y direction, `PDOS`, `spin_moment`, 486
- RealSpaceSI for right semi-infinite directions, 475
- tbtrans files now have a separate entry in the documentation

Changed
- removed all deprecated routines, 495
- oplist now can do in-place operations on generators
- significant performance improvement for COOP calculations,
thanks to Susanne Leitherer for discovering the issue
- changed argument order of ElectronState.COP
- index ordering of spin and coordinate quantities are now changed to
have these as the first indices. This ensures consistency across
return types and allows easier handling.
Note that non-polarized PDOS calculations now has an extra dimension
for coherence with non-colinear spin. (see 501)
- ensured all units are now CODATA-2018 values
- `cell_length` changed to `cell2length` with new axes argument
- enabled orbitals up to the h-shell, 491
- swapped order of `honeycomb` (`graphene` derivatives)
lattice vectors, to ensure the vectors are following right-hand-rule, 488
- changed DIIS solver to assume the matrix is symmetric (it is)
- tbtncSileTBtrans and its derivates has changed, drastically.
This will accommodate changes related to 477 and 478.
Now `*_transmission` refers to energy resolved transmissions
and `*_current` reflects bias-window integrated quantities.
The defaults and argument order has changed drastically, so
users should adapt their scripts depending on `sisl` version.
A check can be made, `if sisl.__version_tuple__[:3] >= (0, 13, 0):`
- To streamline argument order the `*_ACO[OH]P` routines have changed
`elec` and `E` argument order. This makes them compatible with
`orbital_transmission` etc.

0.12.2

Added
- enabled parsing geometry.in files from FHIaims
- added `batched_indices` for memory-reduced location of array values
- enabled manifold extractions `sisl.physics.yield_manifolds`
- enabled center of mass for periodic systems (chooses *best* COM)
- enabled returning the overlap matrix from `berry_phase`
- added `rocksalt` tfrederiksen
- slab geometry creations, `fcc_slab`, `bcc_slab` and `rocksalt_slab` tfrederiksen
- added `Geometry.translate2uc` to shift everything into the unit-cell tfrederiksen
- added `Geometry.unrepeat` to reverse `repeat` calls (and to `sgeom`)
- added `SparseGeometry.unrepeat` to reverse `repeat` calls

Fixed
- enabled reading HSX file version 1, 432
- major performance boost for reading GULP FC files
- cleaned mixing methods and decoupled the History and Mixers
- incorrect handling of `atoms` argument in `Geometry.center` calls

Changed
- State*.outer corrected to the same interface as State*.inner
- all `sisl.geom` geometries are now calling `optimize_nsc` if needed
- `SparseGeometry.cut` -> `SparseGeometry.untile`
- much faster
- many more checks to warn about wrong usage
- `cut` is now deprecated (removed in 0.13)
- changed the --cut flag in `sgeom` to `--untile`, deprecated flag
- enabled in/out arguments to tbt siles (easier to remember meaning)

0.12.1

Added
- return spin moment from SCF output files of Siesta
- read_fermi_level to siesta.PDOS files

Fixed
- MacOS builds
- `sdata` handling of siesta.PDOS* files, much more versatily now
- masking import of xarray
- Fixes to sisl.viz module related to 3.10 and other details

0.12.0

Added
- Geometry.sub_orbital is added
- BrillouinZone.volume enables easy calculation of volumes for BZ integrals
- State.sub|remove are now allowed to be done inplace
- State.derivative can now correctly calculate 1st and 2nd order derivatives 406
- Enabled discontinuity jumps in band-structures (pass points as None)
- COOP and COHP calculations for eigenstates
- inverse participation ration calculations (with arbitrary q)
- origin point for mirror functionality (Geometry)
- degenerate_dir for `velocity` directions
- `State.remove` complementary to `State.sub`
- copying Dispatchers for subclasses.
- dispatchers to `Shape`
- `Spin.spinor` to get number of spinor components
- `sc` argument to `xyzSile.read_geometry` for user defined cells
- tiling a State object, 354 and 355
- replacing atoms in SparseOrbital geometries 139
- direction now accepts `abc` and `xyz` keywords to retrieve vectors depending on direction input.
- replacing atoms in SparseOrbital geometries 139
- reading from STRUCT_* files (Siesta input/output) 308
- reading the SuperCell block from fdf
- reading PAO.Basis blocks from both out and fdf files, almost complete functionality 90
- generic `transform` method for matrix transformations
- doing ufunc.reduce on SparseCSR matrices; *wrong* values for e.g. np.prod, generally be **CAUTIOUS** with reduction operations
- transposing a SparseCSR matrix
- added pymatgen conversion (Geometry.to/new.pymatgen)
- atom indexing by shapes 337

Fixed
- `sub_orbital` allows lists of orbitals
- `berry_phase` now works for non-orthogonal basis sets (uses Lowdin transformation)
This may require sufficiently small dk for accurateness.
- `degenerate` argument for `conductivity` to enable decoupling of states
- BandStructure.lineark now always starts from 0
- reading coordinates from siesta.out when bands are calculated 362
- complex warning for spin_moment 360 and 363
- partially fixed 102 (`wavefunction` for `fxyz` outside box, related to 365 and how origin is interpreted in the code
- non-collinear PDOS plotting
- improvement for BandStructure setup, arguments more stringent
- several fixes for `sisl.viz`; 368, 376 and 382
- empty array handlings in `_sanitize_*` 370
- ensured AtomicOrbital can be instantiated without specifying m (default to 0)
- fixed bug when copying orbitals
- fixed reading atomic labels in xsf files 402
- fixed hpc parameters 403

Changed
- order of arguments for `nanoribbon` it was not consistent with the others
- removed cell argument in `Geometry.sub`
- removed `Sile.exist`, refer to `Sile.file` which always will be a `pathlib.Path` instance
- `berry_phase` now uses the gauge=R convention, the code became much simpler
- `BrillouinZone.parametrize` function changed interface to allow more dimensions
- `EigenStateElectron.inner` does not use the overlap matrix by default, norm2 is for
exactly this behaviour
- changed license to MPLv2 makes toolboxes easier to contribute under different license
- renamed origo to origin, see 365
- default parallel calculations are disabled
- changed `State.align_*` routines to align `self` rather than `other`
- doc fixes for recommending `python -m pip`

Removed
- removed keywords align for State.inner|outer, manually use `align` if required
- removed method `State.expectation`

toolbox.btd
Added
- calculation of scattering states and eigenchannels
- multiple variants of scattering state methods

Page 2 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.