Home > Scripts > Models > Specialized > sqw_recoil.m

iFit/sqw_recoil

PURPOSE ^

model = sqw_recoil(p, q ,w, {signal}) : Recoil dispersion(Q) for a single harmonic oscillator

SYNOPSIS ^

function signal=sqw_recoil(varargin)

DESCRIPTION ^

 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. 27, 2018
 See also iData, iFunc
   <a href="matlab:doc(iFunc,'Models')">iFunc:Models</a>
 (c) E.Farhi, ILL. License: EUPL.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Tue 27-Nov-2018 10:56:24 by m2html © 2005. iFit (c) E.Farhi/ILL EUPL 1.1