In this chapter we will study diffusional transport in disordered media. We can model diffusional transport either by solving the diffusion equation or by studying the time developments of random walks—both approaches produce the same results. We will use the statistical approach and study how random walkers spread with time in free space as well as on percolation clusters. We will introduce a scaling theory for the behavior of this process in both space and time—extending our previous scaling approaches and proving us with new tools and insights. We will do this in several steps, starting with a brief introduction to random walks and diffusion in uniform media, then introduce a computational model for random walks on the percolation cluster, and finally apply our full set of tools to develop scaling theories for the observed behavior [13, 15, 26].

11.1 Diffusion and Random Walks in Homogeneous Media

A typical example of a random walk is the random motion of a small dust particle due to random collisions with air molecules, a process called Browian motion. Random walks are general processes that we often use as physical, theoretical or conceptual models.

A Two-Dimensional Random Walk

If a random walker starts at \(\mathbf {r} = 0\), its position \({\mathbf {r}}_n\) after n steps can be written as

$$\displaystyle \begin{aligned} {\mathbf{r}}_n = {\mathbf{r}}_0 + \sum_{i=1}^{n} {\mathbf{u}}_i \; , \end{aligned} $$
(11.1)

where \({\mathbf {u}}_i\) is step i. We will usually assume that the steps \({\mathbf {u}}_i\) are independent and isotropically distributed.

Generating a Random Walk

We can generate an example of random walk by selecting \({\mathbf {u}}_i = (x_i,y_i)\), where \(x:i\) and \(y:i\) are selected from e.g. a uniform random distribution from \(-1\) to 1. The following program calculates and visualizes a random walk starting from the origin. The resulting path is shown in Fig. 11.1. We notice that the random walker spreads out gradually, leaving behind a trace with a complex geometry.

Fig. 11.1
Two graphs present the colored thread-like patterns of random walks. The radom walk starts from the origin. The extent of the path increases with the number of steps. Left. The plots are within (10, 10). Right. The plots are within (40, 45).

Plots of 10 random walks of size \(n= 100\) (left) and \(n=1000\) (right)

11.1.1 Theory for the Time Development of a Random Walk

We can develop a theory for the position \({\mathbf {r}}_n\) as a function of the number of steps n. For simplicity, we start the walker at the origin, so that \({\mathbf {r}}_0 = 0\). First, we see find the average position after n steps:

$$\displaystyle \begin{aligned} \langle {\mathbf{r}}_n \rangle = \langle \sum_{i=1}^{n} {\mathbf{u}}_n \rangle = \sum_{i=1}^n \langle {\mathbf{u}}_i \rangle = \mathbf{0} \; , \end{aligned} $$
(11.2)

where we have used that since \({\mathbf {u}}_i\) are isotropic, \(\langle {\mathbf {u}}_i \rangle = 0\). This is not surprising, the random walker has the same probability to walk in all directions and therefore does not get anywhere on average.

However, from Fig. 11.1 we see that the extent of the path increases with the number of steps n. We can characterize this using the same measures we used to describe the geometry of the percolation clusters, by measuring \(r:n^2\). We find the average value of \(r:n^2\) using

(11.3)

where \(\langle {\mathbf {u}}_i \cdot {\mathbf {u}}_i \rangle = \delta ^2\) is a property of the distribution of \({\mathbf {u}}_i\) corresponding to the variance of the distribution. And where we have used that because \({\mathbf {u}}_i\) and \({\mathbf {u}}_j\) are independent, the average of their product is equal to the product of their averages:

$$\displaystyle \begin{aligned} \langle {\mathbf{u}}_i \cdot {\mathbf{u}}_j \rangle = \langle {\mathbf{u}}_i \rangle \cdot \langle {\mathbf{u}}_j \rangle = \mathbf{0} \cdot \mathbf{0} = 0 \; . \end{aligned} $$
(11.4)

Consequently, we have shown that \(r_n^2 = n \delta ^2\). This is a very general result. We have found that the extent of the diffusion path increases slowly with the number of steps: \(r_n = \delta n^{1/2}\). This result is valid in any dimension as long as the two basic assumptions are satisfied: The individual steps are independent and each individual step has an isotropic distribution so that the average displacement from a single step is zero.

The Dimension of the Random Walk

Here we have demonstrated that the size of the random walk, measured as \(r^2\), is proportional to the number of elements in the random walk. This is similar to the way we measured the size of a cluster using the radius of gyration of the cluster. Indeed, it can be shown that these two definitions give the same relation \(r_n^2 = b^2 n\), where b is a constant of unit length that describes the distribution of a single step. We realize that n is the number of elements in the random walk, corresponding to s, the number of sites in a cluster. We have therefore found that \(r_n = b n^{1/2}\), or similarly, that \(n = (r_n/b)^2 \propto r^{D_w}\). This implies that the dimension, \(D:w\), of the random walk always is \(D_w = 2\), independent of the embedding dimension d. This means that for \(d=1\) the random walk will overfill space. Indeed, we expect it to step on top of itself repeatedly. For \(d=2\) the random walk will just fill space since \(D_w = d\), whereas for \(d=3\) and higher dimensions the random walk will fill a diminishing portion of space. Just like the spanning cluster had a smaller scaling exponent than the spatial dimension, and hence the density of the spanning cluster decreased for larger systems.

11.1.2 Continuum Description of a Random Walker

We can also describe the motion of the random walker through the probability density \(P(\mathbf {r},t)\), where \(P(\mathbf {r},t)\, \mathrm {d} \mathbf {r} \, \mathrm {d} t\) is the probability for the random walker to be in the volume \(\mathbf {r} \, \mathrm {d}\mathbf {r}\) in the time period t to \(t + \mathrm {d} t\).

For a random walker on a grid, the probability to be at a grid position i is given as \(P:i(t)\). The probability for the walker to be at a position i at the time \(t = t + \delta t\) is then

$$\displaystyle \begin{aligned} P_i (t + \delta t) = P_i(t) + \sum_{j} [ \sigma_{j,i} P_j (t) - \sigma_{i,j} P_i(t) ] \delta t \; , \end{aligned} $$
(11.5)

where the sum is over all neighbors j of the site i. The term \(\sigma _{i,j}\) is the transition probability from site i to site j. The first term in the sum represents the probability that the walker during the time period \(\delta t\) walks into site i from site j, and the second term represents the probability that the walker during the time period \(\delta t\) walks from site i to one of the neighboring sites j.

When \(\delta t \rightarrow 0\) this equation approaches a differential equation

$$\displaystyle \begin{aligned} \frac{\partial P_i}{\partial t} = \sum_{j} [ \sigma_{j,i} P_j (t) - \sigma_{i,j} P_i(t) ] \; . \end{aligned} $$
(11.6)

If we assume that the transition probability is equal for all the neighbors, so that \(\sigma _{i,j} = 1/Z\), where Z is the number of neighbors, the differential equation simplifies to

$$\displaystyle \begin{aligned} \frac{\partial P}{\partial t} = D \nabla^2 P \; , \end{aligned} $$
(11.7)

which we recognize as the diffusion equation, where the diffusion constant D is related to the transition probabilities \(\sigma _{i,j}\) and Z.

The general solution to this equation is

$$\displaystyle \begin{aligned} P(\mathbf{r},t) = \frac{1}{(2 \pi D t)^{d/2}} e^{-r^2/2Dt} = \frac{1}{(2\pi)^{d/2} |\mathbf{R}|^2} e^{-\frac{1}{2} (\frac{r}{|\mathbf{R}|})^2} \; , \end{aligned} $$
(11.8)

where we have introduced \(|\mathbf {R}| = \sqrt {Dt}\).

It can be shown that the moments of this distribution are

$$\displaystyle \begin{aligned} \langle r^{k} \rangle = A_k R(t)^k \propto t^{k/2} \; , \end{aligned} $$
(11.9)

and specifically, that

$$\displaystyle \begin{aligned} \langle r^2 \rangle = \int P(\mathbf{r},t)r^2 d\mathbf{r} = R^2 (t) = Dt \; . \end{aligned} $$
(11.10)

which displayes the same relationship as found above between extent, \(\langle r^2 \rangle \), and time, t, where the time is \(t = n \delta t\) and \(\delta t\) is the time a single step takes.

11.2 Random Walks on Clusters

We now have the basic tools to understand diffusion in homogeneous media: by studying the position \(\mathbf {r}(t)\) of a random walker as a function of the number of steps n or the time \(t = n \varDelta t\), where \(\varDelta t\) is the time for a single step.

How can we use this method to study diffusion on a percolation cluster? We want to address how a particle diffuses on the cluster. That is, we want to study how a random walker moves on the occupied sites in the percolation system. We will assume that the walker only can move onto connected neighbor sites in each step.

There are many different ways we can construct such measurements, and as always, we need to be very precise when we define both the experiment and our set of measures. Our plan is to drop a random walker onto a random site in the percolation system and measure the position \(\mathbf {r}(t)\) of the walker as a function of time.

11.2.1 Developing a Program to Study Random Walks on Clusters

In order to study the behavior we need to develop a program to generate a random walk on top of a percolation lattice, generate many such paths and collect, analyze and visualize the resulting behavior.

The rules for such a walker would be that we select a position at random and then parachute the walker into this position. We start with a percolation system given by the \(L \times L\) matrix cluster, where cluster is True in the points where the sites are present. The initial positions, ix, iy, in the x- and y-direction for the walker are therefore random numbers between 0 and \(L-1\) respectively:

where L is the system size. If this site is empty, the walk stops immediately and its length is zero:

Storing the Trajectory of the Walker

We store the trace of the walker in two arrays (we need both to handle periodic boundary conditions later): walker_map which consists of the positions ix,iy of the walker for each step, and displacement, which consists of the positions relative to the initial position of the walker.

Random Selection of Next Step

How do we select where the walker can move? The walker is restricted to move to nearest neighbor sites that are present. There are several approaches:

  • We may select a direction at random and try to move in this direction. If the walker cannot move in this direction it stays put for this step, and then tries again in the next step. In this case, the walker may have many steps without any motion.

  • We may find all the directions the walker can possibly move in, and then select one of these directions at random. In this case the walker will move onto a new site in each step.

Both these methods effectively produce the same behavior. We will select the second method. We therefore need to create a list of the possible directions to move in. In order to make this list, we have a list called directions of possible movement directions:

For each step, we need to collect all the possible steps into a list called neighbor_arr. This is done by the following loop:

If this list is empty, that is, if neighbor is zero, there are no possible places to move. This means that the walker has landed on a cluster of size \(s=1\). In this case, we stop and return with \(n=1\).

Finally, we select one of the neighbor directions at random, move the walker into this site, update walker_map and displacement and repeat the process.

Here, step corresponds to n, the current step number.

Preparing the Function

We put this into a function and use the numba library to speed up simulation times.

Testing the Function

Let us test the newly generated function on a few simplified cases. First, we try it on a system with \(p=1\), that is, on a homogeneous system.

Walks from 10 such simulations are shown in Fig. 11.2. This looks reasonable and nice, but we do notice that quite a few of these walks reach the boundaries of the system. We may wonder how this finite system size affects the behavior and statistics of the system.

Fig. 11.2
Two graphs present the colored paths of the 10 random walks. 3 of them are at the center. Other walks reach the boundaries of the system.

Trajectories of 10 random walks for a (homogeneous) system with \(L=50\) and \(p = 1\)

Measuring \(r^2(t)\) for a Random Walker

The function percwalk returns the displacements, \({\mathbf {r}}_n\), for the walking starting from \({\mathbf {r}}_0 = 0\). We find \(r:n^2\) and visualize the result for a single walk:

The resulting plot is shown in Fig. 11.3. We do not really learn much from this plot. We need to collect more statistics. We need to generate many different walks and then average over all the walks to find a statistically better measure for \(r^2(t)\).

Fig. 11.3
2 graphs. Left. A plot presents the colored path of a random walk. Right. An r square versus t graph presents a fluctuating trend. The trend reaches its max value of 350 at t = 400.

(a) Trajectory of a random walk for a (homogeneous) system with \(L=50\) and \(p = 1\). (b) Plot of the corresponding \(r^2(t)\)

Collecting Statistics for \(r^2(t)\)

We therefore write a small function to generate a given number of clusters with the given p. For each such cluster we will generate a given number of walks. Notice, that we must also specify the maximum number of steps that we model for each walk. The following function implements these features:

Notice a few details: If the number of steps is 1 or smaller it means that the walker landed either on an empty size (\(n=0\)) or on a single site (\(n=1\)). We do not want to include these in our statistics since they provide little information about the behavior of the random walker. We use this program to collect statistics from \(M = 500\) random walks of length \(n = 10{,}000\) steps on a \(L = 100\) system:

The resulting plot in Fig. 11.4 shows that the system indeed behaves as we expect—for small values of t. However, as t increases, we see that the effect of the finite system size L starts to affect the results. This is because the random walker is limited by the wall and eventually we will be limited the \(L \times L\) system. This problem will also arise when we study the percolation system. How can we reduce this problem?

Fig. 11.4
A multiline graph of log base 10 r square versus log base 10 t, compares two linearly rising trends for periodic and non-periodic boundary conditions. Both trends start from (0.0, negative 2.5), and end almost at (4.0, 1.0).

Plot of \(r^2(t)\) for a \(L = 100\) system with non-periodic and periodic boundary conditions

Introducing Periodic Boundary Condition

One way of reducing this problem is by introducing periodic boundary conditions. The idea is that is the random walker steps outside the lattice on the left side, it appears on the right-hand side instead. That is, if ix becomes -1, it is instead set to \(L-1\). We implement this in the percwalk function in the following. The resulting plot of \(r^2(t)\) in Fig. 11.4 shows that this solves the problem with the boundaries. This aspect will be even more important when we study percolation systems in non-uniform media.

11.2.2 Diffusion on a Finite Cluster for \(p<p:c\)

We now have all the tools to start studying the behavior of a random walker on top of a percolation system. We select \(p = p_c\) and drop the random walker on a random position on the lattice. The resulting set of walks from such a simulation can be seen in Fig. 11.5.

Fig. 11.5
A graph presents the colored checkered patterns of 30 walks. The axis labels are marked between 1 and 100.

Plot of 30 walks in a \(L=100\) system at \(p = p_c\)

Understanding Behavior for \(p>p_c\)

We then simulate a larger set of walks for \(p = 0.45, 0.50, 0.55, p_c\). The resulting plots of \(r^2(t)\) are shown in Fig. 11.6. We see that when \(p<p:c\), \(r^2(t) \propto t^x\) for some time, but then after some time, \(r^2(t)\) crosses over to a constant instead. How can we understand this behavior?

Fig. 11.6
A multiline graph of log r square versus log n compares 4 rising trends for p equal to 0.45, 0.5, 0.55, and 0.5927. The trend for p = 0.5927 is more linear and is in the leading position.

Plots of \(r^2(t;p,L)\) for \(p = 0.45, 0.50, 0.55, p_c\)

Long-Term Behavior When \(p<p:c\)

For a single walker that lands on a cluster of size s, we expect that the walker will be limited to walk on this cluster and therefore cannot reach positions that are much further away than \(R:s\). Thus, after a long time, we expect \(r^2(t) \propto R_s^2\). If we repeat this experiment many times, each time dropping the walker onto a random occupied point in the system, we need to take the average over all clusters of size s and over all starting positions, to find the average of \(r^2(t)\) for all these different walks. If we drop the walker at a random position, the probability for that walker to land on a cluster of size s is \(sn(s,p)\), and the contribution from this cluster to \(r^2(t)\) after a long time is \(R:s^2\). Therefore, the average \(\langle r^2(t)\rangle \) for the walker is:

$$\displaystyle \begin{aligned} \left[ \langle r^2 \rangle \right] \propto \left[ R_s^2 \right] = \sum_s R_s^2 s n(s,p) \; . \end{aligned} $$
(11.11)

We approximate this sum by an integral and replace \(n(s,p)\) by the scaling ansatz \(n(s,p) = s^{- \tau } F(s/s_{\xi })\), getting

$$\displaystyle \begin{aligned} \left[ R_s^2 \right] = \int_1^{\infty} R_s^2 s s^{-\tau} F(s/s_{\xi}) ds \; . \end{aligned} $$
(11.12)

We realize that the function \(F(s/s_{\xi })\) falls to zero very rapidly when \(s > s_{\xi }\) and it is effectively constant below that, we therefore replace the integral with an integral up to \(s_{\xi }\):

$$\displaystyle \begin{aligned} \left[ R_s^2 \right] = \int_1^{s_{\xi}} R_s^2 s s^{-\tau} ds \; . \end{aligned} $$
(11.13)

We now insert that \(R_s^2 \propto s^{2/D}\) and perform the integral, getting:

$$\displaystyle \begin{aligned} \left[ R_s^2 \right] \propto s_{\xi}^{2/D +2 - \tau} \propto s_{\xi}^{2/D} s_{\xi}^{2-\tau} \; . \end{aligned} $$
(11.14)

where we recognize the first factor as \(\xi ^2 \propto (p-p_c)^{-2\nu }\) and the second factor from (4.33) as \((p-p_c)^{\beta }\) so that

$$\displaystyle \begin{aligned} \left[ R_s^2 \right] \propto (p-p_c)^{\beta - 2 \nu} \; . \end{aligned} $$
(11.15)

We notice that in this case the average is of \(R:s^2\) over \(sn(s,p)\), but when we calculated the correlation length in (5.18) the average was of \(R:s^2\) over \(s^2 n(s,p)\), and this is the reason for the appearance of the exponent \(\beta - 2 \nu \) and not simply \(- 2 \nu \) as we got for the correlation length.

Short Term Behavior

There is a transition in \(r^2(t)\) to \(\left [ R^2 \right ]\) after some crossover time \(t:0\). For times shorter than \(t:0\) we see from Fig. 11.6 that the behavior appears to be that \(r^2(t) \propto t^{2k}\) for some exponent 2k. We notice that as p approaches \(p:c\), the crossover time \(t:0\) increases. All the curves for various p-values appear to have similar, or possibly the same behavior for \(t<t:0\).

In Fig. 11.6 we notice that the exponent 2k is not 1, as we found for the homogeneous case. It is clearly lower than 1. If we measure it, we find that \(2k \simeq 0.66\) and \(k \simeq 0.33\). We call this behavior anomalous diffusion because the mean squared distance \(r^2(t)\) does not grow linearly with time, but with an exponent different than 1. What can we say about the crossover time \(t:0\)? We will return to this after examining the case when \(p>p_c\).

11.2.3 Diffusion at \(p = p_c\)

From Fig. 11.6 we also see that for \(p = p_c\) the random walk follows \(r^2(t) \propto t^{2k}\). This behavior is as expected. For times shorter than \(t:0\), the walker behaves as if it is on \(p:c\), whereas after a long time, \(t>t_0\), we start noticing that the walker is restricted when it diffuses on the finite clusters. Another way to think of this is that the crossover time \(t:0\) increases as \(p \rightarrow p_c\), and diverges at \(p = p_c\). The exponent k is a universal exponent for diffusion on percolation systems. It does not depend on the lattice structure or the rules for connectivity, but it does depend on the embedding dimension d.

11.2.4 Diffusion for \(p>p_c\)

We can use the same computational approach to study the behavior of the random walker when \(p>p_c\). The resulting plots for \(p = 0.8, 0.75, 0.70, 0.65\) and \(p:c\) are shown in Fig. 11.7. The plots show that when \(p>p_c\), for short times the \(r^2(t)\) curve follows the behavior for \(p = p_c\) with \(r^2(t) \propto t^{2k}\) as shown by the solid line. But for a crossover time \(t:0\), the behavior changes and crosses over to a behavior where \(r^2(t) \propto t^1\), that is, it crosses over to the behavior of a homogeneous system. How can we understand this?

Fig. 11.7
A multiline graph of log r square versus log t compares 5 linearly rising trends from (0, negative 3) for p = 0.75, p = 0.65, p = 0.5927, k = 0.35, and k = 0.5. They are slowly diverging.

Plots of \(r^2(t;p,L)\) for \(p = 0.8, 0.75, 0.70, 0.65, p_c\)

Developing a Model for \(p>p_c\)

We know that when \(p=1\), the system is homogeneous, and \(\langle r^2 \rangle = D(1) t\). We will therefore write the general relation for \(p > p_c\):

$$\displaystyle \begin{aligned} \langle r^2 \rangle = D(p) t \; , r \gg \xi \; . \end{aligned} $$
(11.16)

What behavior do we expect from \(D(p)\)? We expect \(D(p)\) to increase in a way similar to the density of the backbone or the conductivity g. In fact, the Einstein relation for diffusion relates the diffusion constant to the conductance through:

$$\displaystyle \begin{aligned} D(p) \propto g(p) \propto (p - p_c)^{\mu} \; . \end{aligned} $$
(11.17)

We therefore expect that when \(p>p_c\), and the time is larger than a crossover time \(t:0(p)\), that the behavior is scaling with exponent \(\mu \), identical to that of conductivity. And for a time shorter than the crossover time, the behavior is identical to the behavior at \(p = p_c\). We can understand this in the same way as above: When \(t<t:c\) the walker does still not experience that the characteristic clusters are limited by a finite characteristic length \(\xi \).

11.2.5 Scaling Theory

Let us develop a scaling theory for the behavior of \(\langle r^2 \rangle \). We will assume that when the time is smaller than a cross-over time, the behavior is according to a power-law with exponent 2k, and that when the time is larger than the cross-over time, the behavior is either that of diffusion with diffusion constant \(D(p)\) for \(p>p_c\), or it reaches a constant plateau for the case when \(p<p:c\).

Let us introduce a scaling ansatz with these properties:

$$\displaystyle \begin{aligned} \langle r^2 \rangle = t^{2k} f[(p-p_c)t^x] \; . \end{aligned} $$
(11.18)

Notice that we could have started from any of the end-points, such as from the assumption that

$$\displaystyle \begin{aligned} \langle r^2 \rangle = (p_c - p)^{\beta - 2\nu} G_1 (\frac{t}{t_0}) \; , \end{aligned} $$
(11.19)

or

$$\displaystyle \begin{aligned} \langle r^2 \rangle = (p - p_c)^{\mu} G_2 (\frac{t}{t_0}) \; . \end{aligned} $$
(11.20)

We have two unknown exponents k and x that must be determined from independent knowledge. We will assume that the function \(f(u)\) has the behavior

$$\displaystyle \begin{aligned} f(u) = \left\{ \begin{array}{ll} \mbox{const.} & \text{ for } |u|\ll 1 \\ u^{\mu} & \text{ for } u \gg 1 \\ (-u)^{\beta - 2\nu} & \text{ for } u \ll -1 \end{array} \right. \end{aligned} $$
(11.21)

Let us now address the various limits in order to determine the scaling exponents k and x in terms of known exponents.

Scaling Behavior in the Limit \(p>p_c\)

First, we know that when \(p>p_c\), that is when \(u \gg 1\), we have that

$$\displaystyle \begin{aligned} \langle r^2 \rangle \propto (p - p_c)^{\mu} t \; , \end{aligned} $$
(11.22)

which should correspond to the functional form from the ansatz:

$$\displaystyle \begin{aligned} (p - p_c)^{\mu} t \propto t^{2k}f((p-p_c)t^x) \propto t^{2k} [ (p - p_c)t^x]^{\mu} \; . \end{aligned} $$
(11.23)

This results in the exponent relation

$$\displaystyle \begin{aligned} 2k = 1 - \mu x \; , \end{aligned} $$
(11.24)

or

$$\displaystyle \begin{aligned} k = \frac{1 - \mu x}{2} \; . \end{aligned} $$
(11.25)

Scaling Behavior in the Limit \(p<p:c\)

Similarly, we know that the behavior in the limit of \(u \ll -1\) should be proportional to \((p_c - p)^{\beta - 2 \nu }\). Consequently, the scaling ansatz gives

$$\displaystyle \begin{aligned} (p_c - p)^{\beta - 2\nu} \propto t^{2k} f((p-p_c)t^x) \propto t^{2k} [ (p_c - p)t^x]^{\beta - 2\nu} \; , \end{aligned} $$
(11.26)

which results in the exponent relation:

$$\displaystyle \begin{aligned} 2 k + x(\beta - 2 \nu) = 0 \; . \end{aligned} $$
(11.27)

Solving to Find the Exponents

We solve the two equations for x and k, finding

$$\displaystyle \begin{aligned} k = \frac{1}{2}[ 1 - \frac{\mu}{2\nu + \mu - \beta} ]\; , {} \end{aligned} $$
(11.28)

and

$$\displaystyle \begin{aligned} x = \frac{1}{2 \nu + \mu - \beta} \; . \end{aligned} $$
(11.29)

Our argument therefore shows that the scaling ansatz is indeed consistent with the limiting behaviors we have already determined, and it allows us to make a prediction for k and x.

Testing the Scaling Ansatz

We can test the scaling function by a direct plot of the simulated result. The scaling relation states that \(r^2(t) = t^{2k} f [ (p-p_c)t^x]\), which means that \(r^2(t) t^{-2k} = f[ (p-p_c) t^x]\). If we therefore plot \(r^2(t) t^{-2k}\) on one axis and \((p-p_c) t^x\) on the other axis, all the data for the various values of p should fall onto a common curve corresponding to the function \(f(u)\). This is illustrated in Fig. 11.8, which shows that the scaling ansatz is in good correspondence with the data. Indeed, the plot also shows that the assumptions about the shape of the scaling function \(f(u)\) are correct.

Fig. 11.8
A dot plot of log r square versus log of t to the negative 2 k r square t versus log of p minus p c t x, compares gradually decreasing trends for P equal to 0.45, 0.5, and 0.55.

Plots of \(r^2(t;p,L)\) for \(p = 0.45, 0.50, 0.55\) rescaled according to the scaling theory

Interpreting the Dimension of the Walk at \(p=p:c\)

When \(p = p_c\), we find that

$$\displaystyle \begin{aligned} \langle r^2 \rangle \propto t^{2k} = t^{\frac{2 \nu - \beta}{2 \nu + \mu - \beta}} \; , \end{aligned} $$
(11.30)

We can write this relation in the same way as we wrote the behavior of an ordinary random walk,

$$\displaystyle \begin{aligned} t \propto r^{d_w} \; , \end{aligned} $$
(11.31)

where \(d:w\) is the dimension of the random walk. We have therefore found that

$$\displaystyle \begin{aligned} d_w = \frac{1}{k} = 2 + \frac{\mu}{\nu - \frac{\beta}{2}} \; , \end{aligned} $$
(11.32)

which is a number larger than 2. This means that for a given time, the walk remains more compact, which is consistent with our intuition.

Defining the Cross-Over Time

We have introduced a cross-over time, \(t:0\), which is defined so that

$$\displaystyle \begin{aligned} (p - p_c)t_0^x \simeq 1 \; , \end{aligned} $$
(11.33)

which gives

$$\displaystyle \begin{aligned} t_0 \propto | p - p_c|^{-1/x} \propto |p - p_c|^{-(2\nu + \mu - \beta)} \; . \end{aligned} $$
(11.34)

Interpreting the Crossover Time

How can we interpret this relation? We could decompose the relation to be:

$$\displaystyle \begin{aligned} t_0 \propto \frac{ |p - p_c|^{\beta - 2 \nu}}{|p - p_c|^{\mu}} \; , \end{aligned} $$
(11.35)

where we know that the average radius of gyration for clusters are

$$\displaystyle \begin{aligned} [R_s^2] \propto | p - p_c|^{\beta - 2 \nu} \; , \end{aligned} $$
(11.36)

This gives us an interpretation of the cross-over time for diffusion:

$$\displaystyle \begin{aligned} t_0 (p) \propto \frac{[R_s^2]}{D} \; , \end{aligned} $$
(11.37)

where D is the diffusion constant. Why is this time not proportional to \(\xi ^2/D\), the time it takes to diffuse a distance proportional to the correlation length? The difference comes from the particular way we devised the experiment: the walker was dropped onto a randomly selected occupied site.

Interpreting the Behavior for \(p>p_c\)

Let us now address what happens when \(p > p_c\). In this case, the contributions to the variance of the position has two main terms: one term from the spanning cluster and one term from the finite clusters.

$$\displaystyle \begin{aligned} [ \langle r^2 \rangle ] = D t = \frac{P}{p} D' t + R^2_{s} \; , \end{aligned} $$
(11.38)

where the first term, \(P/p D' t\) is the contribution from the random walker on the infinite cluster. This term consists of the diffusion constant \(D'\) for a walker on the spanning cluster, and the prefactor \(P/p\) which comes from the probability for the walker to land on the spanning cluster: For a random walker placed randomly on an occupied site in the system, the probability for the walker to land on the spanning cluster is \(P/p\), and the probability to land on any of the finite clusters is \(1 - P/p\). The second term is due to the finite cluster. This term reaches a constant value for large times t. The only time dependence is therefore in the first term, and we can write:

$$\displaystyle \begin{aligned} Dt = \frac{P}{p} D' t \; , \end{aligned} $$
(11.39)

for long times, t. That is:

$$\displaystyle \begin{aligned} D' = \frac{Dp}{P} \propto (p - p_c)^{\mu - \beta} \propto \xi^{-\frac{\mu - \beta}{\nu}} \propto \xi^{-\theta} \; . \end{aligned} $$
(11.40)

where we have introduce the exponent

$$\displaystyle \begin{aligned} \theta = \frac{\mu - \beta}{\nu} \; . \end{aligned} $$
(11.41)

Interpreting the Crossover Time for \(p>p_c\)

We have therefore found an interpretation of the cross-over time \(t:0\), and, in particular for the appearance of the \(\beta \) in the exponent. We see that the cross-over time is

$$\displaystyle \begin{aligned} t_0 \propto \frac{ |p - p_c|^{\beta - 2 \nu}}{|p - p_c|^{\mu}} \propto \frac{\xi^2}{D'} \; . \end{aligned} $$
(11.42)

The interpretation of \(t:0\) is therefore that \(t:0\) is the time the walker needs to travel a distance \(\xi \) when it is diffusing with diffusion constant \(D'\) on the spanning cluster.

11.2.6 Diffusion on the Spanning Cluster

How does the random walker behave on the spanning cluster? We have found that for \(p>p_c\) and for \(t > t_0\) the mean square displacement increases according to

$$\displaystyle \begin{aligned} \langle r^2 \rangle = D't \propto (p - p_c)^{\mu - \beta} t \; , \end{aligned} $$
(11.43)

For \(t <t:0\), we expect the behavior to be

$$\displaystyle \begin{aligned} \langle r^2 \rangle \propto t^{2k'} \; , \end{aligned} $$
(11.44)

as illustrated in Fig. 11.6.

Interpretation of \(t:0\) for Walks on the Spanning Cluster

We expect the relations to be valid up to the point \((t_0,\xi ^2)\), where both descriptions should provide the same result. Therefore we expect

$$\displaystyle \begin{aligned} \xi \propto t_0^{2k'} \propto D' t_0 \; , \end{aligned} $$
(11.45)

and therefore that

$$\displaystyle \begin{aligned} t_0 \propto \frac{\xi^2}{D'} \propto \frac{(p - p_c)^{-2\nu}}{(p - p_c)^{\mu - \beta}} \propto (p - p_c)^{-(2\nu + \mu - \beta)} \; . \end{aligned} $$
(11.46)

Consequently, the value of \(t:0\) is the same for diffusion on the spanning cluster as for diffusion on any cluster including the spanning cluster. In general, we can interpret \(t:0\) as the time it takes for the walker to diffuse to the end of the cluster when \(p < p_c\), and the time it takes to diffuse to a distance \(\xi \) on the spanning cluster when \(p>p_c\).

Interpretation of k for Walks on the Spanning Cluster

Let us check the other exponent, \(k'\). We find that

$$\displaystyle \begin{aligned} \xi^2 \propto (p - p_c)^{-2(2\nu + \mu - \beta)k'} \; , \end{aligned} $$
(11.47)

and therefore that

$$\displaystyle \begin{aligned} k' = \frac{\nu}{2 \nu + \mu - \beta} \; , \end{aligned} $$
(11.48)

which is not the same as we found in (11.28) for all clusters. We find that \(k'\) is slightly larger than k.

Interpretation of \(k'\) and k

What is the interpretation of \(k'\)? If we consider random walks on the spanning cluster only, the behavior at \(p=p:c\) is described by

$$\displaystyle \begin{aligned} \langle r^2 \rangle \propto t^{2k'} \; , \end{aligned} $$
(11.49)

this gives

$$\displaystyle \begin{aligned} r^{1/k'} \propto t \propto r^{d_w} \; , \end{aligned} $$
(11.50)

where \(d:w\) can be interpreted as the dimension of the random walk. For the case of random walkers on the spanning cluster at \(p=p:c\) we have therefore found that4

$$\displaystyle \begin{aligned} d_w = 2 + \frac{\mu - \beta}{\nu} \; . \end{aligned} $$
(11.51)

The fractal dimension is larger than 2. This corresponds to the walker getting stuck on the percolation cluster, and the structure of the walk is therefore more dense or compact.

11.2.7 The Diffusion Constant D

We can use the theory we have developed so far to address the behavior of the diffusion constant with time. Fick’s law can generally be formulated as

$$\displaystyle \begin{aligned} \langle r^2 \rangle = \mathcal{D} t \; , \end{aligned} $$
(11.52)

or, equivalently, we can find the diffusion constant for Fick’s law from:

$$\displaystyle \begin{aligned} \mathcal{D} = \frac{\partial}{\partial t} \langle r^2 \rangle \; . \end{aligned} $$
(11.53)

Now, we have established that for diffusion on the spanning cluster for \(p=p:c\), the diffusion is anomalous. That is, the relation between the square distance and time is not linear, but a more complicated power-law relationship

$$\displaystyle \begin{aligned} \langle r^2 \rangle \propto t^{2k'} \; . \end{aligned} $$
(11.54)

As a result, we find that the diffusion constant \(\mathcal {D}'\) for diffusion on the spanning cluster defined through Fick’s law is

$$\displaystyle \begin{aligned} \mathcal{D}' \propto \frac{\partial}{\partial t} t^{2k'} \propto t^{2k' -1} \; . \end{aligned} $$
(11.55)

We can therefore interpret the process as a diffusion process where \(\mathcal {D}\) decays with time.

In the anomalous regime, we find that

$$\displaystyle \begin{aligned} r \propto t^{k'} \; , \end{aligned} $$
(11.56)

and therefore that

$$\displaystyle \begin{aligned} r^{1/k'} \propto t \; . \end{aligned} $$
(11.57)

We can therefore also write the diffusion constant \(\mathcal {D}'\) as

$$\displaystyle \begin{aligned} \mathcal{D}' \propto t^{2k'-1} \propto r^{2 - 1/k'} \propto r^{-\theta} \; . \end{aligned} $$
(11.58)

We could therefore also say that the diffusion constant is decreasing with distance. The reverse is also generally true: Whenever \(\mathcal {D}\) depends on the distance, we will end up with anomalous diffusion.

We can rewrite the dimension, \(d:w\), of the walk to make the relation between the random walker and the dimensionality of the space on which it is moving more obvious:

$$\displaystyle \begin{aligned} d_w = 2 - d + \frac{\mu}{\nu} + d - \frac{\beta}{\nu} \; , \end{aligned} $$
(11.59)

where we recognize the first term as

$$\displaystyle \begin{aligned} \tilde{\zeta}_R = 2 - d + \frac{\mu}{\nu} \; , \end{aligned} $$
(11.60)

and the second term as the fractal dimension, D, of the spanning cluster:

$$\displaystyle \begin{aligned} D = d - \frac{\beta}{\nu} \; . \end{aligned} $$
(11.61)

We have therefore established the relation

$$\displaystyle \begin{aligned} d_w = \tilde{\zeta}_R + D \; . \end{aligned} $$
(11.62)

This relation is actually generalizable, so that for a random walker restricted to only walk on the backbone, the dimension of the walker is

$$\displaystyle \begin{aligned} d_{w,B} = \tilde{\zeta}_R + D_B \; . \end{aligned} $$
(11.63)

Exercises

Exercise 11.1 (Random Walks on the Spanning Cluster)

In this exercise we will use and modify the program percwalk from the text to study random walks in percolation systems, and on the spanning cluster in particular. We want to find the dimension \(d:{w}\) of a two-dimensional random walk on the spanning cluster.

  1. (a)

    Find the distance \(\langle r^2 \rangle \) as a function of the number of steps N for random walks on the spanning cluster for \(p = p_c\).

  2. (b)

    Find the dimension, \(d:w\) of the walk, from the relation \(\langle r^2 \rangle \propto N^{2/d_w}\).

  3. (c)

    Find the distribution \(P(r,N)\) for the position r as a function of the number of steps N for a random walker on the percolation cluster.

  4. (d)

    (Advanced) Can you produce a data-collapse for the distribution \(P(r,N)\).

  5. (e)

    (Advanced) Can you determine the functional form of the distribution \(P(r,N)\). Is it a Gaussian?

Exercise 11.2 (Random Walks on Percolation Clusters)

In this exercise we will use and modify the program percwalk to study random walks on the spanning cluster of a percolation system.

  1. (a)

    Find the distance \(\langle r^2 \rangle \) as a function of the number of steps N for random walks on the spanning cluster for \(p < p_c\) and for \(p>p_c\).

  2. (b)

    Plot \(\log \langle R^2 \rangle \) as a function of N for various values of p.

  3. (c)

    Can you find the behavior of the correlation length \(\xi \) from this plot?

  4. (d)

    Discuss the behavior of the characteristic cross-over time \(t:0\) based on the plot.

Exercise 11.3 (Self-Avoiding Walks on Fractals)

(Advanced) In this exercise we will use the program percwalk to study a self-avoiding random walker on the spanning cluster. In this exercise you will need to collect extensive statistics to be able to determine the scaling behavior.

  1. (a)

    Find the distance \(\langle R^2 \rangle \) as a function of the number of steps N for random walks on the spanning cluster for \(p = p_c\).

  2. (b)

    Find the dimension, \(d:w\) of the walk, from the relation \(\langle R^2 \rangle \propto N^{2/d_w}\).