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:
trueNo speedup (default).falseFor the interactions stored inSS, only theSS.allfield 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
dRbond vector that points fromatom1toatom2, for details see spinw.coupling. After sortingdRvector components fulfill the following rules in hierarchical order:dR(x) > 0dR(y) > 0dR(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
atom1andatom2). Default isfalse.
Output Arguments
SS- structure with fields
iso,ani,dm,gen,bq,dipandall. 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
plotmodeistrue, two additional rows are added toSS.all, that contains theidxindices of theobj.matrix(:,:,idx)corresponding matrix for each coupling and theidxvalues of the couplings (stored inspinw.coupling.idx). Thedipfield contains the dipolar interactions that are not added to theSS.allfield. SI- single ion properties stored in a structure with fields:
anisoMatrix with dimensions of , where the classical energy of the -th spin is expressed asE_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 .
RR- Positions of the atoms in lattice units in a matrix with dimensions of .