Currently working with molecular dynamics simulations, I would like to compute shear strain correlations in my 2-dimensional system.
How I used to do things
Accumulated shear strain at position $\vec{r}$ between times $t$ and $t + \Delta t$ is defined as $$ \varepsilon_{xy}(\vec{r}, t, t + \Delta t) = \frac{1}{2}\left(\frac{\partial}{\partial x} u_y(\vec{r}, t, t + \Delta t) + \frac{\partial}{\partial x} u_y(\vec{r}, t, t + \Delta t)\right) $$ with $\vec{u}(\vec{r}, t, t + \Delta t) = \begin{pmatrix} u_x(\vec{r}, t, t + \Delta t) \\ u_y(\vec{r}, t, t + \Delta t) \end{pmatrix}$ the displacement of the particle initially at position $\vec{r}$ at time $t$ between times $t$ and $t + \Delta t$. Hence the shear strain auto-correlation function $$ C_{\varepsilon_{xy}\varepsilon_{xy}}(\Delta \vec{r}, \Delta t) = \frac{\int dt \int d^2\vec{r}~ \varepsilon_{xy}(\vec{r}, t, t + \Delta t) \varepsilon_{xy}(\vec{r} + \Delta \vec{r}, t, t + \Delta t) }{\int dt \int d^2\vec{r}~ \varepsilon_{xy}(\vec{r}, t, t + \Delta t)^2} $$ which I want to compute.
One can notice that $$ \int d^2\vec{r}~ \varepsilon_{xy}(\vec{r}, t, t + \Delta t) \varepsilon_{xy}(\vec{r} + \Delta \vec{r}, t, t + \Delta t) = \mathcal{F}^{-1}\{\mathcal{F}\{\varepsilon_{xy}\}^* \times \mathcal{F}\{\varepsilon_{xy}\}\}(\Delta \vec{r}, t, t + \Delta t) $$ with $\mathcal{F}$ the Fourier transform operator. Computationally speaking, this identity is very useful to quickly evaluate correlations. Up to now, I have then followed the following method:
- Coarse-grain shear strain at positions linearly distributed on a grid from particles' positions between times $t$ and $t + \Delta t$, following J. Chattoraj and A. Lemaître, Phys. Rev. Lett. 111, 066001 (2013) (available here) and Goldhirsch, I. & Goldenberg, C. Eur. Phys. J. E (2002) 9: 245 (available here).
- Compute shear strain correlations using Fast Fourier Transform (FFT) then inverse FFT from the obtained grid.
This method works, but is unfortunately very slow despite my best efforts to enhance my code...
How I would like to do things
There is in B. Illing, S. Fritschi, D. Hajnal, C. Klix, P. Keim, and M. Fuchs, Phys. Rev. Lett. 117, 208002 (2016) (available here with supplemental material) a method to compute shear strain correlations from displacement Fourier transform.
For that they introduce — without much explanations — the transversal and longitudinal "collective mean-square displacement" in Fourier space, respectively $C^{\perp}(\vec{q}, \Delta t)$ and $C^{||}(\vec{q}, \Delta t)$, with $\vec{q} = \begin{pmatrix}q_x \\ q_y\end{pmatrix}$ the wave vector, and then claim that (see equation 10 in supplemental material) $$ C_{\varepsilon_{xy}\varepsilon_{xy}}(\Delta \vec{r}, \Delta t) = \mathcal{F}^{—1}\left\{\left(C^{\perp}(\vec{q}, \Delta t) - C^{||}(\vec{q}, \Delta t)\right)\frac{-q_x^2q_y^2}{q^2} + C^{\perp}(\vec{q}, \Delta t) \frac{q_x^2 + q_y^2}{4}\right\}(\Delta \vec{r}, \Delta t) $$
What I don't understand
First of all, I have struggled to understand the significance of $C^{\perp}$ and $C^{||}$. Inspired by F. Leonforte, R. Boissière, A. Tanguy, J. P. Wittmer, and J.-L. Barrat, Phys. Rev. B 72, 224206 (2005) (available here), I used the following definitions $$ \begin{aligned} C^{\perp}(\vec{q}, \Delta t) &= \frac{1}{q^2} \left< ||\vec{q}\wedge\mathcal{F}\{\vec{u}\}(\vec{q}, t, t + \Delta t)||^2 \right>\\ C^{\parallel}(\vec{q}, \Delta t) &= \frac{1}{q^2} \left< ||\vec{q}\cdot\mathcal{F}\{\vec{u}\}(\vec{q}, t, t + \Delta t)||^2 \right> \end{aligned} $$ where $\left<\right>$ denotes an average over times $t$. Using these definitions works — almost — fine, and computing shear strain is now incredibly quicker.
However I am unable to make the math and find the strain correlation expression from these definitions. Not having a solid mathematical proof also keeps from knowing if I forgot some factors or if I am completely mistaken.
If you know this proof or the correct definitions of the collective mean-squared displacements $C^{\perp}(\vec{q}, \Delta t)$ and $C^{||}(\vec{q}, \Delta t)$, or have seen either one elsewhere, this would help me a lot! Thank you!