Ferromagnetic first neighbor Kagome lattice
We define the kagome lattice using the "P -3" space group (Nr. 147), using the 3 fold symmetry, we need to define only one magnetic atom. In this space group all fisrt neighbor couplings will be equivalent (related by symmetry). Symmetry equivalent positions of the magnetic atoms are automatically generated by the spinw.matom method. The magnetic atoms are Cu+ with S=1 spin.
Contents
Define the lattice
FMkagome = spinw; FMkagome.genlattice('lat_const',[6 6 5],'angled',[90 90 120],'spgr','P -3') FMkagome.addatom('r', [1/2 0 0], 'S', 1, 'label','MCu1','color','r') disp('Magnetic atom positions:') FMkagome.table('matom') plot(FMkagome,'range',[2 2 1],'atomColor','gold')
Magnetic atom positions: ans = 3×4 table matom idx S pos ______ ___ _ _________________ 'MCu1' 1 1 0.5 0 0 'MCu1' 2 1 0 0.5 0 'MCu1' 3 1 0.5 0.5 0
Create FM bonds
The first neighbor bonds will be ferromagnetic, J = -1 meV. The spinw.gencoupling will use the space group operators to identify equivalent couplings, if two bonds have the same length but not symmetry related, then they will be identified as different bonds. The 'maxDistance' option of the spinw.gencoupling method will be ensure that all bonds are generated up to the given distance in Angstrom.
FMkagome.gencoupling('maxDistance',4) disp('Bonds (length in Angstrom):') FMkagome.table('bond',[]) FMkagome.addmatrix('label','J1','value',-1,'color','orange'); FMkagome.addcoupling('mat','J1','bond',1); % Plot a nice rectangular cutout of the kagome lattice plot(FMkagome,'range',[31 32 2],'unit','xyz','cellMode','single')
Bonds (length in Angstrom): ans = 6×10 table idx subidx dl dr length matom1 idx1 matom2 idx2 matrix ___ ______ ______________ ____________________ ______ ______ ____ ______ ____ ______________ 1 1 0 1 0 0 0.5 0 3 'MCu1' 3 'MCu1' 1 '' '' '' 1 2 0 -1 0 -0.5 -0.5 0 3 'MCu1' 1 'MCu1' 2 '' '' '' 1 3 0 0 0 0.5 0 0 3 'MCu1' 2 'MCu1' 3 '' '' '' 1 4 0 0 0 0 -0.5 0 3 'MCu1' 3 'MCu1' 1 '' '' '' 1 5 1 0 0 0.5 0.5 0 3 'MCu1' 1 'MCu1' 2 '' '' '' 1 6 -1 0 0 -0.5 0 0 3 'MCu1' 2 'MCu1' 3 '' '' ''
FM magnetic structure
All spins are paralle, pointing along the y-axis (perpendicular to ac plane). We use the "helical" mode of the sw.gencoupling() function, even though the structure is not helical. However in this mode all missing spins will be automatically created using the k-vector and normal vector and assuming helical magnetic structure. Thus if we give k = (0 0 0) and only the direction of the first spin in the unit cell, the code will create all other spin parallel to the first.
FMkagome.genmagstr('mode','helical','k',[0 0 0],'n',[0 1 0],'S',[0 1 0]') disp('Magnetic structure:') FMkagome.table('mag') FMkagome.energy plot(FMkagome,'range',[2 2 1])
Magnetic structure: ans = 3×7 table num matom idx S realFhat pos kvect ___ ______ ___ _ ___________ _________________ ___________ 1 'MCu1' 1 1 0 1 0 0.5 0 0 0 0 0 2 'MCu1' 2 1 0 1 0 0 0.5 0 0 0 0 3 'MCu1' 3 1 0 1 0 0.5 0.5 0 0 0 0 Ground state energy: -2.000 meV/spin.
Spin wave dispersion
We calculate the spin wave dispersion. There are three modes, equal to the number of magnetic atom in the magnetic unit cell, denoted by different colors. At the zone center, the dispersion of the goldstone mode is parabolic, due to the FM interactions.
fmkSpec = FMkagome.spinwave({[-1/2 0 0] [0 0 0] [1/2 1/2 0] 100},'hermit',false); fmkSpec = sw_neutron(fmkSpec); fmkSpec = sw_egrid(fmkSpec, 'Evect',linspace(0,6.5,100),'component','Sperp'); figure sw_plotspec(fmkSpec,'mode',1,'colorbar',false,'axLim',[0 8])
Powder spectrum
We plot the powder spectrum two different ways. First as calculated (to show the extremely sharp Van Hoove singularity at the top of the dispersion), secondly convolute with a Gaussian along energy.
fmkPow = FMkagome.powspec(linspace(0,2.5,100),'Evect',linspace(0,7,250),'nRand',1000,'hermit',false); figure subplot(2,1,1) sw_plotspec(fmkPow,'colorbar',true,'axLim',[0 0.05]) subplot(2,1,2) sw_plotspec(fmkPow,'colorbar',true,'axLim',[0 0.05],'dE',0.25,'norm',true) swplot.subfigure(1,3,1)
Written by Bjorn Fak & Sandor Toth 06-Jun-2014, 06-Feb-2017