In this chapter, we introduce the basic concepts of disordered media. We introduce properties of flow of current or fluids, and then address flow in a percolating system close to \(p:c\). We will study the behavior numerically, develop a scaling theory, and find properties using the renormalization group approach. Our initial studies will be on the binary porous medium of the percolation system. However, we can also extend our results to more general random media, and we demonstrate how this can be done towards the end of the chapter.

9.1 Introduction to Disorder

We have now developed the tools to address the statistical properties of the geometry of a disordered system such as a model porous medium: the percolation system. In the following chapters, we will apply this knowledge to address physical properties of disordered systems and to study physical processes in disordered materials.

We have learned that the geometry of a disordered system displays fractal scaling close to the percolation threshold. Material properties such as the density of singly connected sites, or the backbone of the percolation cluster, display self-similar scaling. The backbone is the part of the spanning cluster that participates in fluid flow. The mass, \(M:B\), of the backbone scales with the system size, L, according to the scaling relation \(M_B = L^{D_B}\), where \(D:B\) is smaller than the Euclidean dimension. The density of the backbone therefore decreases with system size. This implies that material properties which we ordinarily would treat as material constants, depend on the size of the sample. In this part we will develop an understanding of the origin of this behavior, and show how we can use the tools from percolation theory to address the behavior in such systems.

The behavior of a disordered system can in principle always be addressed by direct numerical simulation. For example, for incompressible, single-phase fluid flow through a porous material, the effective permeability of a sample can be found to very good accuracy from a detailed numerical model of fluid flow through the system. However, it is not practical to model fluid flow down to the smallest scale in more applied problems. We would therefore need to extrapolate from the small scale to the large scaling. This process, often referred to as up-scaling, requires that we know the scaling properties of our system. We will address up-scaling in detail in the following chapters.

We may argue that a system at the percolation threshold is anomalous and that any realistic system, such as a geological system, would be far away from the percolation threshold. In this case, the system will only display an anomalous, size-dependent behavior up to the correlation length, and over larger lengths the behavior will be that of a homogeneous material. We should, however, be aware that many physical properties are described by broad distributions of material properties, and this will lead to a behavior similar to the behavior close to the percolation threshold, as we will discuss in detail in this part. In addition, several physical processes ensure that the system is driven into or is exactly at the percolation threshold. One such example is the invasion-percolation process, which gives a reasonable description of oil-water emplacement processes such as secondary oil migration. For such systems, the behavior is well described by the scaling theory we have developed.

In this and following chapters, we will first provide an introduction to the scaling of material properties such as conductivity (Chap. 9), elasticity (Chap. 10) and diffusion (Chap. 11). Then we will demonstrate how processes occurring in systems with frozen disorder, such as a porous material, often lead to the formation of fractal structures (Chap. 12).

9.2 Conductivity and Permeability

We will start our studies of physics in disordered media by addressing flow, either in the form of incompressible fluid flow in a random, porous system or in the form of electric current in a random, porous materials. First, let us address the similarities between these two flow phenomena.

9.2.1 Electrical Conductivity and Resistor Networks

Traditionally, the conductive properties of a disordered material have been addressed by studying the behavior of random networks of resistors called random resistor networks [1, 23, 24]. In this case, a voltage V  is applied across the disordered material, such as a bond-percolation network, and the total current, I, through the sample is measured, giving the conductance G of the sample as the constant of proportionality \(I = GV\). (We recall that the current I is the amount of charge flowing through a given cross-sectional area per unit time).

We remember from electromagnetism that we discern between conductance and conductivity:

  • conductance, G, is a property of a specific sample—a given medium—with specific dimensions

  • conductivity, g, is a material property

For an \(L^d\) sample in a d-dimensional system, the conductance of a homogeneous material with conductivity g is

$$\displaystyle \begin{aligned} G = L^{d-1} g/L = L^{d-2} g \; . {} \end{aligned} $$
(9.1)

It is common in electromagnetism to use \(\sigma \) for conductivity. Here, we will instead use g to avoid confusion with the exponent \(\sigma \), which we introduced previously for the behavior of \(s_{\xi }\). The conductance is inversely proportional to the length of the sample in the direction of flow, and proportional to the cross-sectional \(d-1\)-dimensional area. We can understand this by considering that there are \(L^{d-1}\) parallel parts that contribute to the flow. Parallel-parts add to the conductance. In addition, each part has a length L, and we recall from electromagnetism that resistance increases with length and therefore conductance decreases with length.

9.2.2 Flow Conductivity of a Porous System

We can also use fluid flow in porous medium as our basic physical system. If done in the limit of slow, incompressible fluid flow these two systems are practically identical. For fluid flow in a porous medium of length L and cross-sectional area A, the system is described by Darcy’s law which provide a relation between, \(\varPhi \), the amount of fluid volume flowing through a given cross-sectional area, A, per unit time and the pressure drop \(\varDelta p\) across the sample:

$$\displaystyle \begin{aligned} \varPhi = \frac{k A}{\eta} \frac{\varDelta p}{L} \; , \end{aligned} $$
(9.2)

where k is the called permeability of the material and is a property of the material geometry, and \(\eta \) is the viscosity of the fluid. Again, we would like a description so that k is material property, and all the information about the geometry of the material goes into the permeability of the sample through the length L and the cross-sectional area A. Generalized to a d-dimensional system, the relation is

$$\displaystyle \begin{aligned} \varPhi = \frac{k L^{d-1}}{\eta L} \varDelta p = L^{d-2} \frac{k}{\eta} \varDelta p \; . \end{aligned} $$
(9.3)

From this, we see that the electric conductivity problem in this limit is the same as the Darcy-flow permeability problem, where \(\varDelta p/L\) corresponds to the voltage difference, V , and \(k/\eta \) corresponds to the conductivity g. We will therefore not discern between the two problems in the following. We will simply call them flow problems and describe them using the current, I, the conductivity, g, the conductance G, and the potential V . We will study these problems on a \(L^d\) percolation lattice, using the theoretical, conceptual and computational tools we have developed so far.

9.3 Conductance of a Percolation Lattice

Let us first address the conductance of a \(L^d\) percolation system. The system may be either a site or a bond percolation system, but many of the concepts we introduce are simpler to explain if we just consider a bond percolation system.

We will start with a simplified system: a network of bonds that are present with probability p. We assume that all bonds have the same conductance, which we can set to 1 without loss of generality. The bonds are removed with probability \(1-p\), and we model this by setting the conductance of a removed bond to be zero.

9.3.1 Finding the Conductance of the System

The conductance of the \(L^d\) sample is found by solving the flow problem illustrated in Fig. 9.1. A potential difference V  is applied across the whole sample, and we find (measure) the resulting current I. We find the conductance from Ohm’s law (or similarly from Darcy’s law for fluid flow):

$$\displaystyle \begin{aligned} I = G V \quad \Rightarrow \quad G = \frac{I}{V} \; . \end{aligned} $$
(9.4)

In general, the conductance G will be a function of p and L: \(G = G(p,L)\).

Fig. 9.1
Two illustrations are labeled a and b. A represents singly connected bonds in a bond percolation system and backbone bonds. B represents potentials V subscript i and V subscript j in two sites and the current labeled I subscript i, j from site i to site j.

(a) Illustration of flow through a bond percolation system. The bonds shown in red are the singly connected bonds: all the flux has to go through these bonds. The bonds shown in blue are the rest of the backbone: The flow only takes place on the singly connected bonds and the backbone, the remaining bonds are the dangling ends, which do not participate in fluid flow. (b) Illustration of the potentials \(V:i\) and \(V:j\) in two adjacent sites and the current \(I:{i,j}\) from site i into site j

Local Potentials and Currents

Let us look at the network in more detail. Figure 9.1b illustrates a small part of the whole system. The two adjacent sites i and j are connected with a bond of conductance \(G:{i,j}\). If the bond is present (with probability p in the percolation system), the conductance is \(G:{i,j}\) is 1, otherwise it is zero.

The current from site i to site j is related to the difference in potential between the two sites:

$$\displaystyle \begin{aligned} I_{i,j} = G_{i,j} \left( V_{i} - V_{j}\right) \; , {} \end{aligned} $$
(9.5)

where we notice that the current is positive if the potential is higher in site i than in site j.

Conservation of Current

In addition, the continuity condition provides a conservation equation for the currents: The net charge (or fluid mass for Darcy flow) are conserved, and therefore the net current into any point inside the lattice must be zero. This corresponds to the condition that the sum of the current from site i into all its neighboring sites k must be zero:

$$\displaystyle \begin{aligned} \sum_k I_{i,k} = 0 {} \end{aligned} $$
(9.6)

In electromagnetism this is called Kirchhoff’s rule for currents. We can rewrite this in terms of the local potentials \(V:i\) instead by inserting (9.5) in (9.6):

$$\displaystyle \begin{aligned} \sum_k G_{i,k} \left( V_i - V_k \right) = 0 \; . {} \end{aligned} $$
(9.7)

This provides us with a set of equations for all the potentials \(V:i\), which we must solve to find the potentials and hence the currents between all the sites in a percolation system.

Finding Currents and Potentials

We can use this to find all the potentials for a percolation system. Let us address a two-dimensional system of size \(L \times L\). The potential in a position \((x,y)\) on the lattice is \(V(x,y)\), where x and y are integers, \(x = 0,1,2,\ldots ,L-1\) and \(y = 0,1,2,\ldots , L-1\). We denote \(G:{i,j}\) as \(G(x_i,y_i;x_j,y_j)\). We can then rewrite (9.7) as

$$\displaystyle \begin{aligned} \begin{array}{rcl} G(x,y;x+1,y) \left( V(x,y)-V(x+1,y)\right) & +&\displaystyle \end{array} \end{aligned} $$
(9.8)
$$\displaystyle \begin{aligned} \begin{array}{rcl} G(x,y;x-1,y) \left( V(x,y)-V(x-1,y)\right) & +&\displaystyle \end{array} \end{aligned} $$
(9.9)
$$\displaystyle \begin{aligned} \begin{array}{rcl} G(x,y;x,y+1) \left( V(x,y)-V(x,y+1)\right) & +&\displaystyle \end{array} \end{aligned} $$
(9.10)
$$\displaystyle \begin{aligned} \begin{array}{rcl} G(x,y;x,y-1) \left( V(x,y)-V(x,y-1)\right) & =&\displaystyle 0 {} \end{array} \end{aligned} $$
(9.11)

In order to solve this two-dimensional problem, it is common to rewrite it as a one-dimensional system of equations with a single index. The index \(i = x + yL\) uniquely describes a point so that \(V(x,y) = V_i\). We see that \((x,y) = i\), \((x+1,y) = i+1\), \((x-1,y) = i-1\), \((x,y+1) = i+L\), and \((x,y-1) = i-L\). We can rewrite (9.11) using this indexing system:

$$\displaystyle \begin{aligned} \begin{array}{rcl} G_{i,i+1} \left( V_i - V_{i+1} \right) + G_{i,i-1} \left( V_i - V_{i-1} \right) & +&\displaystyle \end{array} \end{aligned} $$
(9.12)
$$\displaystyle \begin{aligned} \begin{array}{rcl} G_{i,i+L} \left( V_i - V_{i+L} \right) + G_{i,i-L} \left( V_i - V_{i+L} \right) & =&\displaystyle 0 \end{array} \end{aligned} $$
(9.13)

This is effectively a set of \(L^d\) equations for \(V:i\). In addition we have the boundary conditions that \(V(0,j) = V\) and \(V(L-1,j)= 0\) for \(j = 0,1,\ldots ,L-1\). This defines the system as a tri-diagonal set of linear equations that can be solved easily numerically.

9.3.2 Computational Methods

We have now reformulated the conductivity problem on a percolation lattice into a computational problem that we can solve. We do this by generating random lattices of size \(L \times L\), solve to find the potential \(V(x,y)\), and then study the effective conductivity, \(G = I/V\) of the system by summing up all the currents exiting the system (or entering—these should be the same).

We can do this by generating a bond-lattice, where the values \(G:{i,j}\) are either 0 or 1. However, so far all our visualization methods have been constructed for site lattices. We will therefore study a site lattice, but instead generate \(G:{i,j}\) between two sites based on whether the sites are present. We set \(G:{i,j}\) for two nearest-neighbors to be present (1) if both sites i and j are present (1). Otherwise we set \(G:{i,j}\) to zero, that is, if at least one of the sites is empty we set \(G:{i,j}\) to be zero. We assume all the sites on the left and right boundaries to be present. This is where current flows in and where the potentials are set. In addition, we assume all the sites on the top and bottom boundaries to be empty. There is therefore no flow in from the top or bottom. We therefore only study percolation from the left to the right.

We have written subroutines to help you with these studies. The function sitetobond transforms your percolation matrix z to a bond matrix. The function FIND_CON solves the system of equations to find the potentials, \(V:i\), and the function coltomat transforms the resulting array of potentials back into a matrix form, \(V(x,y)\). The following programs are used to calculate the potentials and currents and visualize the results. The resulting plots are shown in Fig. 9.2.

Fig. 9.2
Four plots of the spanning cluster, potential, current, and B B and D E. The spanning cluster represents the connected path spanning the entire system. Potential depicts different potential levels across the medium. Current indicates the absolute value and B B and D E are the backbone bonds.

Plots of the spanning cluster, the potential, \(V(x,y)\), the absolute value of the current flowing into each site, and the singly connected bonds, the backbone and the dangling ends

9.3.3 Measuring the Conductance

We can now use this program to measure the conductance \(G(p,L)\) of the system and how it varies with both p and L. The idea is to calculate G from \(G=I/V\), where we select V  and calculate I using the program. We find I as the sum of all the currents escaping (or entering) the system. In the program, we have set the potential on the left side to be 1. We recall that we describe positions with the index \(j = x + yL\), where the left side corresponds to \(x=0\) and therefore \(j = yL\), which we write at iL with \(i = y\) is the position along the y-axis. The potentials along the left side are therefore \(V:{iL}=1\) for \(i = 0,1,\ldots ,L-1\). The conductance from site iL into a site on the right, that is, into \(iL+1\), is \(G:iL,iL+1\), which is 1. The current into the system from the left side, that is from site iL into site \(iL+1\), is \(I_{iL,iL+1} = G_{iL,iL+1}(V_{iL}-V_{iL+1})\). The total current I into the system is therefore:

$$\displaystyle \begin{aligned} I = \sum_{i=0}^{L-1} I_{iL,iL+1} = \sum_{i=0}^{L-1} G_{iL,iL+1} \left( V_{iL} - V_{iL+1} \right) = \sum_{i=0}^{L-1} \left( V_{iL} - V_{iL+1} \right) \; . \end{aligned} $$
(9.14)

We use the following program to find the conductance, \(G(p,L)\), for an \(L \times L\) system for \(L = 400\), as well as the density of the spanning cluster \(P(p,L)\).

The resulting behavior for \(L = 400\) and \(M = 600\) different realizations is shown in Fig. 9.3. We observe two things from this plot: First we see that the behaviors of \(G(p,L)\) and \(P(p,L)\) are qualitatively different around \(p = p_c\): \(P(p,L)\) increases very rapidly as \((p-p_c)^{\beta }\) where \(\beta \) is less than 1. However, it appears that \(G(p,L)\) increases more slowly. Indeed, from the plot it looks as if \(G(p,L)\) increases as \((p-p:c)^{x}\) with an exponent x that is larger than 1. How can this be? Why does the density of the spanning cluster increase very rapidly, but the conductance increases much slower? This may be surprising, but we will develop an explanation for this observation in the following.

Fig. 9.3
A fitted dual-line graph plots G, P versus p. The estimated values are as follows. G (0.60, 0), (0.65, 0.1), (0.70, 0.18), (0.75, 0.3), (0.80, 0.4), (0.85, 0.5). P (0.60, 0.42), (0.65, 0.6), (0.70, 0.62), (0.75, 0.7), (0.80, 0.75), (0.85, 0.81).

Plots of the conductance \(G(p,L)\) and the density of the spanning cluster \(P(p,L)\) for \(L = 400\)

9.3.4 Conductance and the Density of the Spanning Cluster

For an infinite system, that is when \(L \rightarrow \infty \), we cannot define a conductance G. Instead, we must describe the system by its conductivity \(g = L^{d-2} G\) (see (9.1)). The two-dimensional system is a special case where the conductance and the conductivity are identical. However, in general, we need to use this transformation to relate G and g.

For an infinite system, we know that for \(p<p:c\) there will be no spanning cluster. The effective conductivity is therefore zero. When p is close to 1, the density of the spanning cluster will be proportional to p, and we also expect the conductance to be proportional to p in this range. This may lead us to assume that the density of the spanning cluster and the conductance of the sample are proportional also when p is close to \(p:c\). However, our direct measurements above (originally done by Last and Thouless [24]) show that P and G are not proportional when p approaches \(p:c\).

We have the tools to understand this behavior. The spanning cluster consists of the backbone and dangling ends. However, it is only the backbone that contributes to conductance of the sample. We could remove all the dangling ends, and still get the same behavior the conductance. This suggests, that it is the scaling behavior of the backbone that is important for the conductance. However, we have found that the mass-scaling exponent of the backbone, \(D:B\), is smaller than D, the mass scaling exponent for the spanning cluster. This indicates that most of the mass of the spanning cluster is found in the dangling ends. This is the reason for the difference between the behavior of \(P(p)\), and \(G(p)\) for p close to \(p:c\). In the following we will develop a detailed scaling argument for the behavior of the conductance G and the conductivity g of the percolation system.

9.4 Scaling Arguments for Conductance and Conductivity

We will now use the same scaling techniques we introduced to find the behavior of \(P(p,L)\) to develop a theory for the conductance \(G(p,L)\). First, we realize that we instead of using p as the variable, we may describe the conductance as a function of \(\xi \) and L: \(G(p,L) = G(\xi ,L)\). Second, we realize that the system can only be conducting when there is a spanning cluster, that is, for \(p \ge p_c\). We will address two limiting behaviors: (i) the case \(L \gg \xi \) and (ii) the case \(\xi \gg L\), which means that p is close to \(p:c\).

9.4.1 Scaling Argument for \(p>p_c\) and \(L \gg \xi \)

When \(L \gg \xi \) the system is effectively homogeneous over length scales larger than \(\xi \). , we know that over length scales larger than \(\xi \), the system is effectively homogeneous. If were subdivide the system into cells of size \(\xi \), we get a total of \((L/\xi )^d\) effectively homogeneous cells.

For a homogeneous system of \(\ell ^d\) boxes of size \(\ell \), the conductance is \(G = \ell ^{d-2} G_{\ell }\), where \(G_{\ell }\) is the conductance of a single box. We apply the same principle to this system: The conductance \(G(\xi ,L)\) is given as

$$\displaystyle \begin{aligned} G(\xi,L) = (\frac{L}{\xi})^{d -2} G(\xi,\xi) \; , \end{aligned} $$
(9.15)

where \((L/\xi ) = \ell \) is the number of boxes and \(G(\xi ,\xi )=G_{\ell }\) is the conductance of a single box. We recognize \(G(\xi ,\xi )\) as the conductance of a system where the correlation length \(\xi \) equals the system size, that is, \(L = \xi \). We can then find the conductivity \(g(\xi ,L)\) from (9.1):

$$\displaystyle \begin{aligned} g(\xi,L) = L^{-(d-2)} G(\xi,L) = \frac{G(\xi,\xi)}{\xi^{d-2}} \; . {} \end{aligned} $$
(9.16)

What is \(G(\xi ,\xi )\)? A system with correlation length equal to the system size is indistinguishable from a system at \(p = p_c\). The conductance \(G(\xi ,\xi )\) is therefore the conductance of the spanning cluster at \(p = p_c\) in a system of size \(L = \xi \). Let us therefore find the conductance of a finite system of size L at the percolation threshold.

9.4.2 Conductance of the Spanning Cluster

What is the conductance, \(G(\infty ,L)\), of the spanning cluster at \(p = p_c\)? We know that the spanning cluster consists of the backbone and the dangling ends, and that only the backbone will contribute to the conductivity. The backbone can be described by the blob model (see Sect. 8.2 for a discussion of the blob model): The backbone consists of blobs of bonds in parallel, and links of singly connected bonds between them.

Starting from a scaling hypothesis for the conductance, we will derive the consequences of this assumption, and then test these consequences to see if the data is consistent with our assumption. This will then corroborate the hypothesis. Our scaling hypothesis will be that the conductance of a system of size L at \(p:c\) can be described by a scaling exponent \(\tilde {\zeta }_R\):

$$\displaystyle \begin{aligned} G(\infty,L) \propto L^{-\tilde{\zeta}_R} \; . \end{aligned} $$
(9.17)

Finding Bounds for the Scaling Behavior

In many cases, we cannot find the scaling exponents directly, but we may be able to find bounds for the scaling exponents. We will pursue this approach here. We will find bounds for the scaling of \(G(\infty ,L)\), and use them to determine bounds for the exponent \(\tilde {\zeta }_R\).

Lower Bound for the Scaling Exponent

First, we know that the spanning cluster consists of blobs in series with the singly connected bonds. This implies that the resistivity \(R = 1/G\) of the spanning cluster is given as the resistivity of the singly connected bonds \(R:{SC}\) plus the resistivity of the blobs, \(R:{blob}\) since resistances are added for a series of resistances:

$$\displaystyle \begin{aligned} 1/G = R = R_{SC} + R_{blob} \; . {} \end{aligned} $$
(9.18)

This implies that \(R > R_{SC}\). The singly connected bonds are connected in series, one after another. Their total resistance is the sum of the resistances of each bond, which is the resistance of a single bond, multiplied with the number of sites, \(M:{SC}\). Because \(R:{blob}\) is positive, we see from (9.18) that

$$\displaystyle \begin{aligned} R_{SC} = M_{SC} = R - R_{blob} < R \; . \end{aligned} $$
(9.19)

Because \(M_{SC} \propto L^{D_{SC}}\), and we have assumed that \(R \propto L^{\tilde {\zeta }_R}\), we find that

$$\displaystyle \begin{aligned} L^{D_{SC}} < L^{\tilde{\zeta}_R} \quad \Rightarrow \quad D_{SC} \leq \tilde{\zeta}_R \; . \end{aligned} $$
(9.20)

This gives a lower bound for the exponent!

Upper Bound for the Scaling Exponent

We can find an upper bound by examining the minimal path. The resistance of the spanning cluster will be smaller than or equal to the resistance of the minimal path, since the spanning cluster will have some regions, the blobs, where there are bonds in parallel. Adding parallel bonds will always lower the resistance. Hence, the resistance is smaller than or equal to the resistance of the minimal path. Since the minimal path is a series of resistances in series, the total resistance of the minimal path is the mass of the minimal path multiplied by the resistance of a single bond. Consequently, the resistance of the spanning cluster is smaller than the mass of the minimal path, \(M_{\min }\), which we know scales with system size, \(M_{\min } \propto L^{D_{\min }}\). We have therefore found an upper bound for the exponent

$$\displaystyle \begin{aligned} L^{\tilde{\zeta}_R} \propto R \leq L_{min} \propto L^{D_{min}} \; , \end{aligned} $$
(9.21)

and therefore

$$\displaystyle \begin{aligned} \tilde{\zeta}_R \leq D_{min} \; . \end{aligned} $$
(9.22)

Upper and Lower Bound Demonstrate the Scaling Relation

We have therefore demonstrated (or proved) the scaling relation

$$\displaystyle \begin{aligned} D_{SC} \leq \tilde{\zeta}_R \leq D_{min} \; . \end{aligned} $$
(9.23)

Because this scaling relation shows that the scaling of R is bounded by two power-laws in L, we have also proved that the resistance R is a power-law, and that the exponents are within the given bounds. We notice that when the dimensionality of the system is high, the probability of loops will be low, and blobs will be unlikely. In this case

$$\displaystyle \begin{aligned} D_{SC} = \tilde{\zeta}_R = D_{min} = D_{max} \; . {} \end{aligned} $$
(9.24)

9.4.3 Conductivity for \(p>p_c\)

By scaling arguments, we have established that the conductance \(G(\infty ,L)\) of the spanning cluster in a system of size L is described by the exponent \(\tilde {\zeta }_R\):

$$\displaystyle \begin{aligned} G(\infty,L) \propto L^{-\tilde{\zeta}_R} \text{ when } L \leq \xi \; . {} \end{aligned} $$
(9.25)

We use this to find an expression for \(G(\xi ,\xi )\), which is the conductance of the spanning cluster at \(p=p:c\) in a system of size \(L = \xi \), by inserting \(L = \xi \) in (9.25):

$$\displaystyle \begin{aligned} G(\xi,\xi) \propto \xi^{-\tilde{\zeta}_R} \; . \end{aligned} $$
(9.26)

We insert this in (9.16) in order to establish the behavior of the conductivity, g, for \(p>p_c\), finding that

$$\displaystyle \begin{aligned} \begin{array}{rcl} g & =&\displaystyle \frac{G(\xi,\xi)}{\xi^{d-2}} \propto \xi^{-(d-2 + \tilde{\zeta}_R)} \end{array} \end{aligned} $$
(9.27)
$$\displaystyle \begin{aligned} \begin{array}{rcl} & \propto &\displaystyle (p - p_c)^{\nu (d-2 + \tilde{\zeta}_R)} \propto (p - p_c)^{\mu} \end{array} \end{aligned} $$
(9.28)

Where we have introduced the exponent \(\mu \):

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

We notice that for two-dimensional percolation, any value of \(\tilde {\zeta }_R\) larger than \(1/\nu \) will lead to \(\mu > 1\), which was what was observed in Fig. 9.3. The exponent \(\mu \) is therefore larger than 1, which is significantly different from the exponent \(\beta \), which is less than 1, which describes the mass of the spanning cluster.

Can the Results Be Generalized?

We have therefore explained the difference between how \(P(p,L)\) and \(G(p,L)\) (or \(g(p,L)\)) scales with \((p - p_c)\) close to \(p:c\). This is a useful insight and a useful result that provides important information about how a random porous material behaves just as flow is starting to occur through it. Notice that when we study percolation systems, we have generally assumed that the porosity is uncorrelated. For real systems, the porosity may have correlations due to the physical processes that have generated the porosity or the underlying materials. However, when we know how to describe uncorrelated systems like the percolation system, we may use similar theoretical, scaling and computational approaches to study the behavior of real and possibly correlated systems.

9.5 Renormalization Calculation

Another theoretical approach to address and understand the behavior of the system is through the renormalization calculation. Here, we will use the renormalization approach for a square bond lattice in order to estimate the exponent \(\tilde {\zeta }_R\).

In order to apply the renormalization approach, we calculate the average resistance \(\langle R \rangle \) of a \(2 \times 2\) cell. We use the H-cell approach and only look at percolation in the horizontal direction. The various configurations c and their degeneracy \(g(c)\) is illustrated in Table 9.1. (The degeneracy is the number of configurations in the same class). We assume that the resistance of a single bond is \(R:0\). The average resistance, \(\langle R \rangle \), of the renormalized cell is then the probability of the renormalized cell to be occupied, \(p'\), multiplied with the resistance of the renormalized cell, \(R'\), so that \(p' R' = \langle R \rangle \). Using the scaling relation for the resistance, \(R \propto L^{\tilde {\zeta }_R}\), we can determine the exponent from

$$\displaystyle \begin{aligned} \tilde{\zeta}_R = \frac{\ln R'}{\ln b} \; . \end{aligned} $$
(9.30)

where all the values are calculated for \(p^{\ast }\), which we recall is \(p^{\ast } = 1/2\) for this scheme. The renormalization scheme and the values used are shown in Table 9.1, where we use \(p' = p^{\ast } = 1/2\) to calculate \(R'\). The resulting value for the renormalized resistance is

$$\displaystyle \begin{aligned} \begin{array}{rcl} R' & =&\displaystyle \frac{1}{p'}\sum_c g(c) P(c) R(c) \end{array} \end{aligned} $$
(9.31)
$$\displaystyle \begin{aligned} \begin{array}{rcl} & =&\displaystyle \frac{1}{p'}\left(\frac{1}{2} \right)^5 \left( 1 + 1 + 4 \cdot \frac{5}{3} + 2 \cdot 2 + 2 \cdot 3 + 4 \cdot 2 + 2 \cdot 2 \right) \end{array} \end{aligned} $$
(9.32)
$$\displaystyle \begin{aligned} \begin{array}{rcl} & \simeq&\displaystyle 1.917 \; . \end{array} \end{aligned} $$
(9.33)

Consequently, the exponent \(\tilde {\zeta }_R\) is given by

$$\displaystyle \begin{aligned} \tilde{\zeta}_R \simeq \frac{\ln 1.917}{\ln 2} \simeq 0.939 \; . \end{aligned} $$
(9.34)

This value is consistent with the scaling bounds set by the scaling relation in (9.24).

Table 9.1 Renormalization scheme for the scaling of the resistance R in a random resistor network. The value \(R(c)\) gives the resistance of configuration c, and \(g(c)\) is the degeneracy, that is, the number of such configurations

9.6 Finite Size Scaling

In general, the conductance and the conductivity is related by:

$$\displaystyle \begin{aligned} G(p,L) = L^{d-2} g(p,L) \end{aligned} $$
(9.35)

We found that the scaling of the conductivity is:

$$\displaystyle \begin{aligned} g \propto (p - p_c)^{\mu} \propto \xi^{-\mu/\nu} \; , \end{aligned} $$
(9.36)

with the exponent \(\mu \) given as \(\mu = \nu \left ( d - 2 + \tilde {\zeta }_R \right )\).

How can we use this scaling behavior as a basis for a finite-size scaling ansatz? We extend the behavior of the infinite system to the finite size system by the introduction of a finite size scaling function \(f(L/\xi )\):

$$\displaystyle \begin{aligned} g(\xi,L) = \xi^{-\mu/\nu} f(\frac{L}{\xi}) \; . \end{aligned} $$
(9.37)

We find the behavior of the scaling function, \(f(u)\), by addressing the limiting cases. When \(\xi \rightarrow \infty \), we know that \(g(\xi ,L)\) will only depend on L, which means that \(f(L/\xi )\) must cancel the \(\xi ^{-\mu /\nu }\) term, that is, \(f(u) \propto u^{- \mu /\nu }\) for \(u \ll 1\). Similarly, when \(\xi \ll L\), we know that \(g(\xi ,L)\) will only depend on \(\xi \), which means that \(f(L/\xi )\) must be a constant. The scaling function \(f(u)\) therefore has the form

$$\displaystyle \begin{aligned} f(u) = \left\{ \begin{array}{ll} \mbox{const.} & \text{ when } u \gg 1, \text{ that is } L \rightarrow \infty \\ u^{-\mu/\nu} & \text{ when } u \ll 1, \text{ that is } \xi \rightarrow \infty \end{array} \right. \end{aligned} $$
(9.38)

9.6.1 Finite-Size Scaling Observations

How does the scaling ansatz correspond to the observations? We can use the program we have developed to measure the conductivity as a function of both p and system size L. The following program has been modified for this type of measurement:

The results for \(L = 25,50,100,200,400\) are shown in Fig. 9.4. Here, we plot both the raw data, \(g(p,L)\), and the behavior of \(g(p:c,L)\) as a function of L on a \(\log -\log \)-scale, showing that \(g(p:c,L)\) indeed scales as a power-law with L.

Fig. 9.4
Left. A multi-line graph plots g of p, L versus p for L equals 25, 50, 100, 200, and 400, all exhibiting an increasing trend. Right. A fitted line graph of log 10 g of p c, L versus log 10 L plots a linearly decreasing trend.

(a) Illustration of the conductivity \(g(p,L)\) as a function of p for \(L=25,50,100,200,400\). (b) We see that at \(p:c\) the conductivity \(g(p:c,L)\) is scaling according to \(g \propto L^{-\mu /\nu }\)

Scaling Data Collapse

We can also test the scaling ansatz by plotting a finite-size scaling data collapse. We expect that the conductivity will behave as

$$\displaystyle \begin{aligned} g(p,L) = L^{-\mu/\nu} \tilde{f} \left( L/ \xi \right) \; , \end{aligned} $$
(9.39)

which we can rewrite by introducing \(\xi = \xi _0 (p-p_c)^{- \nu }\) to get:

$$\displaystyle \begin{aligned} g(p,L) = L^{-\mu/\nu} \tilde{f} \left( \left( L^{1/\nu} (p-p_c) \right)^{\nu} \right) \; . \end{aligned} $$
(9.40)

In Fig. 9.5 we demonstrate that this scaling form is valid by getting a data collapse when we plot \(L^{\mu /\nu }g(p,L)\) as a function of \(L^{1/\nu } (p-p_c)\).

Fig. 9.5
A line graph plots L superscript u slash v g of p, L versus L superscript 1 slash v pf p minus p c. The estimated values for 2 overlapped curves are as follows. (0, 0), (5, 20), (10, 50), (15, 80), and (20, 120).

Finite-size data scaling collapse for \(g(p,L)\) showing the validity of the scaling ansatz

Estimating the Exponent \(\mu \) from the Data

We can also use the results from the simulations to measure \(\mu \) directly by plotting \(g(p,L)\) as a function of \((p-p:c)\) and fitting a linear function on a log-log plot. We do this for increasing values of L in Fig. 9.6 (Notice that the curves for small values of L clearly are not linear, and we should, ideally, have fitted the linear curve to only the part of the curve that is approximately linear. We will not address methods to do this here, but you should develop such methods in your own research.).

Fig. 9.6
Left. A dot plot of log 10 g of p, L versus log 10 of mod p minus p c for L = 25, 50, 100, 200, and 400. The graph has an increasing trend. Right. A fitted-line graph plots mu versus L. The estimated values are as follows. (20, 0.7), (100, 1.1), (200, 1.25), (300, 1.26), and (400, 1.3).

(a) Plot of \(g(p,L)\) for increasing values of L. (b) Plot of the exponent \(\mu \) calculated by a linear fit for increasing system sizes L

Implications of the Scaling Ansatz

Our conclusion is that the conductivity is a function of p, but also of system size, which implies that the conductivity of a disordered system close to \(p:c\) is not a simple material property as we are used to. We therefore need to address the scaling behavior of the system in detail in order to understand the behavior of the conductivity and the conductance of the system.

9.7 Internal Distribution of Currents

When we solve the flow problem on a percolation cluster, we find a set of currents \(I_b = I_{i,j}\) for each bond \(b=(i,j)\) on the backbone. For all other bonds, the currents will be identically zero. How can we describe the distribution of currents on the backbone?

For electrical flow, the conservation of energy is formulated in the expression:

$$\displaystyle \begin{aligned} R I^2 = \sum_b r_b I_b^2 \; , \end{aligned} $$
(9.41)

where R is the total resistance of the system, I is the total current, \(r:b\) is the resistivity of bond b and \(I:b\) is the current in bond b. We can therefore rewrite the total resistance R as

$$\displaystyle \begin{aligned} R = \sum_b r_b (\frac{I_b}{I})^2 = \sum_b r_b i_b^2 \; , {} \end{aligned} $$
(9.42)

where we have introduced the fractional current \(i_b = I_b/I\). We have written the total resistance as a sum of the square of the fractional currents in each of the bonds.

Distribution of Fractional Currents

The fractional current \(i:b\) is assigned to each bond of the backbone. We can describe the fractional currents by the probability distribution for various values of \(i:b\) by counting the number of bonds \(n(i:b)\) having the fractional current \(i:b\). The total number of bonds is the mass of the backbone:

$$\displaystyle \begin{aligned} \sum_b 1 = M_{B} \propto L^{D_B} \; . \end{aligned} $$
(9.43)

The distribution of fractional currents is therefore given by \(P(i_b) = n(i_b)/M_B\). We characterize the distribution \(P(i)\) through the moments of the distribution:

$$\displaystyle \begin{aligned} \langle i^{2q} \rangle = \frac{1}{M_B} \sum_b i^{2q}_b = \frac{1}{M_B} \int i^{2q} n(i) di \; . \end{aligned} $$
(9.44)

There is, unfortunately, no general way to simplify this relation, since we do not know whether the function \(n(i)\) has a simple scaling form.

Moments of the Distribution of Currents

However, we can address specific moments of the distribution. We know that the mass of the backbone has a fractal scaling with exponent \(D:B\). This corresponds to the zero’th moment of the distribution. We expect (or hypothesize) that at \(p=p:c\), the other moments has a scaling form:

$$\displaystyle \begin{aligned} \sum_b i_b^{2q} \propto L^{y(q)} \; . \end{aligned} $$
(9.45)

What can we say about the scaling exponents \(y(q)\) for moment q?

  • For \(q=0\), the sum is

$$\displaystyle \begin{aligned} \sum_b (i_b^2)^0 \propto L^{y(0)} \propto L^{D_B} \; , \end{aligned} $$
(9.46)

that is, \(y(0) = D_B\).

  • For \(q \rightarrow \infty \), the only terms that will be important in the sum are the terms where \(i_b = 1\), because all other terms will be zero. The bonds with \(i_b = 1\) are the singly connected bonds: all the current passes through these bonds. Therefore, we have

$$\displaystyle \begin{aligned} \sum_b (i_b^2)^{\infty} \propto L^{y(\infty)} \propto M_{SC} \propto L^{D_{SC}} \; , \end{aligned} $$
(9.47)

and we find that \(y(\infty ) = D_{SC}\).

  • For \(q=1\), we find from (9.42) that the sum is given as the total resistance of the cluster

$$\displaystyle \begin{aligned} \sum_b (i_b^2)^1 = R \propto L^{\tilde{\zeta}_R} \; , \end{aligned} $$
(9.48)

which implies that \(y(1) = \tilde {\zeta }_R\).

Multifractal Distribution

The distribution of fractional currents is an example of a multi-fractal distribution. The higher moments of this distribution have a non-trivial scaling relation

$$\displaystyle \begin{aligned} M_q = \langle i^{2q} \rangle = \frac{\sum_b i_b^2}{M_B} \propto L^{y(q)-D_B} \; . \end{aligned} $$
(9.49)

Because each term in the sum \(\sum _b (i_b)^{2q}\) is monotonically decreasing in q, the sum is also monotonically decreasing. We can therefore illustrate the curve \(y(q)\) as in Fig. 9.7, where we see that \(y(q)\) is a non-trivial function of q. This is in contrast to a unifractal distribution. We have seen unifractals in e.g. cluster number density. The moments of the cluster number density has the form \(M_q \propto \xi ^{xq}\) with \(x = \gamma (\beta + 1)/\nu \). This means that all the moments are effectively described by a single exponent, x. We call such distributions unifractal, whereas distributions where the relationship is non-linear, such as for \(y(q)\), we call multifractal.

Fig. 9.7
A line graph plots y times q versus q. Starting at a point marked D B on the vertical axis, the curve decreases sharply and levels off towards D S C. The curve is connected to the vertical axis at points labeled 1 and 2, and the horizontal axis at a point labeled xi R.

Illustration of the exponents \(y(q)\) characterizing the scaling of the moments of the distribution of fractional currents, as a function q, the order of the moment

In real resistor-networks, the case is even more complex, because the resistivity is due to impurities, and the impurities diffuse. Therefore, the fluctuations in the resistivity will also have a time-dependent part. This is the origin of thermal noise in the circuit. If we keep the total current I constant, fluctuations in the resistivity will lead to fluctuations in the voltage.

9.8 Real Conductivity

So far we have addressed conductivity of a percolation cluster. That is a system where the local conductances (or permeabilities) are either zero or a given constant conductance. That is, we have studied a system with local conductances \(G:{i,j}\) so that

$$\displaystyle \begin{aligned} G_b = G_{i,j} = \left\{ \begin{array}{ll} 1 & \text{ with probability } p \\ 0 & \text{ with probability } 1-p \end{array} \right. \; . \end{aligned} $$
(9.50)

However, in practice, we want to address systems with some distribution of conductances, such as a binary mixture of good and bad conductors, with conductances:

$$\displaystyle \begin{aligned} G_b = G_{i,j} = \left\{ \begin{array}{ll} G_{2} & \text{ with probability } p \\ G_{1} & \text{ with probability } 1-p \end{array} \right. \; . \end{aligned} $$
(9.51)

Superconductor Networks

However, in order to address this problem, let us first look at the conjugate problem to the random resistor network, the random superconductor network. We will assume that the conductances are

$$\displaystyle \begin{aligned} G_b = G_{i,j} = \left\{ \begin{array}{ll} \infty & \text{ with probability } p \\ 1 & \text{ with probability } 1-p \end{array} \right. \; . \end{aligned} $$
(9.52)

In this case, we expect the conductance to diverge when p approaches \(p:c\) from below, and that the conductance is infinite when \(p > p_c\). It can be shown that the behavior for the random superconductor network is similar to that of the random resistor network, but that the exponent describing the divergence of the conductance (and consequently conductivity) when p approaches \(p:c\) is s:

$$\displaystyle \begin{aligned} G \propto (p_c - p)^{-s} \; , \end{aligned} $$
(9.53)

Combining the Two Approaches

How can we address both these problems? For any system with a finite smallest conductance, \(G_{<}\), we can always use the smaller conductance as the unit for conductance, and write the functional form for the conductance of the whole system as

$$\displaystyle \begin{aligned} G(G_{1},G_{2},p) = (\frac{G(\frac{G_{1}}{G_{1}},\frac{G_{2}}{G_{1}},p)}{G_{1}}) = G(\frac{G_{2}}{G_{1}},p) \; , \end{aligned} $$
(9.54)

We will make a scaling ansatz for the general behavior of G:

$$\displaystyle \begin{aligned} G = G_{2} (p - p_c)^{\mu} f_{\pm}(\frac{(\frac{G_{1}}{G_{2}})}{(p - p_c)^y} ) \; , {} \end{aligned} $$
(9.55)

where the exponent y is yet to be determined.

  • The random resistor network we studied above corresponds to \(G_{1} \rightarrow 0\), and \(G_{2} = c\). In this case, we retrieve the scaling behavior for p close to \(p:c\), by assuming that \(f:{+}(0)\) is a constant.

  • For the random superconductor network, the conductances are \(G_{2} \rightarrow \infty \), and \(G_{1} = \text{const.}\). We will therefore need to construct \(f:{-}(u)\) in such a way that the infinite conductance is canceled from the prefactor. That is, we need \(f_{-}(u) \propto u\). We insert this into (9.55), getting

$$\displaystyle \begin{aligned} G \propto G_{2} (p - p_c)^{\mu} \frac{\frac{G_{1}}{G_{2}}}{(p - p_c)^{y}} \propto G_{1} | p - p_c|^{\mu + y} \; . \end{aligned} $$
(9.56)

Because we know that the scaling exponent should be \(\mu + y = -s\) in this limit, we have determined y: \(y = -\mu - s\), where \(\mu \) and s are determined from the random resistor and random superconductor networks respectively.

Finite \(G:2\) and \(G:1\)

When \(p \rightarrow p_c\) the conductance G should approach a constant number when both \(G:{2}\) and \(G:{1}\) are finite. However, \(p \rightarrow p_c\) corresponds to the argument \(x \rightarrow + \infty \) in the function \(f_{\pm }(x)\). The only way to ensure that the total conductance is finite, is to require that the two dependencies on \((p - p_c)\) cancel exactly. We achieve this by selecting

$$\displaystyle \begin{aligned} f_{\pm}(x) \propto x^{\mu/(\mu + s)} \; . \end{aligned} $$
(9.57)

We can insert this relation into (9.55), getting

$$\displaystyle \begin{aligned} G = G_{2} | p - p_c|^{\mu} ( \frac{ \frac{G_{1}}{G_{2}}} {| p - p_c|^{\mu + s}} )^{\mu/(\mu + s)} \; , \end{aligned} $$
(9.58)

which results in

$$\displaystyle \begin{aligned} G = G_{2} (\frac{G_{1}}{G_{2}})^{\frac{\mu}{\mu + s}} \; . \end{aligned} $$
(9.59)

This expression can again be simplified to

$$\displaystyle \begin{aligned} G(p=p_c) = G_{2}^{\frac{s}{\mu + s}} G_{1}^{\frac{\mu}{\mu + s}} \; , \end{aligned} $$
(9.60)

In two dimensions, \(\mu = s \simeq 1.3\), and the relation becomes:

$$\displaystyle \begin{aligned} G \propto (G_{1} G_{2})^{\frac{1}{2}} \; , \end{aligned} $$
(9.61)

Exercises

Exercise 9.1 (Density of the Backbone)

The backbone of a spanning cluster is the union of all self-avoiding walks from one side of the cluster to the opposite. The backbone corresponds to the sites the contribute to the flow conductivity of the spanning cluster. The remaining sites are the dangling ends.

We call the mass of the backbone \(M:B\), and the density of the backbone \(P_B = M_B/L^d\), where L is the system size, and d the dimensionality of the percolation system. Here, we will study two-dimensional site percolation.

  1. (a)

    Argue that the functional form of \(P:B(p)\) when \(p \rightarrow p_c^{+}\) is

    $$\displaystyle \begin{aligned} P_B(p) = P_0 (p - p_c)^{x} \; , \end{aligned} $$
    (9.62)

    and find an expression for the exponent x. You can assume that the fractal dimension of the backbone, \(D:B\), is known.

  2. (b)

    Assume that the functional form of \(P:B(p)\) when \(p \rightarrow p_c^{+}\) and \(\xi \ll L\) is

    $$\displaystyle \begin{aligned} P_B(p) = P_0 (p - p_c)^{x} \; , \end{aligned} $$
    (9.63)

    Determine the exponent x by numerical experiment. If needed, you may use that \(\nu = 4/3\).

Exercise 9.2 (Flow on Fractals)

Use the example programs from the text to study fluid flow in a percolation system.

  1. (a)

    Run the example programs provided in the text to visualize the currents on the spanning cluster.

  2. (b)

    Modify the program to find the backbone and the dangling ends of the spanning cluster.

  3. (c)

    Use the program to find the singly connected bonds in the spanning cluster.

Exercise 9.3 (Conductivity)

  1. (a)

    Find the conductivity as a function of \(p - p_c\). Determine the exponent \(\tilde {\zeta }_R\) by direct measurement.

  2. (b)

    Find the conductivity at \(p = p_c\) as a function of system size L.

Exercise 9.4 (Current Distribution)

Use the example programs from the text to find the currents \(I:b\) in each bonds b on a spanning cluster at \(p = p_c\), \(p = 0.585\), and \(p = 0.60\).

  1. (a)

    Find the total current I going through the system.

    In the following we will study the normalized currents, \(i_b = I_b/I\).

  2. (b)

    Find the distribution \(P(i)\) of the normalized currents.

  3. (c)

    Measure moments of the distribution.

Exercise 9.5 (Bivariate Porous Media)

Rewrite the programs in the text to study a bivariate distribution of conductances. That is, for each site, the conductance is 1 with probability p and \(g_0 <1\) with probability \(1-p\).

  1. (a)

    Visualize the distribution of currents for \(g_0 = 0.1\).

  2. (b)

    Find the conductivity \(g(p)\) for \(\sigma _0 = 0.1\), \(0.01\), and \(0.001\).

  3. (c)

    Plot \(\sigma (p_c)\) as a function of \(\sigma _0\).

  4. (d)

    (Advanced) Can you find a way to rescale the conductivities to produce a data-collapse?