RAD-tools interface#

Yes, it is interface to itself.

Function load_template() reads spin Hamiltonian template file and constructs ExchangeTemplate from it.

Here is full template file specification:

Template specification#

Template file helps to choose particular bonds for filtering of spin Hamiltonian or for extracting model with grouped parameters (i.e. \(J_1\), \(J_2\), ...).

Here is the draft of the template file which is provided by the script:

 1================================================================================
 2    ██████╗  █████╗ ██████╗       ████████╗ █████╗  █████╗ ██╗      ██████╗
 3    ██╔══██╗██╔══██╗██╔══██╗      ╚══██╔══╝██╔══██╗██╔══██╗██║     ██╔════╝
 4    ██████╔╝███████║██║  ██║█████╗   ██║   ██║  ██║██║  ██║██║     ╚═█████╗
 5    ██╔══██╗██╔══██║██║  ██║╚════╝   ██║   ██║  ██║██║  ██║██║       ╚══██║
 6    ██║  ██║██║  ██║██████╔╝         ██║   ╚█████╔╝╚█████╔╝███████╗██████╔╝
 7    ╚═╝  ╚═╝╚═╝  ╚═╝╚═════╝          ╚═╝    ╚════╝  ╚════╝ ╚══════╝╚═════╝
 8                          Version: 0.8.13                       ▄   ▄
 9                   Documentation: rad-tools.org                 █▀█▀█
10                    Release date: 4 March 2024                  █▄█▄█
11        Git hash: 43a49a2aaa1472db5dd040fa5186cc293e9b7e45       ███   ▄▄
12                        Licence: GNU GPLv3                       ████ █  █
13                                                                 ████    █
14              Generated on 12 April 2024 at 17:19:50             ▀▀▀▀▀▀▀▀
15================================================================================
16Neighbors template:
17Atom1 Atom2   i   j   k
18--------------------------------------------------------------------------------
19J1 $J_1$
20atom1 atom2   0   0   0
21atom1 atom2   1   0   0
22atom1 atom1  -1   0   2
23--------------------------------------------------------------------------------
24J2
25atom2 atom1   9   5  -3
26atom1 atom2   1   4   0
27atom2 atom2   1   0   2
28================================================================================

Line 1-14: Logo and stats of RAD-tools.

Line 15: Header of the file (20 or more "=" symbols).

Line 16: Flag of the neighbors section, have to be in the file.

Line 17: Format of the bond specification line.

Line 18: Neighbour separator (20 or more "-" symbols). Separates different neighbors \((J_1, J_2, \dots)\) in the template file.

Line 19: Name of the neighbour and the LaTeX version of that name. Name have to be specified. LaTeX name is optional. Name and LaTeX name are separated by one or more spaces, as a consequence no spaces are allowed for both of them.

Line 20: First bond, which corresponds to the first neighbour (\(J_1\)). Format of the bond specification:

atom1_mark atom2_mark i j k

Where R is a real-space vector of the unit cell in which the second atom is located (atom1 always located in R = (0, 0, 0)).

Line 21, 22: Specification of the second and third bond from the first neighbour.

Line 23: Neighbour separator.

Line 24: Name of the second neighbour.

Note

There is no LaTeX name specified for the second neighbour.

Lines 25-27: Specifications of the first, second and third bond, which are associated with the second neighbour.

Lines 28: Footer of the file (20 or more "=" symbols).