Syntax
[SS, SI, RR] = intmatrix(obj,Name,Value)
Description
[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 SS
contains the different types of exchange interactions separated into
different fields, such as SS.DM
for the Dzyaloshinskii-Moriya
interaction, SS.iso
for Heisenberg exchange, SS.all
for general
exchange etc.
Input Arguments
obj
- spinw object.
Name-Value Pair Arguments
'fitmode'
- Can be used to speed up calculation, modes:
true
No speedup (default).false
For the interactions stored inSS
, only theSS.all
field is calculated.
'plotmode'
- If
true
, additional rows are added toSS.all
, to identify the couplings for plotting. Default isfalse
. 'sortDM'
- If true each coupling is sorted for consistent plotting of
the DM interaction. Sorting is based on the
dR
bond vector that points fromatom1
toatom2
, for details see spinw.coupling. After sortingdR
vector components fulfill the following rules in hierarchical order:dR(x) > 0
dR(y) > 0
dR(z) > 0
.
Default is
false
. 'zeroC'
- Whether to output bonds with assigned matrices that have only
zero values. Default is
false
. 'extend'
- If
true
, all bonds in the magnetic supercell will be generated, iffalse
, only the bonds in the crystallographic unit cell is calculated. Default istrue
. 'conjugate'
- Introduce the conjugate of the couplings (by exchanging the interacting
atom1
andatom2
). Default isfalse
.
Output Arguments
SS
- structure with fields
iso
,ani
,dm
,gen
,bq
,dip
andall
. 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]
If
plotmode
istrue
, two additional rows are added toSS.all
, that contains theidx
indices of theobj.matrix(:,:,idx)
corresponding matrix for each coupling and theidx
values of the couplings (stored inspinw.coupling.idx
). Thedip
field contains the dipolar interactions that are not added to theSS.all
field. SI
- single ion properties stored in a structure with fields:
aniso
Matrix with dimensions of \([3\times 3\times n_{magAtom}]\), where the classical energy of the \(i\)-th spin is expressed asE_aniso = spin(:)*A(:,:,i)*spin(:)'
g
g-tensor, with dimensions of \([3\times 3\times n_{magAtom}]\). It determines the energy of the magnetic moment in external field:E_field = B(:)*g(:,:,i)*spin(:)'
field
External magnetic field in a row vector with three elements \((B_x, B_y, B_z)\).
RR
- Positions of the atoms in lattice units in a matrix with dimensions of \([3\times n_{magExt}]\).