model = sqw_recoil(p, q ,w, {signal}) : Recoil dispersion(Q) for a single harmonic oscillator iFunc/sqw_recoil: a 2D S(q,w) with a recoil dispersion, isotropic harmonic oscillator This is a 2D recoil model for a single harmonic oscillator particle with given mass. The mass defines the dispersion energy, while the harmonic oscillator energy defines the Debye-Waller function, i.e. intensity vs Q. This model is also known as 'impulse approximation' or 'short time' Gaussian. The dispersion has the form: S(q,w) = 1/sqrt(2*pi*delta2).*exp( -(w - Er).^2/2./delta2 ) where Er = h2 q2/2/m delta2 = Er.*coth(w0/2/kT) You can build a recoil model for a given mass and oscillator energy with syntax: sqw = sqw_recoil(mass) or sqw = sqw_recoil([ mass energy ]) You can of course tune other parameters once the model object has been created. To model more than one oscillator/particle recoil, just add these models together. Evaluate the model with syntax: sqw(p, q, w) input: p: sqw_recoil model parameters (double) p(1)= Mass Mass of the scattering unit [g/mol] p(2)= Ex_Energy Harmonic Excitation Energy [meV] p(3)= Amplitude p(4)= Temperature Temperature [K] q: axis along wavevector/momentum in Angs-1 (row,double) w: axis along energy in meV (column,double) output: signal: model value Example: s=sqw_recoil(2); % Deuterium mass plot(iData(s, [], 0:.1:20, (0:100))) % q=0:20, energy=0:100 Reference: Schober, JNR 17 (2014) 109–357 - DOI 10.3233/JNR-140016 Version: Nov. 26, 2018 See also iData, iFunc <a href="matlab:doc(iFunc,'Models')">iFunc:Models</a> (c) E.Farhi, ILL. License: EUPL.