Preprint arXiv:2407.12651

The preprint that goes together with release 1.0.0 is available now!

W. Beugeling, F. Bayer, C. Berger, J. Böttcher, L. Bovkun, C. Fuchs, M. Hofer, S. Shamim, M. Siebert, L.-X. Wang, E. M. Hankiewicz, T. Kießling, H. Buhmann, and L. W. Molenkamp, kdotpy: k·p theory on a lattice for simulating semiconductor band structures, arXiv:2407.12651 (2024)

Release v1.0.0rc2 (release candidate)

The second release candidate

(Changes since prerelease v1.0.0rc1)

Bug fixes

  • Fix error in adiabatic band alignment if zero energy is undefined
  • Fix units in transitions output

Implementation changes

  • Streamline some code differences between source code and article
  • Update project metadata

New features

  • Infrastructure for configuration key deprecation

Release v1.0.0rc1 (release candidate)

The first release candidate (not released to the public)

(Changes since prerelease v1.0.0beta2)

Bug fixes

  • Fix inconsistent composition of columns in transitions table

Implementation changes

  • Update authors, acknowledgements, citation instructions
  • Delete tests for ‘symbolic objects’
  • Fix some out-of-date comments, docstrings, and helpfile entries

Release v1.0.0b2 (beta)

The second beta version (not released to the public)

(Changes since v0.95)

Bug fixes

  • Optimize eigenvalue stitching
  • Fix incorrect union and intersection operations on (energy) intervals
  • Workaround for random matplotlib bug involving contour labels
  • Fix problem with inadvertently changed property obsids in DiagDataPoint
  • Use correct length scaling when calculating derivatives of band structure parameters exactly (dz = 0)
  • Fix problems with colours in legends
  • Fix problem with ETransform with plotstyle normal
  • Catch rare case for kdotpy 1d where list of wave function locations is empty
  • Fix bug in 19-point extremum solver (3D)
  • Fix error in finding CNP when band characters are unavailable
  • Raise warning about using CuPy solver with kdotpy 2d
  • Fix empty unit string in legend for dual observable
  • Disable BHZ plot if figure is absent
  • Fix problem with extrema for spherical coordinates
  • Fix handling of radians as angular units for extrema
  • Do not reject valid input in imported colormaps

Implementation changes

  • Packaging: turn kdotpy into a package that can be installed with pip
  • Update version requirements for Python, NumPy, SciPy, and Matplotlib; update code accordingly
  • Replace shell scripts by Python implementations (increase OS compatibility)
  • Clean up unused code; delete unused variables and function arguments
  • Restructure program, simplify internal dependencies (imports)
  • Improved plot customization: Use Matplotlib style files instead of matplotlibrc; use rcparams more consistently
  • Improved colormap handling
  • Streamline csv output: Separate construction and writing of data
  • Improved, but stricter checking on CNP
  • Optimize band alignment
  • Remove restrictions on broadening; enable B-dependent broadening for self-consistent Hartree in LL mode
  • Change some default configuration settings
  • Remove deprecated command-line arguments

New features

  • Material parameter files: Material parameters are no longer hardcoded, but provided by the user as separate files in the configuration directory (more details in Wiki)
  • Selfconsistent Hartree with full diagonalization (dispersion and LL mode)
  • Support for JAX eigh diagsolver
  • Band alignment succeeds without CNP being defined
  • Doxygen generated developer documentation