[genBond, uBond] = swsym.bond(r,bv,bond,symOp)
[genBond, uBond] = swsym.bond(r,bv,bond,symOp,tol)
[genBond, uBond] = swsym.bond(r,bv,bond,symOp) generates all bonds that
are symmetry equivalent to the given
bond. The function uses the given
space group operators and positions of magnetic atoms to return a list of
equivalent bonds in a matrix. The function also checks the validity of
the calculation by measuring the length of each equivalent bond using the
bv base and if the difference in length between equivalent bonds
is larger than the tolerance throws a warning.
[genBond, uBond] = swsym.bond(r,bv,bond,symOp,tol) also defines the
- Positions of the magnetic atoms in lattice units stored in a matrix with dimensions of .
- Basis vectors that define the lattice, used for checking the bond length of equivalent bonds, see spinw.basisvector for details.
- Vector that contains the starting bond with elements of
[dl_a dl_b dl_c atom_1 atom_2], where
dlis vector of lattice translation between the two atoms if they are not in the same unit cell in lattice units,
atom_2are indices of atoms in the list of positions stored in
- Matrix, that contains the rotation and translation operators of the space group with dimensions of .
- Tolerance, default value is .
- Matrix, whith each column defines a bond, the meaning of each
row is the same as the input
- Logical variable,
trueif all the generated bonds are unique.