.. _release-notes_0.7: *********** 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: :ref:`rad-tools_crystal`. Add :py:func:`.print_2d_array`. Rename :py:func:`.read_exchange_model` to :py:func:`.read_tb2j_model`. Major design change in the :py:mod:`.exchange`: * Renamed :py:class:`ExchangeModel` to :py:class:`.ExchangeHamiltonian` * Move from the concept (atom1, atom2, R) -> bond to the concept (atom1, atom2, R) -> J. * Made class :py:class:`.ExchangeParameter` from the :py:class:`Bond`. * Introduce new interface design for the :py:class:`.ExchangeHamiltonian`. * Iteration over :py:class:`.ExchangeHamiltonian` returns (atom1, atom2, R, J) instead of (atom1, atom2, R). 0.7.1 ----- Write correct behaviour of :py:class:`.ExchangeHamiltonian` with the :py:attr:`.ExchangeHamiltonian.double_counting`: .. doctest:: >>> import radtools as rad >>> m = rad.ExchangeHamiltonian() >>> m.add_atom(rad.Atom("Cr", (0,0,0), spin=3/2)) >>> m.add_bond(rad.ExchangeParameter(iso=1), "Cr", "Cr", (1,0,0)) >>> # 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 :py:class:`.Crystal`: .. doctest:: >>> 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 :ref:`api_crystal`. 0.7.3 ----- Bugfix in convergence of magnetic dipole-dipole energy (:py:attr:`.Crystal.converge_mag_dipdip_energy`). Energy difference between steps was not calculated correctly (overestimated). 0.7.4 ----- Bugfix in the :ref:`rad-plot-dos`: For spin-polarized PDOS :ref:rad-plot-dos_relative` Arguments was causing problems with overlapping colours. It is fixed. 0.7.5 ----- Add :ref:`rad-plot-dos_custom-plots` and :ref:`rad-plot-dos_colours` to the :ref:`rad-plot-dos`. 0.7.6 ----- Add summing over atom types to the :ref:`rad-plot-dos_custom-plots`. 0.7.7 ----- Add the option for removing background label to :ref:`rad-plot-dos_custom-plots`. 0.7.8 ----- Add fontsize options to :ref:`rad-plot-dos_custom-plots`. 0.7.9 ----- Bugfix in :ref:`rad-plot-dos`. 0.7.10 ------ Changes in :ref:`rad-make-template`. Now bonds are grouped by distances by default. 0.7.11 ------ Bugfix in :py:func:`.print_2d_array`. Refractor the whole module. Extend documentation. Add ``shift`` and ``borders`` options to :py:func:`.print_2d_array`. Bugfix in ``dos.py``. 0.7.12 ------ First version of magnons module, Add :ref:`rad-plot-tb2j-magnons` script. 0.7.13 ------ Bugfix, some scripts did not work before. 0.7.14 ------ Preliminary version of :ref:`rad-plot-fatbands` script. 0.7.15 ------ Bugfix if :ref:`rad-plot-dos` script. With custom plotting.