Home > Scripts > Treatment > Sqw > Sqw_gDOS.m

# iFit/Sqw_gDOS

## PURPOSE

Sqw_gDOS: compute the generalised density of states (gDOS)

## SYNOPSIS

function [gDOS, g] = Sqw_gDOS(s, method, n)

## DESCRIPTION

``` Sqw_gDOS: compute the generalised density of states (gDOS)
The gDOS is an approximation of the vibrational spectra (DOS).
This routine should be applied on an incoherent dynamic S(q,w) data set.
The S(q,w) is a dynamic structure factor aka scattering function.

gDOS(q,w) = S(q,w) w/q2 [1 - exp(-hw/kT)] [Carpenter/Price]

The applicability to a coherent dynamic structure factor S(q,w) should be
taken with great care, as this formalism then does not hold.

The method to use in the gDOS computation can be given as 2nd argument
gDOS = Sqw_gDOS(Sqw, 'Carpenter')
gDOS = Sqw_gDOS(Sqw, 'Bellisent')
gDOS = Sqw_gDOS(Sqw, 'Bredov') better for coherent scatterers

The gDOS(w) is obtained by extracting the low momentum values out of gDOS(q,w).
The syntax is:
[g(w), g(q,w)]=Sqw_gDOS(Sqw, method, n)

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' (default),'Bellisent' or 'Bredov'
n: number of low-angle values to integrate (integer). Default is 10 when omitted.

output:
g:   gDOS(w)   (1D iData versus energy)
g2D: gDOS(q,w) (2D iData)

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

references: Price J. et al, Non Cryst Sol 92 (1987) 153
Bellisent-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)

Example: Sqw=iData('SQW_coh_lGe.nc'); g = Sqw_gDOS(Sqw_Bosify(Sqw_symmetrize(Sqw))); plot(g);