Version 0.7#

Date: 06 June 2023

Whats new?#

Major change: name of the package for pip installation is kept the same: "rad-tools". All imports in python code moved to "radtools".

New module, which affected other modules as well: Crystal.

Add print_2d_array().

Rename read_exchange_model() to load_tb2j_model().

Major design change in the spinham:

  • Renamed ExchangeModel to ExchangeHamiltonian

  • Move from the concept (atom1, atom2, R) -> bond to the concept (atom1, atom2, R) -> J.

  • Made class ExchangeParameter from the Bond.

  • Introduce new interface design for the SpinHamiltonian.

  • Iteration over SpinHamiltonian returns (atom1, atom2, R, J) instead of (atom1, atom2, R).

0.7.1#

Write correct behaviour of SpinHamiltonian with the SpinHamiltonian.double_counting:

>>> import radtools as rad
>>> m = rad.SpinHamiltonian()
>>> m.add_atom("Cr", position=(0, 0, 0), spin=3/2)
>>> m.add_bond("Cr", "Cr", (1, 0, 0), iso=1)
>>> # First time - only setting interpretation, no modification of values
>>> m.notation = "standard"
>>> m["Cr", "Cr", (1, 0, 0)].iso
1.0
>>> m["Cr", "Cr", (-1, 0, 0)].iso
1.0
>>> m.double_counting
True
>>> m.double_counting = False
>>> m["Cr", "Cr", (1, 0, 0)].iso
2.0
>>> ("Cr", "Cr", (1, 0, 0)) in m
True
>>> ("Cr", "Cr", (-1, 0, 0)) in m
False
>>> m.double_counting = True
>>> m["Cr", "Cr", (1, 0, 0)].iso
1.0
>>> ("Cr", "Cr", (-1, 0, 0)) in m
True

Add attribute access to the atoms through atom names to the Crystal:

>>> import radtools as rad
>>> c = rad.Crystal()
>>> c.add_atom(rad.Atom("Cr", index=1))
>>> c.Cr.fullname
'Cr__1'
>>> c.Cr__1.fullname
'Cr__1'
>>> c.add_atom(rad.Atom("Cr", index=2))
>>> c.Cr__1.fullname
'Cr__1'
>>> c.Cr__2.fullname
'Cr__2'
>>> c.Cr
Traceback (most recent call last):
...
AttributeError: 'Lattice' object has no attribute 'Cr'

0.7.2#

Add magnetic dipole-dipole energy calculator to the Crystal.

0.7.3#

Bugfix in convergence of magnetic dipole-dipole energy (Crystal.converge_mag_dipdip_energy). Energy difference between steps was not calculated correctly (overestimated).

0.7.4#

Bugfix in the rad-plot-dos.py: For spin-polarized PDOS :ref:rad-plot-dos_relative` Arguments was causing problems with overlapping colours. It is fixed.

0.7.5#

Add Custom plots and -cls, --colours to the rad-plot-dos.py.

0.7.6#

Add summing over atom types to the Custom plots.

0.7.7#

Add the option for removing background label to Custom plots.

0.7.8#

Add fontsize options to Custom plots.

0.7.9#

Bugfix in rad-plot-dos.py.

0.7.10#

Changes in rad-make-template.py. Now bonds are grouped by distances by default.

0.7.11#

Bugfix in print_2d_array(). Refractor the whole module. Extend documentation. Add shift and borders options to print_2d_array(). Bugfix in dos.py.

0.7.12#

First version of magnons module, Add rad-plot-tb2j-magnons.py script.

0.7.13#

Bugfix, some scripts did not work before.

0.7.14#

Preliminary version of rad-plot-fatbands.py script.

0.7.15#

Bugfix if rad-plot-dos.py script. With custom plotting.