Home > Scripts > Models > Specialized > sqw_linquad.m



model = sqw_linquad(p, h,k,l,w, {signal}) : linear-quadratic dispersion(HKL) with DHO(energy)


function signal=sqw_linquad(varargin)


 model = sqw_linquad(p, h,k,l,w, {signal}) : linear-quadratic dispersion(HKL) with DHO(energy)

   iFunc/sqw_linquad: a 4D S(q,w) with a 3D HKL dispersion with linear or 
      quadratic dependency, and a DHO line shape. 
      This dispersion corresponds with a local description of an excitation, 
      centered around an (H0,K0,L0,E0) point.

   The model requires to define a direction corresponding with a Slope1 linear 
   dependency as well as a second direction. An ortho-normal coordinate basis 
   is then derived. All HKL coordinates are in rlu, and energies are in meV.

   The dispersion has the form:
      w(q) = sqrt[(Slope1*(q-HKL0) + E0)^2 + Slope^2*(q-HKL0)^2]
   so that when the dispersion is linear arount [HKL0 E0], else it is 

   To define a mode which has its minimum E0 at a given HKL location, use:
      sqw_linquad([ H K L E0 ])
   this can be used to get a linear dispersion.

   You can of course tune other parameters once the model object has been created.

 WARNING: Single intensity and line width parameters are used here.

 To model more than one branch, just add these models together.

   s=sqw_linquad([.25 0 0 5]); qh=linspace(0,.5,50);qk=qh; ql=qh'; w=linspace(0.01,20,50);
   f=iData(s,s.p,qh,qk,ql,w); plot3(log(f(:,1,:,:)));

 Reference: https://en.wikipedia.org/wiki/Phonon

 input:  p: sqw_linquad model parameters (double)
             p(1) = DC_Hdir1         Slope1 dispersion direction, H (linear) [rlu]
             p(2) = DC_Kdir1         Slope1 dispersion direction, K (linear) [rlu]
             p(3) = DC_Ldir1         Slope1 dispersion direction, L (linear) [rlu]
             p(4) = DC_Hdir2         Slope2 dispersion direction, H (transverse) [rlu]
             p(5) = DC_Kdir2         Slope2 dispersion direction, K (transverse) [rlu]
             p(6) = DC_Ldir2         Slope2 dispersion direction, L (transverse) [rlu]
             p(7) = DC_Slope1        Dispersion slope along 1st axis (linear) [meV/rlu]
             p(8) = DC_Slope2        Dispersion slope along 2nd axis (transverse) [meV/rlu]
             p(9) = DC_Slope3        Dispersion slope along 3rd axis (vertical) [meV/rlu]
             p(10)= Ex_H0            Excitation location, H [rlu]
             p(11)= Ex_K0            Excitation location, K [rlu]
             p(12)= Ex_L0            Excitation location, L [rlu]
             p(13)= Ex_E0_Center     Excitation energy center [meV]
             p(14)= DHO_Amplitude
             p(15)= DHO_Damping      Excitation damping, half-width [meV]
             p(16)= DHO_Temperature  Temperature [K]
             p(17)= Background   
          or p='guess'
         qh: axis along QH in rlu (row,double)
         qk: axis along QK in rlu (column,double)
         ql: axis along QL in rlu (page,double)
         w:  axis along energy in meV (double)
    signal: when values are given, a guess of the parameters is performed (double)
 output: signal: model value

 Version: Nov. 26, 2018
 See also iData, iFunc/fits, iFunc/plot, gauss, sqw_phonons, sqw_cubic_monoatomic, sqw_vaks
   <a href="matlab:doc(iFunc,'Models')">iFunc:Models</a>
 (c) E.Farhi, ILL. License: EUPL.


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