spectra = sw_magdomain(spectra,Name,Value)


spectra = sw_magdomain(spectra,Name,Value) calculates spin-spin correlation function averaged over magnetic domains that are related by a point group operation. Several domains with different volume ratios can be defined. The spin-spin correlation function will be rotated and summed according to the domains. The rotations of the magnetic domains are defined in the coordinate system, same as the coordinate system for the spin-spin correlation function. The function only rotates the components of the spin, but not the momentum , thus it cannot be used to simulate magnetic domains with different propagation vector.


The above example calculates the spectrum for magnetic domains that are related by a 90 ° rotation around the -axis (perpendicular to the plane). All domains have equal volume.

spec = cryst.spinwave({[0 0 0] [1 0 0]})
spec = sw_magdomain(spec,'axis',[0 0 1],'angled',[0 90 180 270]);

Input Arguments

Calculated spin wave spectrum.

Name-Value Pair Arguments

Defines axis of rotation to generate domains in the coordinate system, row vector with 3 elements.
Defines the angle of rotation to generate domains in radian units, multiple domains can be defined if angle is a row vector with number of elements.
Same as the angle parameter, just in ° units.
Rotation matrices, that define crystallographic domains, alternative input instead of angle and axis, matrix with dimensions of .
Volume fractions of the domains in a row vector with number of elements. Default value is ones(1,nDom).

Output Arguments

Spectrum (Struct) with the following additional fields:
  • Sab The multi domain spectrum will be stored here.
  • Sabraw The original single domain spectrum is kept here, so that a consecutive run of sw_magdomain will use the original single domain spectrum, without the need of recalculating the full spectrum.
  • domVol Volume of each domains in a row vector with number of elements.
  • domRotC Rotation matrices for each domain, with dimensions of .

See Also

spinw.spinwave | spinw.addtwin | spinw.twinq