


calculates powder averaged spin wave spectra
spectra = POWSPEC(obj, hklA, 'Option1', Value1, ...)
Input:
obj sw class object.
hklA Vector containing the Q values in inverse Angstrom where powder
spectra will be calculated, dimensions are [1 nQ].
Options:
nRand Number of random orientations per Q value, default is 100.
Evect Vector, defined the energy transfer values for the
convoluted output in units of meV, dimensions are [1 nE].
Default is linspace(0,1,100).
T Temperature to calculate the Bose factor in units
depending on the Boltzmann constant. Default is taken from
obj.single_ion.T value.
title Gives a title string to the simulation that is saved in the
output.
specfun Function handle of the spectrum calculation function. Default
is @spinwave.
extrap If true, arbitrary additional parameters are passed over to
the spectrum calculation function.
Output:
'spectra' is a struct type variable with the following fields:
swConv The spectra convoluted with the dispersion. The center
of the energy bins are stored in spectra.Evect. Dimensions are
[nE nQ].
hklA Same Q values as the input hklA [1 nQ]. Evect
Contains the input energy transfer values, dimensions are
[1 nE].
param Contains all the input parameters.
obj The copy of the input obj object.
Example:
tri = sw_model('triAF',1);
E = linspace(0,3,100);
Q = linspace(0,4,300);
triSpec = tri.powspec(Q,'Evect',E,'nRand',1e3);
sw_plotspec(triSpec);
The example calculates the powder spectrum of the triangular lattice
antiferromagnet (S=1, J=1) between Q = 0 and 3 A^-1 (the lattice
parameter is 3 Angstrom).
See also SW, SW.SPINWAVE, SW.OPTMAGSTR.