Home > Applications > SpinW > m_files > @sw > corespec.m

iFit/corespec

PURPOSE ^

calculates dispersion and V transformation matrix using linear spin wave theory

SYNOPSIS ^

function [omega, Vsave] = corespec(obj, hkl, varargin)

DESCRIPTION ^

 calculates dispersion and V transformation matrix using linear spin wave theory

 [omega, V] = CORESPEC(obj, hkl, 'option1', value1 ...)

 Spin wave dispersion and spin-spin correlation function is calculated at
 the reciprocal space points k. The function can deal with arbitrary
 magnetic structure and magnetic interactions as well as single ion
 anisotropy and magnetic field.

 If the magnetic ordering wavevector is non-integer, the dispersion is
 calculated using a coordinate system rotating from cell to cell. In this
 case the Hamiltonian has to fulfill this extra rotational symmetry.

 Input:

 obj           Input structure, sw class object.
 hkl           Defines the Q points where the spectra is calculated, in
               reciprocal lattice units, size is [3 nHkl]. Q can be also
               defined by several linear scan in reciprocal space. In this
               case hkl is cell type, where each element of the cell
               defines a point in Q space. Linear scans are assumed
               between consecutive points. Also the number of Q points can
               be specified as a last element, it is 100 by defaults. For
               example: hkl = {[0 0 0] [1 0 0]  50}, defines a scan along
               (h,0,0) from 0 to 1 and 50 Q points are calculated along
               the scan.

 Options:

 fitmode       Speedup (for fitting mode only), default is false.
 notwin        If true, the spectra of the twins won't be calculated.
               Default is false.
 sortMode      The spin wave modes will be sorted if true. Default is
               true.
 optmem        Parameter to optimise memory usage. The list of hkl values
               will be cut into optmem number of pieces and will be
               calculated piece by piece to decrease memory usage. Default
               of optmem is zero, when the number of slices are determined
               automatically from the available free memory.
 tol           Tolerance of the incommensurability of the magnetic
               ordering wavevector. Deviations from integer values of the
               ordering wavevector smaller than the tolerance are
               considered to be commensurate. Default value is 1e-4.
 omega_tol     Tolerance on the energy difference of degenerate modes when
               diagonalising the quadratic form, default is 1e-5.
 hermit        Method for matrix diagonalization:
                   true      J.H.P. Colpa, Physica 93A (1978) 327,
                   false     R.M. White, PR 139 (1965) A450.
               Colpa: the grand dynamical matrix is converted into another
                      Hermitian matrix, that will give the real
                      eigenvalues.
               White: the non-Hermitian g*H matrix will be diagonalised,
                      that is not the elegant method.
               Advise:
               Always use Colpa's method, except when small imaginary
               eigenvalues are expected. In this case only White's method
               work. The solution in this case is wrong, however by
               examining the eigenvalues it can give a hint where the
               problem is.
               Default is true.
 nSlice        Parameter to optimise memory usage. The list of hkl values
               will be cut into nSlice pieces and will be calculated piece
               by piece to decrease memory usage. Default is zero, when
               the number of slices are determined automatically from the
               available free memory.
 onlyV         Calculate only the dispersion and the V linear
               transformation matrices. The V matrices transform between
               the original magnon operators and the normal magnon
               operators.

 Output:

 spectra is a structure, with the following fields:
 omega         Calculated spin wave dispersion, dimensins are
               [nMode nHkl], where nMagExt is the number of magnetic
               atoms in the extended unit cell.
 Sab           Dynamical structure factor, dimensins are
               [3 3 nMode nHkl]. Each (:,:,i,j) submatrix contains the
               9 correlation functions: Sxx, Sxy, Sxz, etc.
 V             Optional output, calculated if 'onlyV' option is true (in
               that case Sab is not calculated). Dimensions are
               [nMode nMode nHkl].


 nMode is the number of magnetic mode. For commensurate structures it is
 double the number of magnetic atoms in the magnetic cell/supercell. For
 incommensurate structures this number is tripled due to the appearance of
 the (Q+/-km) Fourier components in the correlation functions.

 If several twins exist in the sample, omega and Sab are packaged into a
 cell, that contains nTwin number of matrices.

 hkl           Contains the input Q values, dimensins are [3 nHkl].
 hklA          Same Q values, but in reciproc Angstrom units in the
               lab coordinate system, dimensins are [3 nHkl].
 incomm        Whether the spectra calculated is incommensurate or not.
 obj           The copy of the input obj.

 See also SW, SW.SPINWAVESYM, SW_NEUTRON, SW_POL, SW.POWSPEC, SW.OPTMAGSTR.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Mon 26-Nov-2018 15:08:42 by m2html © 2005. iFit (c) E.Farhi/ILL EUPL 1.1