msd_non_diffusive
- mdtools.dynamics.msd_non_diffusive(t, a, x)[source]
Non-diffusive Mean Square Displacement (MSD) as fuction of time.
\[\langle \Delta\mathbf{r}^2(\tau) \rangle = a \tau^x\]with \(\Delta\mathbf{r}(\tau) = |\mathbf{r}(t_0+\tau) - \mathbf{r}(t_0)|\) being the displacement vector after a diffusion time \(\tau\). \(a\) and \(x\) are just parameters. If \(x=1\), the equation describes diffusive motion. In this case, \(a\) is equal to \(2dD\), with \(D\) being the diffusion coefficient and \(d\) being the number of spatial dimensions of the diffusion process. The brackets \(\langle ... \rangle\) denote averaging over all particles of the same species and over all possible starting times \(t_0\).
- Parameters:
t (
scalar
ornumpy.ndarray
) – Array of times for which to calculate the (non-diffusive) MSD.a (
scalar
ornumpy.ndarray
) – Prefactor.x (
scalar
ornumpy.ndarray
) – Exponent.
- Returns:
msd (
scalar
ornumpy.ndarray
) – (Non-diffusive) mean square displacement MSD(t) = a*t^x.
See also
mdtools.dynamics.msd()
Calculate the diffusive MSD according to the Einstin relation as function of time
Notes
If more than one input argument is a
numpy.ndarray
, the arrays must be broadcastable to a common shape.Examples
>>> mdt.dyn.msd_non_diffusive(t=np.arange(4), a=2, x=3) array([ 0, 2, 16, 54])