1 Introduction

For more than half a century, it has been common to visualize the heterogeneous force transmission in granular materials [24]: these patterns have come to be known as force chains. It has been less clear, however, how best to provide a mesoscale description of this network of interparticle contacts. A better understanding of the important length scales over which intermediate structures are present would provide new routes to connect particle-scale properties to bulk properties. In this paper, we take the growing field of network science as our inspiration [5]. Network techniques can be applied to such varied systems as social networks, neural systems, or airline route maps: anything which can be reduced to a network of nodes and the edges (links) that connect them. In the sphere packings studied here, the packing, along with its interparticle forces, is abstracted as a force network. This network comprises two parts: (1) a set of nodes, one for each particle in the system and (2) a set of edges connecting those nodes, with one edge (weighted by the normal contact force) for each interparticle contact.

The use of network science techniques has attracted significant attention in the past few years, particularly as a way to extract the “backbone” of the system, as well as to identify the particles that are most important for stabilizing the system. Ultimately, it would be possible to follow the evolution of those networks under loading. By considering the entire network [1, 69] it is possible to extract statistics about the degree of connectivity among the particles, and how that influences the bulk response.

One approach has been to define the main network based on a set of rules about how particles in a force chain should be connected. For example, Peters et al. [10] and Zhang et al. [11] define the backbone by setting a threshold value for contact forces and the angles between particles, while Kondic et al. [12] use a topological invariant called the zeroth Betti number [13] to characterize the size of connected clusters. A disadvantage of these approaches is that thresholding strictly removes the weak interparticle contacts from consideration, even though these forces are thought to play an important role in providing lateral stability [14]. To avoid automatically removing all weak forces, it is possible to use community-detection techniques [15, 16] that allow for optimized partitioning into clusters without a hard threshold. For example, Navakas et al. [17, 18] and Bassett et al. [9] identified force clusters which have stronger interparticle forces within each cluster than between them. However, the force chain communities detected in this way take the form of compact domains rather than sparse networks. Therefore, the communities obtained using this earlier method do not seem to provide the best mesoscale description of the force network, either to explain sound propagation [19] (observed to be along force chains) or the changing network of contacts under flow [20] (they form a giant component of broken links).

Recently, Bassett et al. [1] recognized that community-detection algorithms which depend on a random null model miss an important aspect of granular materials: that grains are geographically constrained to be connected only to their neighbors. By working with a new null model that respects these geographic constraints, the detected communities take the form of the expected sparse (branched, chain-like) structures. This new geographical null model, when applied to either simulated (frictionless) or laboratory (frictional) packings of disks, was able to successfully distinguish the different force chain morphologies of the two distinct datasets.

In this paper, we adapt this new technique to perform a similar community detection in simulations of 3D granular packings, and examine how these communities systematically change as a function of confining pressure and interparticle friction. By using simulations, we can test the methods in a controlled environment where it is possible to generate many independent realizations. Increasingly, such data is becoming available in 3D granular experiments [2123], in the form of normal contact forces measured from the macroscopic deformations of soft particles.

The community detection method consists of two steps, modularity maximization to partition the network into clusters (communities), and selecting a resolution parameter which controls the total number and shape of these clusters. To perform the maximization, we use the same geographic null model as in Bassett et al. [1], allowing us to incorporate contact information. In selecting a resolution parameter, we found that the previous technique [1] was inadequate for 3D systems. Therefore, we developed a new figure of merit to quantify the degree of sparseness within the communities, based on the convex hull of the constituent particles.

When the process is complete, each packing is partitioned into a set of communities. We observe that these communities typically have sparse, branching form, with many interstitial communities consisting of only a few weak-force particles. We characterize the ensemble of communities by their size, strength, and degree of sparseness, as a function of both interparticle friction and pressure. Both friction and pressure influence the network properties of force chains, and we observe transitions in community properties as a function of both parameters.

2 Simulation methods

We perform our numerical simulations using the discrete element model LAMMPS (Large-scale Atomic/ Molecular Massively Parallel Simulator) [24] maintained by Sandia National Labs. This open-source software is based on a fast parallel algorithm [25] for molecular dynamics. Our simulations contain \(N = 3000\) bidisperse spheres of mass m poured from above, half of diameter d and half of diameter 1.4d. The simulation cell has lateral dimensions \(15d \times 15d\) (periodic boundary conditions in both directions) and height 26d (open at the top, closed at the bottom) with gravity acting downwards. To model a hard, frictional granular material, we use a Hertzian contact model with a normal elastic constant \(K_n = 2 \times 10^5\) and a tangential elastic constant \(K_t = \frac{2}{7} K_n\). (These values approximately correspond to ruby spheres [26] of centimetric size, determined by re-dimensionalizing with appropriate physical and material parameters.) We vary the interparticle friction coefficient over seven values \(\mu = 0, 0.01, 0.03, 0.1, 0. 3, 1, 3\) to examine the dependence of our results on interparticle friction.

2.1 Preparation protocol

We mimic experimental protocols in which particles are poured into a box from above, and then compressed via a uniform pressure. Our numerical pouring method, adapted from Silbert et al. [27], mimics pouring particles through a sieve (to prevent the formation of a conical heap) by generating particles at random positions at the top of the simulation volume and allowing them to fall downward under the force of gravity. We select a very low packing fraction \(\phi _i = 0.005\) for this insertion region, so that the resulting mean coordination number \({\bar{c}} = 5.5\) is independent of the choice of \(\phi _i\) [28]. After inserting all particles into the container, we allow the kinetic energy to dissipate until it is less than \(10^{-8}\, mgd\) (where g is the gravitational acceleration) [27].

2.2 Compression protocol

For each such initial packing, we apply pressure by generating a massless slab (size \(15d \times 15d \times 2d\), FCC lattice, as shown in Fig. 1) at the top of the packing. From this initial state (compressed by gravity, but no additional pressure) we apply an increasing series pressures (\(P = 0, 10^{-6}, 3\times 10^{-6}, 10^{-5}, 3\times 10^{-5}, 10^{-4}\), measured in units of \(K_n\)) to the upper surface of the resulting packing. The magnitude of the non-dimensionalized confining pressure is just below those reported in recent experiments on softer particles [29]. After the kinetic energy of the system has again dissipated under the same criterion as in the preparation protocol, we record all position and force measurements. This process repeats for each successive pressure value, recording all particle positions and interparticle forces at each step. Sample normal force networks are shown in Fig. 1.

Fig. 1
figure 1

a Sample particle configurations generated using LAMMPS, with small particles (diameter d) shown in blue and large particles (1.4d) shown in yellow. In subsequent steps, we apply pressure from above using a flat slab. b Corresponding normal force networks, with bar thickness proportional to the normal force magnitude (color figure online)

2.3 Testing friction-dependence

For each of the 7 values of \(\mu \), we perform 20 independent simulations starting from different random initial conditions. We use a bootstrap-like process (sampling with replacement) to confirm that this is sufficient for reliable statistics. In a few places, noted within the text, the fluctuations were large enough that this criterion was not satisfied. In all of our analyses, we consider only the normal component of the interparticle forces, as is currently measured in experiments [2123]. This simplification also allows us to directly compare both frictionless and frictional packings. In total, this amounts to \(7\times 20 =140\) different simulations runs. Each of these 140 runs provides data at 6 values of P, via the compression protocol.

3 Community detection

Community detection [16] is a common problem in network science, with a goal of locating clusters of nodes which are more strongly connected to each other than to nodes in other communities. In many cases, these individual communities form quasi-independent subunits of the network. In our granular systems, our goal is therefore to partition the granular packing into communities of particles which have high interparticle forces internally (locally stiff) and low interparticle forces in their connections to other communities. We build on the work of Bassett et al. [1, 9], which utilizes the open source network analysis tool GenLouvain (Version 2.0) from NetWiki [30] to implement the modularity maximization method [31] of community detection.

The network analysis begins from a representation of the normal force network (Fig. 1b) as an \(N\times N\) weighted adjacency matrix \(\mathbf W\). Each element \(W_{ij}\) is the normal contact force between particle i and particle j: zero for particles not in contact, and \(f_{ij}/\bar{f}\) for all non-zero interparticle forces (scaled by the mean normal force \(\bar{f}\) for the whole packing). The modularity Q of a network is a scalar value calculated from

$$\begin{aligned} Q=\sum _{i,j} \left[ W_{ij}-\gamma P_{ij} \right] \delta (c_{i},c_{j}) \end{aligned}$$
(1)

where \(\gamma \) is a resolution parameter, \(P_{ij}\) is the expected weight of an edge due to a specific null model (to be chosen by the user), \(c_i\) and \(c_j\) are the (numbered) community assignments for particle i and j, and \(\delta \) is the Kronecker delta function. If particles ij are assigned to the same community, then \(\delta (c_{i},c_{j})=1\), otherwise \(\delta (c_{i},c_{j})=0\). The optimization process adjusts the community assignments for fixed \(\gamma \) and fixed null model. As developed in Bassett et al. [1], we utilize a physically-motivated geographic null model in which particles connect to a community through their direct neighbors:

$$\begin{aligned} P_{ij}=\left\{ \begin{matrix} 1,\qquad W_{ij}\ne 0,\\ 0,\qquad W_{ij}=0. \end{matrix}\right. \end{aligned}$$
(2)

We chose not to use the more common Newman–Girvan null model [31] which allows for arbitrary connections between particles [9, 17] because in 2D packings of disks, the geographic null model has been shown to successfully generate communities with chain-like morphologies [1] (rather than compact domains).

Because modularity maximization (finding the largest value of Q) is an NP-hard problem, the published methods [30] use a greedy heuristic algorithm. To test the stability of this method, we run this algorithm 100 times on the same force network and find that the fluctuation of maximal value of the modularity Q is within 1%. In addition, we observe that the 15 largest communities consist of the same core group of particles: 70% of the same subset of particles are included in 90% of the iterations. We additionally find that fluctuations in Q are not accompanied by fluctuations in the morphology of the detected communities (to be quantified in Sect. 4.2).

The choice of resolution parameter \(\gamma \) controls the total number of communities identified, and also their morphology. For \(\gamma < 1\), optimizing Q favors large communities, while for \(\gamma > 1\) small communities dominate. To select the optimal value of \(\gamma \), we seek a figure of merit which quantifies the extent to which the detected communities take on a chain-like character: branched and sparse. We found that the technique used by Bassett et al. [1] for 2D packings was ineffective in 3D systems. We therefore define a new figure of merit, the normalized convex hull ratio \(H_c\)

$$\begin{aligned} H_c = \frac{V_\mathrm {p}}{V_\mathrm {hull}} \end{aligned}$$
(3)

where \(V_\mathrm {p}\) is the total volume of particles in the community and \(V_\mathrm {hull}\) is the volume of the convex hull of the community. Sparse communities will have lower values of \(H_c\). To calculate \(V_\mathrm {hull}\), we discretize each sphere as a \(7\times 7\) matrix of points and determine the convex hull using the Matlab boundary function. Figure 2 shows example convex hulls.

Fig. 2
figure 2

Five example communities (\(\gamma = 3\)) and their convex hulls, for a packing at with \(\mu =0.3\) and \(P=10^{-4}\). Only communities containing more than 10 particles are shown

Figure 3 shows two examples of intermediate-size communities, shown in isolation to make them more visible. Note the chain-like structures dominating the communities, providing a sparse structure with a low hull ratio. The interstices of such communities can be filled either by smaller communities, or by intercollated communities which are also branched. Therefore, we use the term “sparse” to collectively refer to all of these properties.

Fig. 3
figure 3

Examples of two medium size communities. Resolution parameter \(\gamma =1.1\). \(\mu =0.3\). \(P=10^{-4}\)

For each packing, we calculate the mean hull ratio H by averaging the measured \(H_{c}\) weighted by the number of particles in each community, excluding communities which contain only one particle. To determine the optimal value of \(\gamma \) to use in our analysis, we measure how H changes as a function of \(\gamma \) across a range of pressures. As shown in Fig. 4a, there is a clear minimum value of H which is approximately consistent across different values of P. Our choice of \(\gamma \) is further guided by examining histograms of the community size at different values of \(\gamma \) ranging from 0.5 to 2.2. We find that for \(\gamma < 1.0\), the community-detection algorithm places the majority of the particles into a single (very large) community. For \(\gamma >1.4\), the size-distributions become narrower, with most communities being very small. This behavior is illustrated by the examples in Fig. 4b, and neither situation is useful for the characterization of network properties. Between \(\gamma = 1.0\) and 1.4, we observe that the histograms are qualitatively consistent with each other, but that choosing a low value of \(\gamma \) from this range is best at capturing system-scale network features. Therefore, in the analysis below we utilize \(\gamma =1.1\) in all cases.

Fig. 4
figure 4

a Average hull ratio H as a function of resolution parameter \(\gamma \) for various pressures, with \(\mu =0.3\). b Community detection results from selected pressures and \(\gamma \) (0.4, 0.8, 1, 1.2, 3). The color scale for each packing ranges from zero (deep blue) to its maximum value of \(\sigma _{c}\) (red); many blue particles are of similar color, yet do not belong to the same community. The list of \(\sigma _{max}\) from low \(\gamma \) to high \(\gamma \) at \(P=0\) is: \(1.7\times 10^6, 2.4\times 10^6, 1.9\times 10^6, 6.5\times 10^5, 7.5\times 10^4.\) The list at \(P=3\times 10^{-6}\) is: \(1.4\times 10^6, 2.3\times 10^6, 7.0\times 10^5, 4.8\times 10^5, 9.0\times 10^4.\) The list at \(P=10^{-4}\) is: \(9.0\times 10^5, 1.6\times 10^6, 8.0\times 10^5, 6.8\times 10^5, 1.6\times 10^5.\) For clarity, communities with only 1 particle are hidden (color figure online)

The effect of changing \(\gamma \) can be understood by examining the contribution each community makes to the modularity Q. As previously defined [1], the network force

$$\begin{aligned} \sigma _{c} = \sum _{i,j\in C}[W_{ij}-\gamma P_{ij}] \end{aligned}$$
(4)

is the contribution to Q (Eq. 1) from only the particles located in a particular community C. Its value increases due to both the normal forces in the community being large, and from the size (number of nodes) \(S_c\) in the community.

In Fig. 4b, the individual communities are colored by their particular network force \(\sigma _c\). Here, we qualitatively explain these results. For small \(\gamma \), the \(W_{ij}\) term dominates the sum in Eq. 1, If \(\gamma \) is small enough that \(W_{ij}-\gamma P_{ij}\) is mostly positive, then Q is maximized by making \(\delta (c_{i},c_{j})\) nearly always 1 (putting many particles in the same community). For larger \(\gamma \), the null model \(P_{ij}\) will have more influence on the chosen communities, and the particular geometry and interparticle forces matter. If \(\gamma \) is large enough that \(W_{ij}-\gamma P_{ij}\) is always negative, then the optimal Q is zero by letting all \(\delta (c_{i},c_{j})\) be zero. In that case, the optimum value of Q is obtained when each community contains only a single particle.

Fig. 5
figure 5

Community assignments at all 7 values of interparticle friction \(\mu \) and \(P=10^{-4}\). Color indicates the network force \(\sigma _c\) of each community. The color scale for each packing ranges from zero (deep blue) to its maximum value of \(\sigma _{c}\) (red). The list of \(\sigma _{max}\) from \(\mu =0\) to 3 is: \(3.0\times 10^5, 4.7\times 10^5, 4.6\times 10^5, 6.5\times 10^5, 6.0\times 10^5, 2.1\times 10^6, 2.2\times 10^6.\) Note that blue particles are all small communities of similar strength, not a single large community. Single-particle communities are hidden for clarity (color figure online)

For the special case where \(\gamma =1\), contact forces between particles (\(W_{ij}\)) are directly compared with the average contact force (\(P_{ij}\), the geographic null model) in the system. The modularity Q is increased when more particles with multiple contact forces greater than \(\bar{f}\) are included in the same communities (force chains in our sense). The choice of \(\gamma =1\) is similar to finding force chains by thresholding at a minimum force, often set to be \(\bar{f}\). However, in contrast with thresholding methods, the modularity maximization method is flexible rather than binary: an edge is not kept or discarded from a community based on a strict threshold.

4 Results

Using these community detection methods, we describe how the force chain network changes as a result of both interparticle friction \(\mu \) and confining pressure P. For each community, we consider three properties: its size \(S_c\), network force \(\sigma _c\) (community strength), and hull ratio \(H_c\) (community morphology). In all cases, community-detection is performed at fixed resolution parameter \(\gamma = 1.1\), chosen as a compromise value for the whole parameter regime (see Sect. 3 for details).

4.1 Community size and strength

To illustrate the methods, we first examine sets of 20 configurations, all with \(P = 10^{-4}\), performed for all seven \(\mu \) values. In Fig. 5, sample community assignments are shown. At low values of \(\mu \) (top row), small communities dominate, while at large values of \(\mu \), there is typically a single large community near the top and many smaller and weaker communities at the bottom. (Typicallly, many low-\(\sigma _c\) communities all have similar values of \(\sigma _c\) and thereby appear (by color) to be the same community, although they are not. These communities contribute little to the optimization of Q by Eq. 1, and are not part of the backbone we are seeking to identify.) This \(\mu \)-dependence is similar to prior work on the effect of friction coefficient \(\mu \) on jamming properties of packings [32] in which the bulk packing fraction and coordination number gradually decrease as \(\mu \) increases from 0 and they saturate when \(\mu \) is larger than 1. This saturation is also reflected in the cumulative distribution figures we examine below.

As shown in Fig. 6, we observe that \(S_c\) and \(\sigma _c\) obey an approximately linear relationship on a log-log scale, as illustrated by the solid trendline. For all values of \(\mu \) and P examined, a fit to this exponent gives a relationship consistent with \(S_c \propto \sigma _c^{3/4}\). Since the mean pressure was already normalized in writing the weighted adjacency matrix \(\mathbf W\), we do not expect a trend in the magnitude of \(\sigma _c\).

Fig. 6
figure 6

Scatter plot of community size \(S_c\) and network force \(\sigma _c\), with each point representing a single community. Data is from a single simulation with \(\mu =0.3\) and \(P=10^{-4}\), and the solid line is a least squares fit to the logarithm of the data points: \(S_c \propto \sigma _c^{0.748 \pm 0.005}\) (exponent reported with 95% confidence interval.) Similar results were observed for all values of \(\mu ,P\)

4.1.1 Friction-dependence

To understand the friction-dependence, we consider the complementary cumulative distribution function (CCDF) of both \(S_c\) and network force \(\sigma _c\) as a function of \(\mu \) at fixed P. As shown in Figs. 7 and 8, both quantities show similar behavior, as expected given the strong correlation show in Fig. 6. For large \(\mu \), we observe an approximately exponential distribution (see dashed lines in Figs. 7, 8 for a comparison). Remarkably, the steepness of the distribution as a function of \(\mu \) has opposite trends at low and high pressure: For \(P \lesssim 10^{-5}\), the CCDF steepens as \(\mu \) increases (fewer large/strong communities), while for \(P \gtrsim 10^{-5}\), the CCDF instead steepens as \(\mu \) decreases. Thus, \(P^* \approx 10^{-5}\) represents a transition value between two distinct behaviors. Below, we will explore how the heterogeneity of forces (shown illustratively in Fig. 5) causes this effect.

Fig. 7
figure 7

Comparison of the complementary cumulative distribution of community size \(S_c\) as a function of \(\mu \), where each plot represents the average over 20 simulations at each P. The dashed line in the \(P=P^*=10^{-5}\) plot provides a comparison to an exponential distribution of the form \(\textit{CCDF}\propto e^{-S_c/s}\), with \(s=123\)

Fig. 8
figure 8

Comparison of the complementary cumulative distribution of network force \(\sigma _c\) as a function of \(\mu \), where each plot represents the average over 20 simulations at each P. The dashed line in the \(P=P^*=10^{-5}\) plot provides a comparison to an exponential distribution of the form \(\textit{CCDF}\propto e^{-\sigma _c/\lambda }\), with \(\lambda =5.8\times 10^5\)

4.1.2 Pressure-dependence

Figures 9 and 10 show the same CCDF data, rearranged to highlight P-dependence at fixed \(\mu \). This configuration highlights the existence of a low-friction regime distinct from the frictional regime, with a transition near \(\mu ^* \approx 0.1\). For \(\mu < \mu ^*\), the CCDFs become much steeper as P is increased. This indicates that the system’s forces are becoming more homogeneous at high pressure, as expected [33, 34]. In contrast, simulations performed at \(\mu > \mu ^*\) (the frictional regime) show only weak pressure-dependence, with the large-\(\sigma _c\) tails fluctuating. This may be due either to insufficient statistics, or to changes in the heterogeneity of the system, to be discussed in the next section. In addition, systems under higher P are more sensitive to the coefficient of friction in their formation of communities of different sizes.

Fig. 9
figure 9

Comparison of the complementary cumulative distribution of community size \(S_c\) as a function of P, where each plot represents the average over 20 simulations at each \(\mu \). The dashed line in the \(\mu =0.3\) plot provides a comparison to an exponential distribution of the form \(\textit{CCDF}\propto e^{-S_c/s}\), with \(s=356\) The final plot shows how the mean community size \(\langle S_c \rangle \) changes as a function of pressure, for different values of \(\mu \)

These CCDFs of \(S_c\) and \(\sigma _c\) are similar to those observed in a previous study of force chains in 2D systems [1] using a similar community-detection technique. There, the community size distribution was also exponential (see dashed lines), and here we found that the network force was exponential as well. In addition, both studies saw that communities are more compact at high pressure. This pressure-dependence is in contrast to the work of Navakas et al. [17], in which it was observed that community size increases as pressure increases. A key distinction between the two studies is the choice of null model: they used the standard Newman–Girvan null model [31, 35] rather than a geometric null model [1], resulting in domain-like communities.

Fig. 10
figure 10

Comparison of the complementary cumulative distribution of network force \(\sigma _c\) as a function of P, where each plot represents the average over 20 simulations at each \(\mu \). The dashed line in the \(\mu =0.3\) plot provides a comparison to an exponential distribution of the form \(\textit{CCDF}\propto e^{-\sigma _c/\lambda }\), with \(\lambda =7.2\times 10^5\)

4.1.3 Network homogeneity

We have observed that there is a transition in community size and strength for both pressure (\(P^* \approx 10^-5\)) and friction (\(\mu ^* \approx 0.1\)), and that this effect appears to be connected to the homogeneity of the force network. To examine this in more detail, we consider the vertical gradient in the community size \(S_c\) and its relationship to the relative importance of horizontal versus vertical forces.

Fig. 11
figure 11

Vertical distribution of average community size \(\langle S_c \rangle \) at all values of \(\mu \) and P settings, averaged over all 20 simulations. All axis scales are the same. Background colors indicate the slope of the plot: red for negative slope, blue for positive slope, and yellow for uniform community size (color figure online)

Figure 11 shows the spatial distribution of average community size \(\langle S_c \rangle \) as a function of the vertical position z within the sample, for each pair of \((\mu ,P)\) parameters. Averages are calculated on the particle-scale: within horizontal slice of thickness d, we average the \(S_c\) of all particles whose centers are within that bin. We observe that the plots fall into three distinct types: negative slope (colored red, largest communities at the bottom), an almost vertical distribution (colored yellow, community size evenly distributed), and positive slope (colored blue, largest communities at the top). As expected from Fig. 6, the corresponding plot for \(\sigma _c\) is very similar (not shown).

Note that the most homogeneous communities approximately correspond to the \(P^*=10^{-5}\) transition visible in Fig. 7, suggesting that spatial gradients are important. For \(\mu > \mu ^*\), the largest pressures used were able to reverse the gradient, moving the largest gradients from the bottom to the top of the packing. Note that these two kinds of gradients distinguish the similar-width distributions at \(P=0\) and \(P=10^{-4}\) in Fig. 9 when \(\mu >\mu ^*\). This non-monotonic dependence of heterogeneity on pressure was unexpected.

To understand how this effect arises, we consider the relative importance of horizontal and vertical normal interparticle forces as a function of z. As done for \(\langle S_c \rangle \), we calculate the particle-scale average of the horizontal and vertical components of the vector normal force \(\mathbf {f}\). As shown in Fig. 12, the interparticle forces mostly increase with depth (i.e. have negative slope), as would be expected for gravitational loading (no additional external pressure). However, due to the periodic boundary conditions in the lateral direction, the forces cannot saturate due to the Janssen effect [36]. This gravitation-loading regime approximately (\(P < P^*\)) corresponds with the red-shaded plots in Fig. 11, and is also visible in the middle column of Fig. 4b, where a big, strong community forms at the bottom part of the packing. In contrast, for \(P > P^*\) the forces are more spatially homogeneous; similar effects have been seen by Makse et al. [33, 34]. For high P and \(\mu \), the vertical and horizontal forces first become more uniform with depth, but eventually develop an excess of horizontal forces at the top of the packing; this is echoed by the blue-shaded plots in Fig. 11. This high-force regime also corresponds to the large communities shown in the bottom row of Fig. 5. In the intermediate regime between these two extreme cases, we observe that the community-size distributions are quite homogeneous (the yellow-shaded plots in Fig. 11). This regime does not precisely correspond with the most homogeneous force distributions shown in Fig. 12, suggesting that community-detection is sensitive to small changes in the interparticle forces.

Fig. 12
figure 12

Vertical distribution of average (vertical, horizontal components of the) normal force \(\mathbf {f}\) at all values of \(\mu \) and P settings, averaged over all 20 simulations. All axis scales are the same

4.2 Community morphology

While visual inspection of force chain morphology is possible in 2D systems, it is harder to observe such changes within 3D systems (see Fig. 1). To address this difficulty, we turn to the geographical null model (Eq. 2) to detect the communities of particles which form the backbone of the system; the characteristics of these communities then provide a means to quantify changes in the force chain network. For morphology, the key characteristic is the hull ratio \(H_c\) (Eq. 3), which measures the degree to which the communities are sparse. In this section, we characterize how \(H_c\) changes as a function of \(\mu \) and P. As shown in Fig. 13, we observe that the largest communities are also the most sparse (low \(H_c\)). An exception to this trend occurs when a large, strong community forms at the top of packing (the blue-shaded plots in Fig. 11), which is not sparse.

Fig. 13
figure 13

Scatter plot of hull ratio \(H_{c}\) as a function of community size \(S_c\) for a single simulation at \(P=10^{-4}\) and \(\mu =0.3\). Values of \(H_c > 1\) are possible because we approximate spheres as polyhedra in finding the convex hull

Fig. 14
figure 14

Comparison of the complementary cumulative distribution of hull ratio \(H_c\) as a function of \(\mu \), where each plot represents the average over 20 simulations at different P. Low \(H_c\) values correspond to sparse communities, while high \(H_c\) values correspond to dense communities

Figure 14 shows the complementary cumulative distributions of hull ratio \(H_c\), organized by pressure. Because \(\gtrsim \)90% of the communities contain only a single particle, we have assigned these communities the arbitrary value \(H_c=0\), and excluded them from calculations of the average hull ratio (including in Fig. 4). This causes the maximum value of the CCDF (at \(H_c=0\)) to be at 0.1 or lower, instead of 1. For \(P \gtrsim P^*\), we observe that the cumulative distributions are sensitive to \(\mu \); below \(P^*\), they are \(\mu \)-independent. In the \(\mu \)-dependent regime, we see that larger frictional forces contribute to finding more chain-like communities (low \(H_c\)). Conversely, it is also true that for high \(\mu \), the CCDF of \(H_c\) is more sensitive to P than at low \(\mu \). This is consistent with studies in two dimensions [1], where the community shape for a frictionless packing was less sensitive to pressure than in frictional packings.

5 Conclusions

In this paper, we have shown that community detection methods can be successfully applied to 3D granular materials. We define a new quantity, the hull ratio, which characterizes the degree of sparseness within a community. This quantity allows us to optimize the community detection process by identifying a resolution (\(\gamma = 1.1\)) where we detect the sparsest communities. This resolution is in approximate agreement with observations in 2D granular systems [1], where they identified \(\gamma =0.9\), and is sensible given the normalization of the weighted adjacency matrix \(\mathbf W\).

For packings generated over a range of interparticle friction \(\mu \) and pressure P, we characterize the detected communities in terms of their size, network force, and hull ratio. The first two are found to be largely redundant, and all three depend on \(\mu \) and P. We find that, as in 2D systems [1], the size and strength exhibit approximately exponential distributions. Using these measures, we observe that there is a transition in community size and strength for both the pressure (\(P^* \approx 10^-5\)) and friction (\(\mu ^* \approx 0.1\)). In addition, this effect appears to be connected to the homogeneity of the force network.

It is our hope that this technique will prove useful for investigating the statistical properties of force chain networks, by identifying the most important communities of particles. While we have not included tangential forces in this study, we anticipate that they will play an important role in addressing questions of mechanical stability.