Home > Objects > iData_subclasses > @iData_vDOS > incoherent.m

iFit/incoherent

PURPOSE ^

iData_vDOS: incoherent: compute the incoherent gaussian approximation scattering law S(q,w) from an initial density of states vDOS

SYNOPSIS ^

function [Sqw, Iqt, Wq, Tall] = incoherent(gw, varargin)

DESCRIPTION ^

 iData_vDOS: incoherent: compute the incoherent gaussian approximation scattering law S(q,w) from an initial density of states vDOS

   [Sqw, Iqt, Wq, Tall] = incoherent(gw, q, T, m, n, DW)

 compute: Density of States -> Incoherent approximation S(q,w)

 The input argument 'gw' should be a vibrational density of states (vDOS) as
   obtained from an experiment (e.g. Bedov/Oskotskii estimate), molecular 
   dynamics, or lattice dynamics. In the so-called incoherent approximation,
   the vDOS obtained from incoherent and coherent scattering laws are equal.

 The result is the dynamic structure factor (scattering law) for neutrons, in
   the incoherent gaussian approximation. The corresponding intermediate 
   scattering function is also returned. These should be e.g. multiplied by the
   neutron scattering bound cross section 'sigma_inc' [barns]. This calculation
   includes the Debye-Waller factor.

 This implementation is in principle exact for an isotropic monoatomic material,
   e.g. a liquid, powder, or cubic crystal. 
 This methodology is equivalent to the LEAPR module of NJOY ("phonon expansion")
   to compute S(alpha,beta) from a vibrational density of states.

 For a poly-atomic material with a set of non-equivalent atoms with relative 
   concentration Ci and mass Mi and bound scattering cross section sigma_i, 
   one should use:

   m     = [sum_i Ci sigma_i]/[sum_i Ci sigma_i/Mi]      weighted mass
   sigma = sum_i Ci sigma_i                              weighted cross section

 conventions:
 w = Ei-Ef = energy lost by the neutron
    w > 0, neutron looses energy, can not be higher than Ei (Stokes)
    w < 0, neutron gains energy, anti-Stokes

 Theory:
   T1(w) = g(w)./hw.*(nw+1)
   f0    = \int T1(w) dw
   fp    = f0^p
   W(q)  = h^2*q^2/2/m*f(0)
   Tp    = conv( T1, Tp-1 )

 The first term returned is the Elastic Incoherent [p=0]
    S(q,w)[p=0] = (1/4/pi)*exp(-2*W(q)).*delta(w)
 the other terms are obtained by iterative auto-convolution by the vDOS
    S(q,w)[p]   = 1/4pi/!p exp(-2*W(q)).*(2*W(q)).^p*Tp(w)

 Reference:
   H. Schober, Journal of Neutron Research 17 (2014) 109–357
     DOI 10.3233/JNR-140016 (see esp. pages 328-331)
   V.S. Oskotskii, Sov. Phys. Solid State 9 (1967), 420.
   A. Sjolander, Arkiv for Fysik 14 (1958), 315.

 syntax:
   [Sqw, Iqt, Wq, Tall] = incoherent(gw)
   [Sqw, Iqt, Wq, Tall] = incoherent(gw, q, T, m, n, DW)
   [Sqw, Iqt, Wq, Tall] = incoherent(gw, 'q', q, 'T', T, 'm', m, 'n', n, 'DW', dw)

 Missing arguments (or given as [] empty), are searched within the initial density 
   of states object. Input arguments can be given in order, or with name-value 
   pairs, or as a structure with named fields.

 input:
   gw: the vibrational density of states per [meV] [iData]
   q:  the momentum axis [Angs-1, vector]
   T:  temperature [K]
   m:  mass of the scattering unit [g/mol]
   n:  number of iterations in the series expansion, e.g. 5
   DW: Debye-Waller coefficient gamma=<u^2> [Angs^2] e.g. 0.005
       The Debye-Waller function is      2W(q)=gamma*q^2
       The Debye-Waller factor   is exp(-2W(q))

 output:
   Sqw:  neutron weighted S(q,w) incoherent terms, to be summed [iData_Sqw2D array]
   Iqt:  I(q,t) incoherent terms, to be summed [iData array]
   Wq:   half Debye-Waller factor. The DW function is exp(-2*Wq)  [iData vs q]
   Tp:   p-phonon terms [iData array]

 Example:
   s   = sqw_phonons('POSCAR_Al', 'emt');
   gw  = dos(s);
   Sqw = incoherent(gw, [], 300);
   subplot(Sqw);

 See also: iData_Sqw2D/multi_phonons
 (c) E.Farhi, ILL. License: EUPL.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Mon 26-Nov-2018 15:08:42 by m2html © 2005. iFit (c) E.Farhi/ILL EUPL 1.1