


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.