Home > Objects > iData_subclasses > @iData_Sqw2D > dos.m

iFit/dos

PURPOSE ^

iData_Sqw2D: dos: compute the generalised density of states (gDOS) from a S(q,w)

SYNOPSIS ^

function [g, fig] = dos(s, method, varargin)

DESCRIPTION ^

 iData_Sqw2D: dos: compute the generalised density of states (gDOS) from a S(q,w)

   g = dos(s, method, n, T, DW)

 compute: iData_Sqw2D -> generalised Density of States gDOS [p=1]

  The returned generalised density of states corresponds with the 1-phonon term in the
  the incoherent Gaussian approximation. This density of states is normalised to 1.

       gDOS(q,w) = S(q,w) w^2/q^2                   Bellissent
       gDOS(q,w) = S(q,w) w  /q^2/[1 + n(hw)]       Carpenter/Price
  and:
       gDOS(w)   = lim(q->0) [ gDOS(q,w) ]

       gDOS(q,w) = w*q*S(q,w)*exp(2W(q))/[Qmax^4 - Qmin^4]/(1+n(w)) Bredov/Oskotskii
       gDOS(w)   = trapz(g, 2)

  The Bredov/Oskotskii methodology provides the best gDOS estimate, using the
    whole data set.

  LIMITATIONS/WARNINGS:
  The incoherent approximation states that the gDOS from an incoherent S(q,w) is 
    roughly equal to that obtained from a coherent S(q,w). However, the 
    applicability to a coherent dynamic structure factor S(q,w) should be
    taken with great care, as this formalism then does not fully hold.
  This implementation is in principle exact for an isotropic monoatomic material,
    e.g. a liquid, powder, or cubic crystal. 
  This routine should better be applied on an incoherent dynamic S(q,w) data set.

  The method to use in the gDOS computation can be given as 2nd argument
       gDOS = dos(Sqw, 'Bredov')         more accurate as it uses 100% of data
       gDOS = dos(Sqw, 'Carpenter')      Temperature must be a property
       gDOS = dos(Sqw, 'Bellissent')     simple yet efficient

  The gDOS is stored in the 'gDOS' property of the initial Sqw object, and is 
    retrieved without recomputation when available. 
  To force a recomputation of the gDOS, use:
       dos(Sqw, 'method', 0) or dos(Sqw, 'method', 'force')

  Input arguments can be given in order, or with name-value pairs, or as a 
    structure with named fields.

 References: Price J. et al, Non Cryst Sol 92 (1987) 153
         Bellissent-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)
         V.S. Oskotskii, Sov. Phys. Solid State 9 (1967), 420.
         H. Schober, Journal of Neutron Research 17 (2014) 109–357. (esp. p307-315)

 syntax:
   g = dos(s)
   g = dos(s, method, n, T, DW)
   g = dos(s, 'method', method, 'n', n, 'T', T, 'DW', dw)

 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','Bellissent' or 'Bredov' (default)
   n:      number of low-angle values to integrate (integer). Default is 10 when omitted.
           when 0 or 'force', the gDOS is re-computed. Only for Carpenter/Bellissent.
   T:      optional temperature to use for computation (leave undefined for automatic).
   DW:     optional 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:
   g:      gDOS(w)   (1D iData versus energy)

 Example: Sqw=iData_Sqw2D('D2O_liq_290_coh.sqw.zip'); g = dos(Bosify(symmetrize(Sqw))); plot(g);

 See also: iData_Sqw2D/multi_phonons, iData_Sqw2D/incoherent
           iData_vDOS/multi_phonons, iData_vDOS/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