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.