Antiferromagnetic square lattice
We define a square lattice in the ab plane, with Cu+ ions with S=1 spin.
Contents
Define the lattice
AFsq = spinw; AFsq.genlattice('lat_const',[3 3 6],'angled',[90 90 90],'spgr',0) AFsq.addatom('r',[0 0 0],'S', 1,'label','Cu1','color','b') AFsq.table('atom') plot(AFsq) swplot.zoom(1.5)
ans = 1×4 table matom idx S pos _____ ___ _ ___________ 'Cu1' 1 1 0 0 0
Couplings
We create first neighbor couplings in the ab plane and plot the bonds. You can click on the different bonds to get the value of the corresponding matrix.
AFsq.gencoupling('maxDistance',5) AFsq.table('bond',[]) AFsq.addmatrix('label','J1','value', 1,'color','red') AFsq.addmatrix('label','J2','value',-0.1,'color','green') AFsq.addcoupling('mat','J1','bond',1) AFsq.addcoupling('mat','J2','bond',2) plot(AFsq,'range',[2 2 0.5])
ans = 4×10 table idx subidx dl dr length matom1 idx1 matom2 idx2 matrix ___ ______ _____________ _____________ ______ ______ ____ ______ ____ ______________ 1 1 1 0 0 1 0 0 3 'Cu1' 1 'Cu1' 1 '' '' '' 1 2 0 1 0 0 1 0 3 'Cu1' 1 'Cu1' 1 '' '' '' 2 1 1 -1 0 1 -1 0 4.243 'Cu1' 1 'Cu1' 1 '' '' '' 2 2 1 1 0 1 1 0 4.243 'Cu1' 1 'Cu1' 1 '' '' ''
Magnetic structure
For weak second neighbor ferromagnetic interaction the magnetic structure is Neel type, with the following parameters:
- ordering wave vector k = (1/2 1/2 0)
- spin are in arbitrary plane, lets point along the S = (1 0 0) direction
- normal to the spin vectors n = (0 0 1)
- magnetic supercell is 2x2x1
We use magnetic supercell, since the 2*k equal to a reciprocal lattice vector. In this case the spin wave code cannot use the incommensurate mode, thus we have to create a zero-k structure, that is a 2x2x1 magnetic supercell.Note that the spinw.genmagstr() automatically normalizes the spin vectors to the spin value of the magnetic atoms.
AFsq.genmagstr('mode','helical','k',[1/2 1/2 0],'n',[0 0 1], 'S',[1; 0; 0],'nExt',[1 1 1]); disp('Magnetic structure:') AFsq.table('mag') AFsq.energy plot(AFsq,'range',[2 2 1])
Magnetic structure: ans = 1×8 table num matom idx S realFhat imagFhat pos kvect ___ _____ ___ _ ___________ ___________ ___________ _________________ 1 'Cu1' 1 1 1 0 0 0 1 0 0 0 0 0.5 0.5 0 Ground state energy: -2.200 meV/spin.
Spin wave spectrum
We calculate the spin wave spectrum and correlation function along several linear q-scans in reciprocal space defined by the Qcorner corner points. The last number in the cell defines the number of steps in each linear scan.
Qcorner = {[0 0 0] [1/2 0 0] [1/2 1/2 0] [0 0 0] 200}; sqSpec = AFsq.spinwave(Qcorner, 'hermit', false); sqSpec = sw_neutron(sqSpec); sqSpec = sw_egrid(sqSpec,'Evect',linspace(0,6.5,500)); figure sw_plotspec(sqSpec,'mode',3,'dashed',true,'dE',0.4,'qLabel',{'\Gamma' 'X' 'M' '\Gamma'}) caxis([0 4])
Warning: The two times the magnetic ordering wavevector 2*km = G, reciproc lattice vector, use magnetic supercell to calculate spectrum!
Written by Bjorn Fak & Sandor Toth 06-Jun-2014, 06-Feb-2017