# What is the correct MSD function for a biased random walk on a triangular grid?

I am trying to determine the mean squared displacement $$\langle r^2\rangle$$ as a function of time for a discrete random walk process on a triangular grid, where each step is of size $$\ell$$ over a time $$\tau$$. For each step, there is one of six possible points to move to, with a probability of $$p_n$$ to move at an angle of $$(n-1)\cdot \pi/3$$, $$n\in\{1,2,3,4,5,6\}$$. The probabilities are not equal in general, but of course, they must add up to $$1$$.

I am getting a familiar form of $$\langle r^2\rangle$$ as$$^{*}$$ $$\langle r^2\rangle=\left(4D-v^2\tau \right)t+v^2t^2$$ where $$D=\ell^2/4\tau$$, and the vector $$\mathbf v$$ as $$\mathbf v=\frac{\ell}{\tau}\left[\begin{matrix} (p_1-p_4)+\frac12(p_2-p_5)+\frac12(p_6-p_3) \\ \frac{\sqrt{3}}{2}(p_2-p_5)+\frac{\sqrt{3}}{2}(p_3-p_6) \\ \end{matrix}\right]$$

The fact that I end up with a $$\langle r^2\rangle$$ equation similar to what I have seen in the simpler case of a random walk on a square grid gives me hope that I am on the right track here. However, when I try to simulate this process$$^{**}$$, the $$\langle r^2\rangle$$ function from the simulated random walk is always less than the theoretical computation as outlined above and in the footnotes.

So then, am I missing a crucial step, assumption, method, etc. here? Are there any references where something similar has been looked at? References I have found so far are either way over my head, or do not look specifically at this question in the context of random walks on a triangular grid.

$$^*$$I obtain this form by following similar steps to those in slides 7 and 10 of this presentation. Basically, 1) directly deriving $$\langle r^2\rangle$$ in terms of the probabilities, and 2) then using a "master" equation to determine a convection-diffusion partial differential equation that defines what $$D$$ and $$\mathbf v$$ are in terms of the probabilities. In the latter step, in order to remove a $$\frac{\partial^2}{\partial x\partial y}$$ term, it must be the case that $$p_2+p_5=p_3+p_6$$. Then, in order to give the $$\frac{\partial^2}{\partial x^2}$$ and $$\frac{\partial^2}{\partial y^2}$$ terms equal "weight", it must be that $$p_1+p_4$$ is equal to the previous two probability sums as well (such that now each sum must be equal to $$1/3$$). So then at each step there is an equal probability for one of the three possible directions of motion, and then there is bias from there depending on the direction of $$\mathbf v$$ for which way the step goes along that direction.

$$^{**}$$ My simulation actually uses a set $$\mathbf v$$ magnitude and a randomly chosen $$\mathbf v$$ direction, and then determines what the probabilities need to be in order to achieve that. Since those are not enough to specify all probabilities (the directions of motion are not linearly independent), I have chosen to force $$p_1=p_4=1/6$$.

• Extreme/particular cases check out (when $$p_1=1$$ or all $$p_n$$ are equal give expected correct results)
Experimental data from my own hand-written code shows that for $$l=1$$ and $$\tau=1$$ the results are mostly likely correct and reasonable.
This leads me to believe there is a probably a bug in the code rather than your math, unless it was something silly involving $$l$$ and $$\tau$$. Can you confirm that everything works when $$l=1$$ and $$\tau=1$$? Can you share any specific runs that break, providing the corresponding $$\textbf{v}$$ and $$p_n$$ values from your simulation? We can check if your data matches mine.