.. _rad-plot-tb2j-magnons: ************************ rad-plot-tb2j-magnons.py ************************ Script for plotting magnon dispersion from |TB2J|_ "exchange.out" file. .. versionadded:: 0.7.12 Script plots magnon dispersion spectra following the algorithm described in :ref:`library_magnon-dispersion-method`. It requires |TB2J|_ output file "exchange.out" and the information about the magnetic ground state. Example is based on the files from :examples:`examples folder `. Ground state input ================== Ground state is defined by two sets of parameters: * Directions of spin in the unit cell (or supercell) To define direction of spins in the supercell use :ref:`rad-plot-tb2j-magnons_spin` parameter. You need to use the names of the atoms in the "exchange.out" file. Each name has to be followed by three numbers, separated by spaces. The numbers represent the x, y, and z components of the spin vector: .. code-block:: -s Cr1 0 0 1.5 Cr2 0 0 1.5 * Spin-spiral vector. (single-Q incommensurate structure). Spin spiral is defined by two parameters, each parameter is a vector: * :math:`\boldsymbol{\vec{Q}}` (:ref:`rad-plot-tb2j-magnons_spiral-vector`) It is relative to the reciprocal cell. * Global rotation axis :math:`\boldsymbol{\vec{n}}` (:ref:`rad-plot-tb2j-magnons_rotation-axis`) It is given in absolute coordinate in a real space. Only the direction of the vector matters. In the input file "exchange.out" six atoms are present: Br1, Cr1, S1, Br2, Cr2, S2. Only Cr1 and Cr2 have exchange interaction between them. Therefore, it is necessary to specify spin vectors for Cr1 and Cr2. You can specify spin vectors for all atoms, but it is not necessary. .. _rad-plot-tb2j-magnons_custom-k-points: Custom k-points =============== By default you can use predefined k-points based on the high symmetry points for each :ref:`Bravais lattice `. However, you can specify your own high symmetry points using :ref:`rad-plot-tb2j-magnons_k-points` argument: .. code-block:: bash rad-plot-tb2j-magnons.py -if exchange.out -kps X1 "$\mathrm{X_1}$" -0.5 0 0 Y1 "$\mathrm{Y_1}$" 0 -0.5 0 -kp X1-G-Y1 -s Cr1 0 0 1.5 Cr2 0 0 1.5 -on CrSBr-custom-kpoints .. figure:: ../../../examples/rad-plot-tb2j-magnons/CrSBr-custom-kpoints.png :target: ../../../_images/CrSBr-custom-kpoints.png :align: center The syntax is the following: .. code-block:: text -kps ... where: * is the name of the k-point It can be used in the :ref:`rad-plot-tb2j-magnons_k-path` argument. .. note:: If an error like: .. code-block:: text ValueError: Point 'X' already defined. appears, then you need to use different name for the k-points, because the name "X" is already used. Only the name is checked for uniqueness. Therefore, you can provide the same label for different k-points or custom label for one of the predefined k-points. *