In [ ]:
%matplotlib notebook
In the theory section, we derived the following formula for the interference function:
If we further assume that the probability density function depends only on the difference $\mathbf{R_1}-\mathbf{R_2}$ and we take $\rho_S = N/S$ to be the mean surface density of the particles, we can write this as:
where $P(\mathbf R)$ denotes the probability density of finding any particle at a distance $\mathbf R$ from a given particle.
If we write: $$dP(\mathbf R) = \rho_S g(\mathbf R) d^3\mathbf R$$
the interference function becomes: $$S(\mathbf q) = 1 + \rho_S \int d^3\mathbf R\, g(\mathbf R)\, e^{i\mathbf q\cdot \mathbf R}$$
In a infinite one-dimensional lattice with lattice constant $a$, we have
with $a_* = 2\pi/a$ the reciprocal lattice constant.
In [ ]:
%run iff_helpers
plot_infinite_lattice(2., 20.)
For a finite lattice with $N$ points, we have: \begin{align} S(\mathbf q) &= \frac{1}{N} \left| \sum_{n=0}^{N-1} e^{iqna} \right|^2 \\ &=\frac{1}{N} \frac{\sin^2(Nqa/2)}{\sin^2(qa/2)} \end{align}
In [ ]:
%run iff_helpers
plot_finite_lattice(1., 6)
If we take $$dP(R) + \delta(R) = \sum_{n=-\infty}^{\infty} f(na) \delta(R-na)$$ with $f(x)$ a decay function that encodes the loss of coherence along long distances, the interference function is:
where $\otimes$ denotes the convolution operator.
We see that the interference function consists of a smooth function $F(q)$ at each reciprocal lattice point.
In [ ]:
%run iff_helpers
plot_expdecay_lattice(2.0, 10., 10.)
Suppose we have a particle at the origin and that the probability density for its first neighbor to the right is $p(x)$ with:
where $D$ is the mean distance from the origin.
If every particle's position is determined by the previous position and the same probability density, the total probability density for all particles to the right of the origin becomes:
The total density is then:
If the Fourier transform of $p(x)$ is $\mathcal P(q)$, the Fourier transform of $S^+(x)$ is:
Finally, the total interference function is:
In [ ]:
%run iff_helpers
plot_paracrystal_lattice(4., 2., 20.)
All the previously mentioned one dimensional lattices have a two dimensional counterpart in BornAgain. These are all implemented as a convolution of two non-parallel one dimensional lattices. In reciprocal space, this amounts to a product of two one dimensional interference functions.
In [ ]: