sqw_phonon_dos: compute the density of states (gDOS or vDOS) The routine can be used for 2D and 4D models and data sets. when used on 4D data sets and models S(HKL,w), the vDOS is computed. when used on 2D data sets and models S(|q|,w), the gDOS is computed. ================================ 4D case ==================================== DOS = sqw_phonon_dos(s) returns the vibrational density of states (vDOS) the vDOS and the partials per mode are also stored in the UserData. DOS = sqw_phonon_dos(s, n) does the same with n-bins on the vDOS (n=100) when the DOS has already been computed, it is used as is. To force a recomputation, set: s.UserData.DOS=[]; to smooth the resulting distribution, use: sDOS = smooth(DOS); plot(sDOS); ================================ 2D case ==================================== The gDOS is an approximation of the vibrational spectra (DOS). This routine should be applied on an incoherent dynamic S(q,w) data set. The S(q,w) is a dynamic structure factor aka scattering function. gDOS(q,w) = S(q,w) w/q2 [1 - exp(-hw/kT)] [Carpenter/Price] The applicability to a coherent dynamic structure factor S(q,w) should be taken with great care, as this formalism then does not hold. The method to use in the gDOS computation can be given as 2nd argument gDOS = sqw_phonon_dos(Sqw, 'Carpenter') gDOS = sqw_phonon_dos(Sqw, 'Bellisent') gDOS = sqw_phonon_dos(Sqw, 'Bredov') better for coherent scatterers The gDOS(w) is obtained by extracting the low momentum values out of gDOS(q,w). The syntax is: [g(w), g(q,w)]=sqw_phonon_dos(Sqw, method, n) input: s: Sqw data set e.g. 2D data set with w as 1st axis (rows, meV), q as 2nd axis (Angs-1). method: 'Carpenter' (default),'Bellisent' or 'Bredov' n: number of low-angle values to integrate (integer). Default is 10 when omitted. output: g: gDOS(w) (1D iData versus energy) conventions: omega = Ei-Ef = energy lost by the neutron omega > 0, neutron looses energy, can not be higher than Ei (Stokes) omega < 0, neutron gains energy, anti-Stokes references: Price J. et al, Non Cryst Sol 92 (1987) 153 Bellisent-Funel et al, J. Mol. Struct. 250 (1991) 213 Carpenter and Pelizarri, Phys. Rev. B 12, 2391 (1975) Suck et al, Journal of Alloys and Compounds 342 (2002) 314 Bredov et al., Sov. Phys. Solid State 9, 214 (1967) Example: Sqw=iData('SQW_coh_lGe.nc'); g = sqw_phonon_dos(Sqw_Bosify(Sqw_symmetrize(Sqw))); plot(g); (c) E.Farhi, ILL. License: EUPL.