$$\renewcommand\AA{\unicode{x212B}}$$

# EISFDiffCylinder¶

## Description¶

This fitting function models the diffusion of a particle confined in a cylinder of radius $$R$$ and length $$L$$ [1]. $$A_0(Q_z)$$ implements diffusion along the cylinder axis.

$A_0(Q_z) = (j_0(Q L \cos(\theta)))^2 = (\frac{\sin(Q L \cos(\theta))}{Q L \cos(\theta)})^2$

$$B_0^0(Q_{\perp})$$ implements diffusion perpendicular to the cylinder axis.

$B_0^0(Q_{\perp}) = (2 \frac{J_1(Q R \sin(\theta))}{Q R \sin(\theta)} )^2$

Both diffusions are assumed to be decoupled. Finally, the integration in $$\theta$$ implements a powder average (spherical Bessel functions).

$$R$$ and $$L$$ units are inverse of $$Q$$ units.

## Usage¶

Example - fit of Q-dependence:

q =  [0.3, 0.5, 0.7, 0.9, 1.1, 1.3, 1.5, 1.7, 1.9]
# A=1.0, R=3.5, L=1.7
eisf = [0.8327688, 0.60447105, 0.36837178, 0.18538092, 0.07615478,
0.02660468, 0.00973061, 0.00461192, 0.00222067]
w = CreateWorkspace(q, eisf, NSpec=1)
results = Fit('name=EISFDiffCylinder,A=1,R=2.0,L=1,constraints=(0.01<R,0.01<L),ties=(A=1)', w, WorkspaceIndex=0)
print(results.Function)


Output:

name=EISFDiffCylinder,A=1,R=3.11497,L=1.68724,constraints=(0.01<R,0.01<L),ties=(A=1)


## Properties (fitting parameters)¶

Name

Default

Description

A

1.0

Amplitude, or Scaling factor

R

1.0

Cylinder radius, inverse units of Q.

L

2.0

Cylinder length, inverse units of Q.

Categories: FitFunctions | QuasiElastic

## Source¶

Python: EISFDiffCylinder.py