Skip to content

Releases: zerothi/sisl

v0.14.3

07 Nov 14:38
Compare
Choose a tag to compare

Released 7 of November 2023.

Contributors

A total of 2 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

  • Nick Papior
  • Pol Febrer

Pull requests merged

A total of 11 pull requests were merged for this release.

  • #627: Update DEPLOY.md with pyodide instructions
  • #628: maint: allow stopping traversal of node trees
  • #629: Lattice is now owning the boundary conditions
  • #630: Included missing notebook in the viz docs
  • #631: Added Info attributes to ascii class files
  • #634: fixed #633 due to weird combination of boundary lookups
  • #635: added an as_supercell which returns geometry in supercell
  • #636: Honeycomb flakes
  • #637: Optionally avoid custom node errors.
  • #639: Black linting
  • #642: Deprecated xarray argument

[0.14.3] - 2023-11-07

Added

  • Creation of honeycomb flakes (sisl.geom.honeycomb_flake,
    sisl.geom.graphene_flake). #636
  • added Geometry.as_supercell to create the supercell structure,
    thanks to @pfebrer for the suggestion
  • added Lattice.to and Lattice.new to function the same
    as Geometry, added Lattice.to["Cuboid"]
  • added Atom.to, currently only to.Sphere()
  • enabled Geometry.to|new.Sile(...)
  • added logging in some modules, to be added in more stuff to allow easier
    debugging.
  • marked all toSphere|toEllipsoid|... as deprecated
  • a simple extensionable method to add Sile.info.<attr> by exposing
    attributes through an object on each class.
    The info_attributes contains a list of attributes that can be
    discovered while reading ascii files see #509

Fixed

  • fixed cases where Geometry.close would not catch all neighbours, #633

Changed

  • sisl now enforces the black style
  • Lattice now holds the boundary conditions (not Grid), see #626
  • Some siles exposed certain properties containing basic information
    about the content, say number of atoms/orbitals etc.
    These will be moved to sile.info.<attr> instead to reduce
    the number of methods exposed on each sile.

v0.14.2

04 Oct 12:22
Compare
Choose a tag to compare

Released 4 of October 2023.

Contributors

A total of 2 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

  • Nick Papior
  • Pol Febrer

Pull requests merged

A total of 5 pull requests were merged for this release.

  • #619: Some fixes in sisl.viz
  • #620: bug: register data classes as plotables
  • #621: Cleaning tutorial notebooks.
  • #623: bug: introduction of meta attribute broke heatmaps
  • #624: bug: origin not properly preserved during grid plotting

[0.14.2] - 2023-10-04

Fixed

  • problems in the sisl.viz module got fixed

Changed

  • xarray is now a full dependency (this also implies pandas)

v0.14.0

28 Sep 20:12
Compare
Choose a tag to compare

Released 28 of September 2023.

Contributors

A total of 4 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

  • Nick Papior
  • Nils Wittemeier
  • Pol Febrer
  • Thomas Frederiksen

Pull requests merged

A total of 30 pull requests were merged for this release.

  • #421: Function to build heteroribbons
  • #476: Refactoring the viz module to a more modular design.
  • #528: bug: outSile.read_scf was not able to read unconverged SCF loops
  • #531: enh: Added Nodes and Workflows.
  • #533: bug: functions could not overwrite node arguments
  • #534: Add env variable to docs build
  • #540: bug: fixed swapaxes handling
  • #542: mnt: changed only= keyword arguments to what=
  • #544: aniSileSiesta
  • #546: mnt: added geometry collection with some more features
  • #547: mnt: nodes context settings are no longer a regular input
  • #549: Bugfix for rotate(..., atoms=list) + additional tests
  • #550: changed SuperCell to Lattice, long overdue
  • #562: Wrap fortran files import in try/except block.
  • #563: Scikit build core
  • #566: Make documentation tabs more visual
  • #573: VASP forces from OUTCAR
  • #575: cleaned the procedure for locating maxR
  • #581: undo change of filenames
  • #585: translate2uc for sparse matrices with associated geometries.
  • #586: Slicing IO read_ routines
  • #589: removed Collection + GeometryCollection
  • #594: Fix missing import in siesta_grid.
  • #596: netCDF4 is now an optional dependency
  • #598: maint: Adapt to breaking changes in scipy.sparse.isspmatrix
  • #613: Bump JamesIves/github-pages-deploy-action from 4.4.1 to 4.4.3
  • #614: Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.8.10
  • #615: Bump actions/checkout from 3 to 4
  • #616: Bump pypa/cibuildwheel from 2.15 to 2.16
  • #617: Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.8.10

[0.14.0] - 2023-09-28

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=}" equivalent to "hello.xyz{}"

    • "hello.xyz{startswith=}" class name should start with <name>

    • "hello.xyz{endswith=}" 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

v0.13.0

18 Jan 10:50
Compare
Choose a tag to compare

Released 18 of January 2023.

Contributors

A total of 5 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

  • A.H. Kole
  • Nick Papior
  • Nils Wittemeier +
  • Pol Febrer
  • Thomas Frederiksen

Pull requests merged

A total of 18 pull requests were merged for this release.

  • #487: Fix issue 486 - in correct sign of the y component of the spin...
  • #489: bug: fixed #488 with the cell order
  • #494: enh: enabling reading of file-handles and StringIO
  • #498: 495 deprecation
  • #499: Easy construction of hydrogenic orbitals
  • #500: Reading output from ORCA
  • #503: Plotly is incompatible with ipywidgets 8.x
  • #504: Allow reading forces from transiesta in output file
  • #508: New keywords in step_to()
  • #510: Add CodeQL workflow for GitHub code scanning
  • #511: Possible bug: within_inf with periodic=False returns sc atoms...
  • #514: Surface slab geometries: clarify vacuum=None as a possibility...
  • #515: doc: fixed indices in sums
  • #516: mnt: changed index ordering of spin-charge quantities
  • #519: Fix reading of basis
  • #520: ORCA API
  • #521: Minor fixes for IO-API
  • #526: bug: reading the EDM from fdf did not read geometry automatically

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 80f27b0, 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.

v0.12.2

02 May 06:06
Compare
Choose a tag to compare

Contributors

A total of 3 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

  • Nick Papior
  • Pol Febrer
  • Thomas Frederiksen

Pull requests merged

A total of 4 pull requests were merged for this release.

  • #444: Function to translate atoms in geometry into the unit cell
  • #445: Suggestions to docs
  • #447: Minor things
  • #451: enh: enabled PBC center of mass calculations

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)

v0.12.1

10 Feb 07:25
Compare
Choose a tag to compare

Contributors

A total of 2 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

  • Nick Papior
  • Pol Febrer

Pull requests merged

A total of 0 pull requests were merged for this release.

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

v0.12.0

28 Jan 13:17
Compare
Choose a tag to compare

Contributors

A total of 4 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

  • A.H. Kole +
  • Nick Papior
  • Pol Febrer
  • Thomas Frederiksen

Pull requests merged

A total of 14 pull requests were merged for this release.

  • #307 : Reading net charges from outSileSiesta
  • #313 : doc: added description of dictionary keys and fixed a typo
  • #365 : mnt: changed all origo references to origin
  • #367 : Parallel calculation of PDOS and (fat)bands
  • #368 : Allow per-category atom styles in GeometryPlot
  • #371 : bug: fixed some errors in tutorial notebooks
  • #374 : bug: geometry plot tests were failing
  • #376 : tests: removed plotly requirement to test sisl.viz
  • #378 : mnt: fixed matplotlib tests in <=3.4
  • #382 : bug: 2D geometry plots didn't take perspective into account.
  • #395 : Quick bug fix. Plot was not callable.
  • #397 : tests: avoid too many matplotlib figures
  • #402 : Use PeriodicTable to convert atomic labels to atomic numbers...
  • #403 : Fixed construction of non-orthogonal (2-atom) hcp cell

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/from.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

v0.11.0

17 Feb 08:35
Compare
Choose a tag to compare
  • 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:
    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

Contributors

A total of 5 people contributed to this release.

  • Jonas Lundholm Bertelsen
  • Nick Papior
  • Pol Febrer
  • Sofia Sanz Wuhl
  • Thomas Frederiksen

Pull requests merged

A total of 12 pull requests were merged for this release.

  • #231 <https://github.com/zerothi/sisl/pull/231>__: Transmitting pbc to ASE
  • #246 <https://github.com/zerothi/sisl/pull/246>__: Method to calculate grid isosurfaces
  • #253 <https://github.com/zerothi/sisl/pull/253>__: Geometry._sanitize_atoms did not accept generic categories
  • #254 <https://github.com/zerothi/sisl/pull/254>__: f-string was not printing variable value due to missing f
  • #255 <https://github.com/zerothi/sisl/pull/255>__: Make parent categories callable and avoid their instantiation
  • #258 <https://github.com/zerothi/sisl/pull/258>__: Making coordinate categories more accessible
  • #263 <https://github.com/zerothi/sisl/pull/263>__: Supporting the creation of Binder docker images
  • #267 <https://github.com/zerothi/sisl/pull/267>__: bug: skewed isosurfaces were not properly calculated
  • #270 <https://github.com/zerothi/sisl/pull/270>__: Fixed reading geometries in .AXSF-files
  • #277 <https://github.com/zerothi/sisl/pull/277>__: maint: remove ending blank line when writing xyz-files
  • #298 <https://github.com/zerothi/sisl/pull/298>__: All plotly tests passing now
  • #300 <https://github.com/zerothi/sisl/pull/300>__: Make plotly docs work

v0.10.0

09 Jun 21:03
Compare
Choose a tag to compare
  • 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 (Thomas)

  • 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

v0.9.8

10 Feb 14:30
Compare
Choose a tag to compare

THIS WILL BE THE LAST Python2 release.
All subsequent releases will be Python 3.6 and later (only!).

  • 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.