Release v1.3.1

Bugfix release

Bug fixes

  • Fix XML output for <wflocations> in <modeloptions>
  • Make handling of signals (e.g., KeyboardInterrupt) compatible with the new default multiprocessing strategy for Python 3.14 on Linux
  • Fix string formatting for Numpy types

Release v1.3.0

Feature release

Bug fixes

  • Fix error for BHZ when band character is empty
  • Fix incorrect variable name in interpolation function of DiagData
  • Fix problem in kdotpy compare trying to update a non-existent figure
  • Correct transformation of some BIA terms under an in-plane rotation (kdotpy 1d with stripangle)
  • Fix incorrect length of expanded overlap vectors (kdotpy 1d)

Implementation changes

  • Restructure source code for parsing command-line arguments
  • Remove obsolete imports as to simplify dependencies between submodules
  • Reorganize and improve handling of observables
  • Reorganize and improve source code for vectors and vector grids
  • Improve plot functions
  • No longer use columns LL1 and LL2 for transitions in full mode, add an optional column deltaLL

New features

  • Calculate derivatives dH/dk and velocities as operators with the currents command-line argument
  • Calculate symmetrized observables of the form {dH/dk, O}
  • Option to suppress plot output (pdf files) altogether
  • Option to save all eigenvalues regardless of the given energy range (set by erange)

Miscellaneous

  • Julian Kuther joins the developer team

Release v1.2.0

Feature release

Bug fixes

  • Show more instructive error message if a material argument is not followed by a valid material id
  • Recalculate or invalidate derivatives if band alignment has changed in kdotpy merge
  • Fix exception with checking script directories on different drives in Windows
  • Fix exception in kdotpy batch when no variable substitutions are given

Implementation changes

  • Improve potential file imports
  • Allow y coordinates of spatial lattice to be chosen at integer multiples or at half integer multiples of the resolution
  • Save model options into XML output
  • Optimize plot handling for 2D band plots

New features

  • Apply potentials of the form V(y, z) in kdotpy 1d; accept csv files with grid-type or mesh-type data, and use interpolation if needed
  • Optical transitions for bulk Landau level calculations (kdotpy bulk-ll)
  • Add filter for material files
  • Add helper functions for serialization (for future use)
  • Local density of states in multiple dimensions (kdotpy 2d)
  • Density as function of y and z (kdotpy 1d)
  • Binary output files (Numpy npz format) for local density of states in two dimensions and for density as function of y, z, and energy
  • Band alignment in kdotpy 1d (manual only)
  • Cache eigenstates with binary files in kdotpy 1d

Miscellaneous

  • Add license metadata in pyproject.toml following PEP 639

Unexpected downtime

Unfortunately, the kdotpy website and the Gitlab server encountered an unexpected downtime earlier today, caused by a power outage. At this time, the services are back online. Apologies for the inconvenience.

news 

Announcement: talks at DPG Regensburg 2025

At the upcoming DPG Spring Meeting (Frühjahrstagung) in Regensburg, we will present several exciting talks about kdotpy and its results:

Release v1.1.1

Bugfix release

Bug fixes

  • Provide fallback for kdotpy help in case the less command is not available (primarily a Windows issue)
  • Fix incorrect quantity being shown in dsigmah-de plot (for kdotpy ll with hall)
  • Show more instructive error messages when estimation of CNP fails, for example if the split argument is omitted
  • Fix inconsistency between pdf and csv output of wave functions for LL calculations in full LL mode

Release v1.1.0

Feature release

Bug fixes

  • Make kdotpy compatible with Numpy 2
  • Fix pending deprecations for future Scipy and Python versions

Implementation changes

  • Replace hard-coded strain ratio C12/C11 by value from material parameters
  • Simplify the implementation for iterators in kdotpy batch
  • Make sign of carrier/charge density more consistent internally

New features

  • Add elasticity parameters as material parameters
  • Add grouped iterators in kdotpy batch, which are iterated through simultaneously
  • Enable input of charge density per layer, for simulations of modulation doping

We welcome Julian Kuther as a new contributor. Thanks to Julian for his work on the elasticity parameters!

[Read More]

Publication in SciPost Physics Codebases

Our article about kdotpy release 1.0.0 has been offically published by SciPost Physics Codebases! 🎉

Please view the article at https://scipost.org/SciPostPhysCodeb.47.
[DOI: 10.21468/SciPostPhysCodeb.47]

The codebase published with the article can be found at the journal repository. Note that this journal repository will be updated less frequently than our live Gitlab repository.

You are encouraged to credit us by citing the article and/or the codebase, indicating the relevant release/version number.

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”, SciPost Phys. Codebases 47 (2025).

[Read More]

Release v1.0.2

Bugfix release

Bug fixes

  • Fix an incompatibility with matplotlib version 3.10.0, leading to an exception for some DOS plots

Miscellaneous

  • Update citation information following publication of our article and codebase in SciPost Physics Codebases

Release v1.0.1

Bugfix release

Bug fixes

  • Fix incorrect prefix handling for vector grid and vector transformation
  • No longer create transformable Hamiltonian if stripangle is used
  • Fix false negatives for thickness commensurability test
  • Let kdotpy test use python -m kdotpy, so that it can be run if kdotpy is not in PATH
  • Fix incorrect display of unparsed arguments
  • Improve error messages for invalid command line arguments (e.g., vector grid, material, and layer stack arguments)
  • Fix infinite loop in contour plot if minimum and maximum value are equal
  • Fix errors in observable strings
  • Fix exception if there are no extrema
  • No longer ignore table_extrema_precision configuration value

Implementation changes

  • Slight difference in handling of vector grid arguments (k and/or b), in order to improve error messages for invalid input
  • Disallow underscore as separator in matparam argument in order to prevent parsing errors

Acknowledgement: We thank the reviewers of our SciPost submission for bringing some of these issues to our attention. See the SciPost submissions page for more information.

[Read More]