Release v1.4.0


Feature release

Bug fixes

  • Fix filename and density range with dos-local.pdf output
  • Fix unintuitive handling of single carrier density and ranges of densities (cardens command line option)
  • Fix incorrect verbose output for BHZ parameters B and D
  • Silence warnings for numpy.where()
  • Eliminate error messages “Some parameters for material (…) did not evaluate to a numerical value” when reading from an XML file

Implementation changes

  • Version requirement for Python is raised to 3.11
  • Version requirements are raised for imported packages (NumPy, SciPy, etc.)
  • Add type annotations in large parts of the source code
  • Command line arguments can no longer be parsed twice (with a few exceptions)
  • Change the mechanism to set the configuration values in the parallelized computing parts, re-parsing no longer needed
  • Refactor implementation of wave function output (plots and tables): minor changes in band labels and file names, restrict output to energy range
  • Streamline wave function output in kdotpy 1d: separate run no longer required
  • Set number of threads at runtime instead of at import

New features

  • Use kdotpy by invoking kdotpy.run() with a list of command line argument in a Python script or the interactive interpreter
  • Improve the command line interface: Using --argument or putting -- between the arguments (both optional) prevents misinterpretation of commands
  • Parsing information of command line arguments is saved in the XML output file
  • Add the command line argument config default to reset the configuration options to their default values
  • Material parameter renormalization, in order to deal with spurious solutions
  • Add SLEPc as diagonalization solver