[SS, SI, RR] = intmatrix(obj,Name,Value)
[SS, SI, RR] = intmatrix(obj,Name,Value) lists the bonds and generates
the corresponding exchange matrices by applying the bond symmetry
operators on the stored matrices. Also applies symmetry on the single ion
anisotropies and can generate the representation of bonds, anistropies
and atomic positions in an arbitrary supercell. The output argument
contains the different types of exchange interactions separated into
different fields, such as
SS.DM for the Dzyaloshinskii-Moriya
SS.iso for Heisenberg exchange,
SS.all for general
- spinw object.
Name-Value Pair Arguments
- Can be used to speed up calculation, modes:
trueNo speedup (default).
falseFor the interactions stored in
SS, only the
SS.allfield is calculated.
true, additional rows are added to
SS.all, to identify the couplings for plotting. Default is
- If true each coupling is sorted for consistent plotting of
the DM interaction. Sorting is based on the
dRbond vector that points from
atom2, for details see spinw.coupling. After sorting
dRvector components fulfill the following rules in hierarchical order:
dR(x) > 0
dR(y) > 0
dR(z) > 0.
- Whether to output bonds with assigned matrices that have only
zero values. Default is
true, all bonds in the magnetic supercell will be generated, if
false, only the bonds in the crystallographic unit cell is calculated. Default is
- Introduce the conjugate of the couplings (by exchanging the interacting
atom2). Default is
- structure with fields
all. It describes the bonds between spins. Every field is a matrix, where every column is a coupling between two spins. The first 3 rows contain the unit cell translation vector between the interacting spins, the 4th and 5th rows contain the indices of the two interacting spins in the spinw.matom list. The following rows contains the strength of the interaction. For isotropic exchange it is a single number, for DM interaction it is a column vector
[DMx; DMy; DMz], for anisotropic interaction
[Jxx; Jyy; Jzz]and for general interaction
[Jxx; Jxy; Jxz; Jyx; Jyy; Jyz; Jzx; Jzy; Jzz]and for biquadratic exchange it is also a single number. For example:
SS.iso = [dl_a; dl_b; dl_c; matom1; matom2; Jval]
true, two additional rows are added to
SS.all, that contains the
idxindices of the
obj.matrix(:,:,idx)corresponding matrix for each coupling and the
idxvalues of the couplings (stored in
dipfield contains the dipolar interactions that are not added to the
- single ion properties stored in a structure with fields:
anisoMatrix with dimensions of , where the classical energy of the -th spin is expressed as
E_aniso = spin(:)*A(:,:,i)*spin(:)'
gg-tensor, with dimensions of . It determines the energy of the magnetic moment in external field:
E_field = B(:)*g(:,:,i)*spin(:)'
fieldExternal magnetic field in a row vector with three elements .
- Positions of the atoms in lattice units in a matrix with dimensions of .