msd_layer

msd_layer_serial.msd_layer(pos, boxes, bins, direction='z', restart=1, verbose=True)[source]

Calculate the mean displacement (MD) and the mean squared displacement (MSD) as function of the particle’s initial position.

Calculate the mean displacement (MD)

\[\langle \Delta r_i(\Delta t, z) \rangle = \langle [r_i(t_0 + \Delta t) - r_i(t_0)] \cdot \delta[z0 - z_i(t_0)] \rangle\]

and the mean squared displacement (MSD)

\[\langle \Delta r_i^2(\Delta t, z) \rangle = \langle |r_i(t_0 + \Delta t) - r_i(t_0)|^2 \cdot \delta[z0 - z_i(t_0)] \rangle\]

as function of the initial particle position \(z_0\).

The brackets \(\langle ... \rangle\) denote averaging over all particles \(i\) and over all given restarting times \(t_0\).

Parameters:
  • pos (array_like) – Array of unwrapped(!) particle positions of shape (m, n, 3), where m is the number of frames and n is the number of particles.

  • boxes (array_like) – Array of simulation boxes of shape (m, 6), one for each frame. The simulation boxes can be orthogonal or triclinic and must be provided in the same format as returned by MDAnalysis.coordinates.base.Timestep.dimensions: [lx, ly, lz, alpha, beta, gamma].

  • bins (array_like) – 1-dimensional array containing the bin edges to use for binning the initial particle position. The binning is done with wrapped coordinates in the box coordinate systems. Therefore, the bin edges must lie between 0 and 1! It might be easiest to first define the bin edges in Cartesian coordinates and then divide all of them by the box length.

  • direction ({'x', 'y', 'z'}) – The spatial direction in which to bin the initial particle position.

  • restart (int, optional) – Number of frames between restarting points \(t_0\).

  • verbose (bool, optional) – If True, print progress information to standard output.

Returns:

  • md (numpy.ndarray) – Array of shape (m, len(bins)-1, 3) containing the three spatial components of the mean displacement \(\langle \Delta r_i(\Delta t, z_0) \rangle\) for each bin for all possible lag times \(\Delta t\).

  • msd (numpy.ndarray) – Array of shape (m, len(bins)-1, 3) containing the three spatial components of the mean squared displacement \(\langle \Delta r_i^2(\Delta t, z_0) \rangle\) for each bin for all possible lag times \(\Delta t\).