RAD-tools splits into WULFRIC Read more here

Version 0.8#

Date: 22 August 2023

Whats new?#

Restructure the class hierarchy:

Rename module exchange to spinham. The idea is to focus on the general spin Hamiltonian, which is not limited to exchange interactions. ExchangeHamiltonian is now SpinHamiltonian. The name ExchangeHamiltonian is still available as an alias for backwards compatibility.

Introduce new module: magnons. This module envelope magnon-related logic. Corresponding script rad-plot-tb2j-magnons plots magnon dispersion from TB2J file.

routines module is separated into different modules, which are grouped by the logic:

All custom exceptions are gathered in the exceptions module. As the amount of custom exceptions is intended to be small, they are placed in the one file.

On contrary, the constants are placed in the corresponding constants.py files across submodules.

Fully functional Kpoints class is introduced. It covers the details of the high symmetry points and paths for the Brillouin zone. The class offers simple interface to generate k-points mesh and to plot the paths.

print_2d_array() now supports headers and footers both for rows and columns.

-if, --input-filename is no longer a positional one.

Concept output_path + output_name is changed to the concept of output_name. In all scripts the argument output_path is removed and the argument output_name is added. In different scripts the argument output_name could mean the file or folder. For the user the usage is the same.

In all scripts the output now is saved at the same place where the input is located.


Add new attributes to the ExchangeParameter class:

Add dump_vampire(). (preliminary version, to be improved)

Add new predefined notation to the SpinHamiltonian class: "vampire"

Fix issue #5.


Correct behaviour of SpinHamiltonian.notation for single-ion like terms.


Fix issue #6.


  • New behaviour for the __main__ of the module:
    python3 -m radtools

    instead of

    python3 -m radtools --info


    python3 -m radtools --license
  • Change path to abspath for the input file in the txt output of rad-plot-tb2j-magnons.

    Every input source in each script is now saved as an absolute path. If not the case, please report a bug.


Major update of the lattice plotting:

  • All "colour" arguments are replaced with "color".

  • Plotting moved from the lattice class to the external Backend classes.

  • Add Plotly backend.

    Note that plotly is not added to the package dependencies.


Fix problems with the new plotting backend.


Add io for the POSCAR files: load_poscar() and dump_poscar(). Add encoding="utf-8" to all txt outputs. It was causing the problems when saving outputs on the windows platform.


Add utf-8 to the one forgotten place. It is advised to skip 0.8.7 and install 0.8.8 instead.


Add custom k-points to the rad-plot-tb2j-magnons script. Change default colors for the magnon dispersion plots.


Minor improvements. Add parameters to the MagnonDispersion.omega().


Bugfix in dump_ucf(). - number of materials was not written. It is working properly now. SKIP, install 0.8.12 instead.


Hotfix for 0.8.11 (Missed imports).


Add the summary message to the rad-identify-wannier-centres script.


Resolve issue #19


Skip this release in favour of 0.9.0