Home > Scripts > Treatment > Sqw > Sqw_deBosify.m



Sqw_deBosify: remove Bose factor (detailed balance) from an 'experimental' data set.


function s = Sqw_deBosify(s, T, type)


 Sqw_deBosify: remove Bose factor (detailed balance) from an 'experimental' data set.
  In principle the resulting data set is 'classical' that is S(q,w) = S(q,-w)

  The S(q,w) is a dynamic structure factor aka scattering function.

   s: Sqw data set (non classical, including T Bose factor e.g from experiment)
        e.g. 2D data set with w as 1st axis (rows, meV), q as 2nd axis (Angs-1).
   T: when given, Temperature to use for Bose. When not given, the Temperature
      is searched in the object.
   type: 'Schofield' or 'harmonic' or 'standard' (default)

 omega = Ei-Ef = energy lost by the neutron, given in [meV]
    omega > 0, neutron looses energy, can not be higher than Ei (Stokes)
    omega < 0, neutron gains energy, anti-Stokes
 Egelstaff, Eq (9.25) p189
    S(q,-w) = exp(-hw/kT) S(q,w)
    S(q,w)  = exp( hw/kT) S(q,-w)
    S(q,w)  = Q(w) S*(q,w) with S*=classical limit
 for omega > 0, S(q,w) > S(q,-w)
 The semi-classical correction, Q, aka 'quantum' correction factor, 
 can be selected from the optional   'type' argument:
    Q = exp(hw_kT/2)                 'Schofield' or 'Boltzmann'
    Q = hw_kT./(1-exp(-hw_kT))       'harmonic'  or 'Bader'
    Q = 2./(1+exp(-hw_kT))           'standard'  or 'Frommhold' (default)

 The 'Boltzmann' correction leads to a divergence of the S(q,w) for e.g. w above 
 few 100 meV. The 'harmonic' correction provides a reasonable correction but does
 not fully avoid the divergence at large energies.

  Bose factor: n(w) = 1./(exp(w*11.605/T) -1) ~ exp(-w*11.605/T)
               w in [meV], T in [K]

 Example: s = Sqw_deBosify(s, 300);

 See also: Sqw_Bosify, Sqw_symmetrize, Sqw_dynamic_range, Sqw_scatt_xs
 (c) E.Farhi, ILL. License: EUPL.


This function calls: This function is called by:
Generated on Tue 22-Aug-2017 11:03:30 by m2html © 2005. iFit (c) E.Farhi/ILL EUPL 1.1