DiffSphere

Description

This fitting function models the dynamics structure factor of a particle undergoing continuous diffusion but confined to a spherical volume. According to Volino and Dianoux 1,

S(Q,Eω)=A0,0(QR)δ(ω)+1πl=1N1(2l+1)An,l(QR)xn,l2D/R2[xn,l2D/R2]21+ω2
An,l=6xn,l2xn,l2l(l+1)[QRjl+1(QR)ljl(QR)(QR)2xn,l2]2

Because of the spherical symmetry of the problem, the structure factor is expressed in terms of the jl(z) spherical Bessel functions. Furthermore, the requirement that no particle flux can escape the sphere leads to the following boundary condition2:

ddrjl(rxn,l/R)|r=R=0l

The roots of this set of equations are the numerical coefficients xn,l.

The fit function DiffSphere has an elastic part modeled by fitting function ElasticDiffSphere, and an inelastic part modeled by InelasticDiffSphere.

Attributes (non-fitting parameters)

Name

Type

Default

Description

NumDeriv

Q

f0.Q

f0.WorkspaceIndex

f1.Q

f1.WorkspaceIndex

NumDeriv (boolean, default=true) carry out numerical derivative - Q (double, default=1.0) Momentum transfer

Properties (fitting parameters)

Name

Default

Description

f0.Height

1.0

Scaling factor to be applied to the resolution.

f0.Centre

0.0

Shift along the x-axis to be applied to the resolution.

f0.Radius

2.0

Sphere radius

f1.Intensity

1.0

scaling factor

f1.Radius

2.0

Sphere radius, in Angstroms

f1.Diffusion

0.05

Diffusion coefficient, in units of A^2*THz, if energy in meV, or A^2*PHz if energy in ueV

f1.Shift

0.0

Shift in domain

Categories: FitFunctions | QuasiElastic

Source

C++ header: DiffSphere.h

C++ source: DiffSphere.cpp