Release v1.2.0
Posted on June 2, 2025
|
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
Release v1.1.1
Posted on March 13, 2025
|
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
Posted on February 17, 2025
|
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]
Release v1.0.2
Posted on January 28, 2025
|
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
Posted on December 5, 2024
|
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]
Release v1.0.0
Posted on July 18, 2024
|
Our first major release 🎉
(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
- Fix inconsistent composition of columns in transitions table
- Fix error in adiabatic band alignment if zero energy is undefined
- Fix units in transitions output
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
- Infrastructure for configuration key deprecation