1 Introduction

Cyclic loading must commonly be considered in civil engineering design analysis. While high frequency cyclic loading may be imposed upon soil during earthquakes, lower frequency cyclic loading is experienced adjacent to structures such as wind turbines with monopile foundations and integral bridge abutments, e.g., [5]. The load cycles may vary in amplitude, frequency and total number over the lifetime of the structures. Large amplitude and high frequency loading may cause liquefaction (considered an undrained response), e.g., during earthquakes [15]. Small amplitude and low frequency loading cycles, observed during soil–structure interaction, lead to particle rearrangement and an increase in soil stiffness and pressure [4].

An important factor during drained (low frequency) low amplitude cyclic loading is the accumulation of permanent (plastic) strains or deformation even after a large number of cycles, which is also known as ratcheting ([2, 3, 10, 13, 33]). [33] suggested that, with increasing cyclic load amplitudes, the behaviour of granular material will first be purely elastic, where the deformations are fully recoverable, followed by shakedown, where strain accumulates for a finite number of cycles. Moreover, [10] proposed a post-compaction stage where, in the initial cycles, the energy dissipation and the rate at which deformation is accumulated gradually decrease until a low constant value is reached. Then, in the final stage, the accumulation of permanent strain is small but persistent. They call this stage the ratcheting regime.

Ratcheting behaviour has been studied in a number of laboratory studies and has been considered in the development of constitutive models. [18] monitored the change in temperature and horizontal stresses adjacent to integral bridge abutments and was able to capture the strain ratcheting behaviour. The decrease in plastic strains between consecutive cycles was attributed to the densification of the sample. [13] studied small-strain cyclic loading adjacent to wind turbines with monopile foundations. They integrated ratcheting into a plasticity model. This model was modified so that it was able to capture the reduction in the ratcheting rate and tightening of the hysteretic loops related to the dissipation of energy and the increase in secant stiffness.

In this paper cyclic loading at a constant mean effective stress is investigated using the discrete element method (DEM). This study builds upon prior contributions including [25] who compared DEM simulations with cyclic triaxial tests on samples of steel ball bearings to show that DEM can reliably capture the response of granular materials subject to drained cyclic loading. [37] carried out strain-controlled cyclic loading simulations and observed the continuous build up of lateral stresses in loose and dense assemblies. Their simulations were qualitatively comparable to laboratory data produced by [36]. [24] carried out 2D DEM cyclic simulations on gravel–sand mixtures with different fines contents. By studying the contact force anisotropy and the change in strong and weak contacts, they found that the axial stress controlled the strong contacts and the confining pressure had an influence on the weaker contacts.

The dissipation and accumulation of energy can be predicted using continuum mechanics with constitutive models that make an assumption about energy dissipation either implicitly or explicitly. For instance, [31] simulated the energy dissipated due to hysteresis during cyclic loading using IC.G3S, a cyclic, non-linear constitutive model. In DEM, energy tracing is done at the contacts (strain energy and frictional energy) and/or as boundary work which is the energy that is input into the system. In this study, energy tracing is carried out using a modified version of the code granular LAMMPS [28], introduced by [11], to study drained triaxial shearing. [17] demonstrated that the volumetric and distortional components of the boundary work during cyclic loading can be estimated for an undrained (constant volume) system.

Even though DEM is able to capture energy dissipation, few studies have used the method to explore cyclic loading and ratcheting. In this study, cyclic, stress-controlled loads were applied to a cubic sample with periodic boundaries using DEM. The model was capable of replicating the ratcheting behaviour observed in laboratory experiments. In the next section, the numerical model is described, followed by a description of the macro-mechanical response; then, we link the macro-scale response to the micro-scale in terms of the evolution of the coordination number, fabric anisotropy, and the contact force network. The energy components in the system are linked to the macro- and micro-mechanical behaviour of the sample and its contact network.

2 Numerical model

Fig. 1
figure 1

a Isotropically compressed DEM sample and b particle size distribution for Toyoura sand

The initial DEM specimen was created using a cloud of 19,463 non-contacting spheres with a particle size distribution (PSD) similar to Toyoura sand, as shown in Fig.1a. The algorithm used to place the particles in the specimen ensured an homogeneous packing throughout the sample. Periodic boundary conditions were used with a servo-algorithm to control the stress state. The virtual cubic specimen was isotropically compressed to three different mean effective stresses (\(p'\) = 100 kPa, 200 kPa and 300 kPa) with a Poisson’s ratio \((\nu )\) of 0.2 and a shear modulus (G) of 29.17 GPa. This corresponds to a Young’s Modulus of \(E = 2G(1 + \nu ) =\) 70 GPa. Similar stiffness parameters were adopted in [22] where a shear modulus of 29.0 GPa was applied and in [32] where E = 70 GPa. The inter-particle friction coefficient (\(\mu\)) was 0.25. This friction coefficient was selected as it lies in the range between 0.12 and 0.35 for quartz-based sand grains measured by [30]. Additionally, \(\mu\) of 0.25 was selected as it is a value that is often used in DEM for silica sand such as in [17]. [14] showed that using a high value of \(\mu\) (i.e., \(\mu \ge\) 0.5) can result in a non-physical response. The three initial samples were classified to be in a loose state with an initial void ratio (e) in the range of 0.661 to 0.663. This was confirmed by the observed stress–strain behaviour which is typical of a loose sample. The virtual samples have the same properties as those considered in [14] and the critical state observed in monotonic tests on the samples considered in the current study come very close to the critical state line reported in [14]. This implies that the initial state parameter, \(\psi _0\), is about 0.032. The contact model for the simulations was the Hertz–Mindlin model based on [12]. Fig.1a is a representation of one of the isotopically compressed samples. The modified version of the DEM code granular LAMMPS [28] introduced by [11] was used.

Fig. 2
figure 2

Cyclic loading at a constant mean effective stress for the simulation with \(p'\) = 200 kPa and \(\zeta =\) 10%

Table 1 Parameters for cyclic loading

After isotropic compression, samples were subjected to triaxial cyclic loading at a constant mean effective stress. Each test was carried out with a specific ratio of loading amplitude (\(\zeta = \frac{\sigma '^{amp}}{p'}\)). This ratio is defined in a similar manner to [34]. However, it is difficult to directly compare the data generated with specific experimental data as we know of no published dataset for constant \(p'\), drained, triaxial, two-way cyclic loading. The ratio defines the amplitude of \(\sigma '_{zz}\) applied during the load cycles, while keeping \(\sigma '_{xx}=\sigma '_{yy}\). For instance, for \(p'\) =200 kPa and \(\zeta = 10\%\), the loading amplitude \(\sigma '^{amp}\) is equal to ± 20 kPa, and \(\sigma '_{zz}\) varies between 180 and 220 kPa. Four different positions in each cycle were recorded for analysis: (i) the neutral (isotropic) position at the start of a cycle, (ii) the loaded position when \(\sigma' _{zz} = p' + \sigma '^{amp}\), (iii) the neutral position when the sample is unloaded and (iv) the unloaded position when \(\sigma' _{zz} = p' - \sigma '^{amp}\). To keep a constant mean effective stress, \(\sigma '_{xx}\) and \(\sigma '_{yy}\) decrease when \(\sigma '_{zz}\) increases and vice-versa, as indicated in Fig. 2.

The amplitudes are indicated in Table 1 and a total of 50 cycles at a constant frequency \(f = 4\,\hbox {Hz}\) were carried out for each of the 9 simulations. This frequency ensured that the sample remained in a quasi-static state and is identical to the frequency selected in [17] which used the same version of the granular LAMMPS code. The model does not consider rolling resistance, nor does it capture the particle abrasion or breakage, considered by [9] and [7], respectively, that may be observed during cyclic loading.

The inertia number (I), calculated as shown in Eq. 1 according to [27] and [6], remained \(I < 10^{-4}\) for all the simulations, verifying that quasi-static conditions were preserved during cyclic loading:

$$\begin{aligned} I = \dot{\varepsilon } d_{50}\sqrt{\frac{\rho }{p'}} \end{aligned}$$
(1)

where \(\dot{\varepsilon }\) is the strain rate, \(d_{50}\) is the median particle diameter of the material (\(0.22\,\hbox {mm}\)), \(\rho\) is the particle density (\(2650\,\hbox {kg}\,\hbox {m}^{-3}\)). \(\dot{\varepsilon } = \varepsilon _{zz} / \delta t\), with \(\varepsilon _{zz}\) corresponding to the strain in the z direction during the loading stage, occurring over \(\delta t = 0.0625\,\hbox {s}\), i.e., one quarter of the cycle period of the first cycle.

3 Macro-mechanical response

3.1 Ratcheting and hysteresis loops during cyclic loading

Fig. 3
figure 3

Axial stress (\(\sigma _{zz}\)) versus volumetric strain (\(\varepsilon _{v}\)). \(\varepsilon _{v}\) measured with respect to the initial volumes of the isotropic samples prior to cyclic loading

In Fig. 3 the accumulation of volumetric strain \((\varepsilon _{v})\) with axial stress \((\sigma _{zz})\) can be observed over 50 cycles. The convention here is that an increase in volumetric strain means a contraction of the sample. At a given \(p'\) the amount of permanent (plastic) volumetric strain increases with increasing \(\zeta\). When \(p'\) is varied while keeping \(\zeta\) constant, similar levels of \(\varepsilon _{v}\) are obtained at the end of cyclic loading. Thus, it can be said that samples with identical \(\zeta\) exhibit similar behaviour. The increase in \(\varepsilon _{v}\) during loading is larger than during unloading, i.e., the sample exhibits a softer response during loading than during unloading. Furthermore, a lower mean effective stress leads to a more rapid increase in \(\varepsilon _{v}\) at low cycle numbers (\(<10\)). Despite the fact that the model does not consider particle abrasion or breakage, there is clear evidence of ratcheting behaviour in the simulation data. A decrease in the rate of accumulation of volumetric strain can be observed with an increase in cycle number.

Fig. 4
figure 4

Explanation of total strain (\(\varepsilon _{tot}\)) and plastic strain (\(\varepsilon _{p}\))

The persistent increase of \(\varepsilon _{v}\) can be quantified in terms of void ratio. For instance, the initial void ratio (e) for the sample at \(p'=~300\,\hbox {kPa}\) was 0.663. After 50 cycles the void ratios for the three different loading amplitudes \(\zeta =\) 5%, 10%, 20% (\(\sigma '^{amp}\) of 15, 30 and 60 kPa) were 0.662, 0.656 and 0.639 respectively. Similar trends were followed by the simulations carried out at \(p'= 100\) and 200 kPa.

Fig. 5
figure 5

Plastic and elastic strains at \(p'\) = 300 kPa

The strains were decomposed into their elastic (recoverable) and plastic (permanent) components. The total and plastic strain are indicated in Fig. 4. The plastic strain was obtained by calculating the difference in axial strain between two subsequent cycles. The elastic strain was obtained by calculating the strain that is recovered in each cycle which corresponded to the difference between the total and plastic strain. The elastic strains became virtually constant after \(\sim 20\) cycles, in line with the onset of the ratcheting regime observed by [10]. The plastic strains were small in magnitude but persistent, even at high numbers of cycles. As expected, larger strains were observed for the larger loading amplitudes. Still, the magnitude of the strains for \(\zeta = 20\%\) were significantly larger than those observed for \(\zeta = 5\%\) or 10%, which suggests a transition in the underlying deformation mechanism as the loading amplitude increases. Fig. 5c shows the change in loop area. For \(\zeta = 5\%\) and \(\zeta = 10\%\) the change is very small in comparison to the largest amplitude. The loop area plateaus at larger cycle numbers, which reflects the cyclic strain that plateaus at the same time and a reduction in increase in permanent strains.

Fig. 6
figure 6

Hysteresis loops in the deviatoric stress/strain space (q vs. \(\varepsilon _{q}\)). Results for \(p' = 200\) kPa and \(\zeta =20\%\). Green and red lines highlight the first and last (50th) cycles respectively. Slopes of the dashed lines correspond to the secant stiffness of the material during the given cycle

Figure 6 illustrates the hysteresis loops in the deviatoric stress/strain space for one of the simulations (\(p'= 200\) kPa and \(\zeta =20\%\)). The deviatoric stress, \(q=\pm 60\) kPa in this example, is calculated as defined in [17] to allow the distortional work to become negative:

$$\begin{aligned} q = \sigma '_{zz} - \frac{1}{2}(\sigma '_{xx}+\sigma '_{yy}) \end{aligned}$$
(2)

The first cycle is indicated in green and the last cycle is coloured red. As the cyclic loading progresses there is a clear change in the shapes of the hysteresis loops, with a significant decrease in the loop area. These observations are characteristic of ratcheting behaviour [1].

Next, the variation of the secant stiffness \(G_{sec}\) during cyclic loading was studied. Previous work carried out by [1] and [19] demonstrated an increase in \(G_{sec}\) with cycle number. The secant stiffness \(G_{sec}\) for a specific cycle is the slope of the straight line between the point of minimum (negative) deviatoric stress to the point of the maximum (positive) deviatoric stress; see dashed lines in Fig. 6. For \(\zeta\) of 10% and 20%, \(G_{sec}\) increases with increasing cycle number as the hysteretic loops tighten (i.e., become smaller) and progressively become more narrow (Fig. 7). No clear change in \(G_{sec}\) is observed for the lowest loading amplitude (\(\zeta\) = 5%). This indicates that the induced loading amplitude and subsequent strains were too small to generate significant changes within the sample. The secant stiffness at the end of cyclic loading was directly proportional to \(p'\), but inversely related to \(\zeta\), with the sample at \(p'=100\) kPa and \(\zeta =20\%\) exhibiting the lowest \(G_{sec}\). The difference in secant stiffness in cycle 0 can be observed in Fig. 7a, b, c. The much smaller deviatoric strain for \(\zeta\) of 5% leads to a much larger initial secant stiffness in comparison to the largest amplitude where the stiffness is lower due to the degradation of stiffness we expect in any granular material subjected to shear deformation.

Fig. 7
figure 7

\(q-\varepsilon _{q}\) loop of the first cycle indicating the slope for the secant stiffness \(G_{sec}\) at \(\zeta\) a 5% b 10% c 20% Evolution of secant stiffness \(G_{sec}\) against cycle number at \(\zeta\) d 5% e 10% f 20%

3.2 Yield surface

[16] defined three different yield surfaces called \(Y_1\), \(Y_2\) and \(Y_3\). The perfectly linear elastic zone, characterised by very small and fully recoverable strains, is enclosed by the yield surface \(Y_1\). \(G_{sec}\) is constant in this range. The transitional zone between the recoverable and irrecoverable strains is enclosed by \(Y_2\). In this zone, the material is “non-linear elastic” with hysteretic behaviour, and [16] hypothesised that energy loss can be observed due to small-scale yielding and friction at particle contacts. When \(Y_2\) is engaged the hysteresis loops are prevented from closing and irreversible plastic strains develop [20]. Lastly, \(Y_3\) encloses the zone where more significant plastic strains are developed. It is assumed that in this zone particle sliding is prevalent. However, previous laboratory and FEM analyses by [16] and [13] were not able to assess particle sliding in this zone.

Fig. 8
figure 8

Results of monotonic, triaxial loading (shearing) of samples at \(p'\) = 300 kPa. The dashed line corresponds to the common initial sample before cyclic loading; solid lines correspond to samples sheared after 50 loading cycles at different \(\zeta\)

In order to identify \(Y_1\), \(Y_2\) and \(Y_3\) the isotropically compressed DEM samples were sheared at a speed of 0.0001 \(\hbox {m}\,\hbox {s}^{-1}\) with the same mechanical parameters used during cyclic loading, as shown on Fig. 8. The linear portion of the stress–strain curve was identified for each simulation. This portion marks the elastic zone and is enclosed by the yield surface \(Y_1\) which was at an axial strain (\(\varepsilon _a\)) of \(8.5\times 10^{-5}\), \(1.4\times 10^{-4}\) and \(1.6\times 10^{-4} \%\) for \(p'=\) 100, 200 and 300 kPa, respectively. These values are reasonable when compared with the maximum strain range defined by [16], which was between \(10^{-4}\)% and \(6\times 10^{-4}\)%. Values obtained in this study may be slightly lower due to the use of spherical particles.

Fig. 9
figure 9

Increase in axial strain per cycle between the loaded position and neutral position at the start of cyclic loading for \(p'\) = 300 kPa at a \(\zeta\) = 5%, b \(\zeta\) = 10%, c \(\zeta\) = 20%

During cyclic loading \(Y_1\) was crossed in every cycle for all loading amplitudes. For the two higher loading amplitudes (\(\zeta = 10\%\) and \(20\%\)), at low cycle numbers (\(<10\)) the hysteresis loops did not close, indicating that \(Y_2\) is engaged. Furthermore, for \(\zeta = 20\%\), Fig. 9c shows that \(Y_3\) is crossed during the first \(\sim 5\) cycles which is in agreement with the plastic strains developed during the same cycle range (see Fig. 5). For smaller loading amplitudes, strains developed during cyclic loading are far below the \(Y_3\) yield surface (Fig. 9a, b), remaining mostly within the elastic range of deformation.

Thus, the increase in shear strength with increasing values of loading amplitude can be attributed both to the densification of the material, as well as to the increase in the yield points (\(Y_1, Y_2, Y_3\)), observed for the largest loading amplitudes. Most of the volumetric strain and stress mobilisation, which result in the increase of shear strength, occurs before the first \(10-20\) cycles. The deformation induced by the smallest loading amplitude was confined mostly to the elastic regime, and for this reason no material strengthening was observed.

4 Micro-mechanical response

Fig. 10
figure 10

Three orthogonal views of the distribution of contact orientations at the initial (neutral) position at cycle 1. Values shown for simulation at \(p'\) = 300 kPa and \(\zeta = 20\%\)

Fig. 11
figure 11

Three orthogonal views of the distribution of contact orientations at the initial (neutral) position after 50 loading cycles. Values shown for simulation at \(p'\) = 300 kPa and \(\zeta = 20\%\)

The rose diagrams in Figs. 10 and 11 show the histogram of contact orientations in the material, before and after cyclic loading. Shading of each bin in the histograms corresponds to the average magnitude of normal contact force (\(F^{ave}_n\)) of the contacts orientated within that bin. The contact force in the normal direction for an individual contact is given by:

$$\begin{aligned} \varvec{F_n} = \frac{4Gr_g}{3(1-\nu )}\alpha ^{\frac{3}{2}}_n \varvec{n} \end{aligned}$$
(3)

where \(r_g = \sqrt{\frac{r_a r_b}{r_a+r_b}}\), \(r_a\) and \(r_b\) are the particle radii, \(\alpha _n\) is the overlap between particles and \(\varvec{n}\) is the unit vector.

After cyclic loading, the orientation of contacts remains homogeneous, typical of isotropic stress conditions, while \(F^{ave}_n\) decreased for all the simulations tested. The relative decrease in average contact force was largest for samples with \(\zeta =0.2\), with an average contact force decrease of \(6\%\).

Fig. 12
figure 12

Change in (mechanical) coordination number at the neutral position, i.e., point (i)

The average coordination number (Z) is the average number of contacts that each particle has in the system, and is given by:

$$\begin{aligned} Z = \frac{2 \times N_c}{N_p} \end{aligned}$$
(4)

where \(N_c\), the number of contacts, is multiplied by two as each contact is shared between two particles, and \(N_p\) is the number of particles in the system. The number of particles is constant; thus changes in Z directly reflect changes in the number of contacts in the system. The mechanical coordination number is defined in a similar manner; however it only includes particles that have two or more contacts as it only takes into account the force-transmitting particles.

The increase in Z observed in Fig. 12a for the two larger amplitudes suggests that more contacts are created in the system as a result of cyclic loading, with larger increases for higher \(p'\) and \(\zeta\). A slight initial decrease can be observed for the largest \(\zeta\) which could be related to large plastic strains at initial cycles, leading to particle relocation. This initial decrease can also be related to Fig. 13 where an initial peak in fabric anisotropy can be observed at cycle 1 for the largest amplitude. The increased number of contacts and lower \(F^{ave}_n\) (observed in Fig. 11) suggests that the stress in the contact network is less centralised, and better distributed among an increased number of contacts between particles. This change in the distribution of the contact forces has been linked to the densification of the material, and to the increase in shear strength observed in Fig. 8. In Fig. 12b the mechanical coordination number follows a similar trend to the coordination number. The changes are slightly larger. These changes in mechanical coordination number are an indication of the change in contact network; however, this variation still remains quite small.

[38] clearly show how the fabric anisotropy (A) can influence the mechanical behaviour of granular material. Here, fabric anisotropy, A is calculated as the difference between the maximum and minimum eigenvalues of the second-order fabric tensor \(\Phi _{pq}\):

$$\begin{aligned} \Phi _{pq} = \sum _{j=1}^{N_c}\varvec{n_p^j n_q^j} \end{aligned}$$
(5)

where \(\varvec{n}\) are unit vectors describing the contact normal orientation for contact j. The value of A approaches zero for isotropic samples.

Figure 13 shows the value of A at the neutral position for each cycle. Samples with \(\zeta\) of 5% and 10% did not exhibit much change in A and remained relatively isotropic. Following an initial sharp increase in A, the sample with the largest loading amplitude became more isotropic after 10 cycles. Recalling that the secant stiffness plateaus after about 10 cycles, it is clear that the largest changes within the sample occurred over those initial 10 cycles.

Fig. 13
figure 13

Fabric anisotropy (A) within the sample for \(p'\) = 300 kPa

Particle sliding occurs at contacts when \(|\varvec{F_{t}^{\beta }}|> \mu |\varvec{F_n} |\), i.e., when the Coulomb slip criterion is activated. The tangential force \(\varvec{F_{t}^{\beta }}\) is calculated incrementally as:

$$\begin{aligned} \varvec{F_{t}^{\beta }} = \varvec{F_{t}^{\beta -1}}-k_t\delta \varvec{\alpha _t} \end{aligned}$$
(6)

where \(\delta \varvec{\alpha _t}\) gives the increment of shear displacement between timestep \(\beta -1\) and \(\beta\) and \(k_t\) is the contact shear tangential stiffness.

Figure 14 indicates that the percentage of sliding contacts increases initially for \(\zeta\) of 10% and 20%. This percentage remained relatively constant and below 10% after cycle 20 for all simulations. For the lowest amplitude, the percentage of sliding contacts decreased from the start, reaching values \(<1\%\) after \(\sim 12\) cycles. The small number of sliding contacts is consistent with the linear elastic regime identified in Sect. 3.

Fig. 14
figure 14

Percentage of sliding contacts for \(p'\) = 300 kPa

5 Energy dissipation during cyclic loading

The energy input during cyclic loading is given by the boundary work W. The boundary work \(W^{\beta }\) at a given timestep \(\beta\) is a function of the normal stresses and strains and is calculated incrementally in the DEM simulations as [17]:

$$\begin{aligned} \delta W = \sigma '_{x} \delta \varepsilon _{x} + \sigma '_{y} \delta \varepsilon _{y} + \sigma '_{z} \delta \varepsilon _{z} \end{aligned}$$
(7)

where the incremental normal strains \(\delta \varepsilon _{x}\), \(\delta \varepsilon _{y}\) and \(\delta \varepsilon _{z}\) are determined from the changes in position of the periodic boundaries in the model. The boundary work W is decomposed into its two components: the volumetric and distortional work \(W = W_{v} + W_{d}\) as proposed by [35]:

$$\begin{aligned} \delta W_{v}= & {} p' \delta \varepsilon _{v} = p' (\delta \varepsilon _{x} + \delta \varepsilon _{y} + \delta \varepsilon _{z} ) \end{aligned}$$
(8)
$$\begin{aligned} \delta W_{d}= & {} q \delta \varepsilon _{q} = q \frac{2}{3}[\delta \varepsilon _{z} - 0.5(\delta \varepsilon _{x}+\delta \varepsilon _{y})] \end{aligned}$$
(9)

At a constant mean effective stress (\(p'\)), the change in volumetric strain (\(\varepsilon _v\)) and the change in volumetric work are linearly related according to Eq. 8. The change in distortional work (\(W_d\)) computed from Eq. 9 can also be calculated as the product of the area enclosed by each loading cycle in the q\(\epsilon _q\) space (\(A_{loop}\)) and the sample volume. The deviatoric stress is calculated as described in [17] (by Eq. 2) to allow the distortional work to become negative. Figure 15b shows \(A_{loop}\) for an example loading cycle. Figure 15a compares \(W_d\) calculated from Eq. 9 (solid line) with \(W_d\) calculated from the area enclosed by each loading cycle (line with markers). A small disparity between the two methods is observed for the first 5 cycles, attributed to the fact that initial cycles do not close perfectly, leading to minor inaccuracies in the calculation of \(A_{loop}\).

Fig. 15
figure 15

a Distortional work at \(p'\) = 300 kPa and \(\zeta = 20\%\). b Isolated stress–strain loop for the same simulation to illustrate \(A_{loop}\)

In Fig. 16a–c the volumetric and distortional work per cycle decrease with increasing cycle number. The rate of decrease is fastest for the initial 10 cycles. After 20 cycles \(W_v\) and \(W_d\) per cycle become relatively constant. This observation agrees with the evolution of elastic and plastic strains (shown in Fig. 5) and with the tightening of the hysteresis loops in Fig. 6. At the largest amplitude (\(\zeta =20\%\)) the volumetric component (\(W_v\)) of the boundary work is initially bigger than the distortional component (\(W_d\)). However, after \(\sim 10\) cycles, the \(W_d\) per cycle becomes larger than \(W_v\), suggesting that the rate of volume change in the sample decreases at a high number of cycles, and the distortion of the material (captured by \(W_d\)) becomes the prevalent deformation mechanism in the system.

Fig. 16
figure 16

\(W_v\) and \(W_d\) per cycle at a \(\zeta = 5\%\) b \(\zeta = 10\%\) c\(\zeta = 20\%\) and d Boundary work at \(p'\) = 300 kPa

The boundary work W, which represents the input of energy into the system, can be either stored inside the sample as strain energy (\(E_s\)) or be dissipated by friction at the sliding contacts \(E_f\). Kinetic energy of the particles is negligible. The evolution of these micro-mechanical components of energy, i.e., the recoverable energy stored at the contacts, namely strain energy (\(E_s\)), and the energy dissipated at the sliding contacts, also called frictional energy (\(E_{f}\)), is studied. The frictional energy is a cumulative term calculated as [11]:

$$\begin{aligned}{} & {} E^{\beta }_f = E^{\beta -1}_f + \sum _{j=i}^{N_c} \delta E^{\beta }_{f_j} \end{aligned}$$
(10)
$$\delta E_{{f_{j} }}^{\beta } = \left\{ {\begin{array}{*{20}c} {\frac{{|F_{t}^{{\beta - 1}} + {\text{ }}F_{t}^{\beta } |}}{2}\frac{{|F_{{t\_0}}^{\beta } - {\text{ }}F_{t}^{\beta } |}}{{k_{t} }},} & {|F_{{t\_0}}^{\beta } | > \mu |F_{n} |} \\ {0,} & {|F_{{t\_0}}^{\beta } | \le \mu |F_{n} |} \\ \end{array} } \right.$$
(11)

\(\varvec{F^{\beta }_{t\_0}}\) and \(\varvec{F^{\beta }_t}\) represent the shear forces before and after the Coulomb slip criterion has been applied, respectively. The strain energy (\(E_s\)) is composed of normal (\(E_{sn}\)) and tangential (\(E_{st}\)) components. At a given timestep, \(E_{sn}\) and \(E_{st}\) are given by:

$$\begin{aligned} E_{sn}= & {} \sum _{j=i}^{N_c} \delta E_{sn_j} \end{aligned}$$
(12)
$$\begin{aligned} E^\beta _{st}=\, & {} E^{\beta -1}_{st} + \sum _{j=i}^{N_c} \delta E^\beta _{st_j} \end{aligned}$$
(13)

Similar to the frictional energy, \(E_{st}\) is calculated incrementally. When a contact j between particles is lost, the residual value of \(E_{st_j}\) is added to \(E^\beta _{f}\) to preserve the energy balance in the system. It was verified that the error in the energy balance remained well below 1% for all simulations, and therefore, can be regarded as negligible. This minor discrepancy was linked to computational round-off errors.

Figure 17a, b shows the evolution of \(E_{sn}\) and \(E_{st}\) (respectively), while Fig. 17c shows the cumulative frictional energy \(E_f\) and boundary work W for simulations at \(p'\) = 300 kPa. Results show that \(E_{sn}\) accounts for most of the energy stored at the contacts, while the dissipated frictional energy in Fig. 17c is closely linked to the percentage of sliding contacts (see Fig. 14). Figure 17 shows that most of the energy input into the system (W) is dissipated as frictional energy \(E_f\), while the rest is stored as strain energy. Most of this strain energy is stored as normal strain energy (\(E_{sn}\)). \(E_{st}\) decreases with cycle number: consistent with the reduction in sliding contacts.

Fig. 17
figure 17

Energy components for \(p'\) = 300 kPa in the neutral position at the start of the cycle. a Normal strain energy \(E_{sn}\), b Tangential strain energy \(E_{st}\), c Boundary work W and frictional energy \(E_f\)

In Fig. 18 the variation in total stain energy \((E_s)\) with axial strain \((\varepsilon _a)\) is presented for \(p'\) of 200 kPa. The same trends were observed for mean effective stresses of 100 and 200 kPa and are omitted to be concise. The total strain energy \(E_s\) for \(\zeta = 5\%\) increases monotonically during cyclic loading. For \(\zeta = 10\%\) (Fig. 18b), \(E_s\) increases during the first \(\sim 10\) cycles, before reaching a plateau, followed by a small decrease at high cycle numbers. The accumulation of axial strain at constant \(E_s\) is an indication of ratcheting, during which the distortion (\(W_d\)) controls the deformation of the material, and most of the work input is dissipated in the form of \(E_f\). Lastly, for \(\zeta = 20\%\) (Fig.18c), both \(E_s\) and the range of axial strain decrease sharply with cycle number. These results are consistent with Fig. 9, where the decrease in strain energy is associated with initial material yielding, while the reduction in the range of \(\varepsilon _a\) occurs once the loading cycles fall within the elastic range of the material.

Fig. 18
figure 18

Total strain energy for \(p'\) = 200 kPa

6 Contact network

The contact network can be described as a directed graph G, with particles and contacts represented as nodes and edges respectively. This analysis presented here focuses on the contact network in the \(z-\)direction, following the orientation of \(\sigma '_{zz}\). The top/bottom periodic boundaries (normal to the \(z-\)axis) are represented as virtual nodes in the graph, and particles mapped across the top/bottom boundaries are connected to the corresponding virtual node by virtual edges. The force percolating through the sample in the \(z-\)direction, referred as the percolation force \(f_p\) herein, is the total force transmitted across the sample in the \(z-\)direction. Similarly, the ratio between \(f_p\) and the cross-sectional area of the sample (in the XY plane) is defined as the percolating stress of the network.

The interconnected subset of contacts that transmits \(f_p\) is defined as the percolation network \(G_{perc}\). \(G_{perc}\) is found using the maximum flow algorithm [8], with the top/bottom virtual nodes taken as sink/source, and setting the capacity of the edges to be the \(z-\)component of the force at each contact. Thus edges of G that belong to the maximum flow graph (i.e., transmit a non-zero value of \(f_p\)), and the value of the maximum flow correspond to \(G_{perc}\) and \(f_p\) respectively. A detailed description of the implementation of the algorithm is available in [26].

Fig. 19
figure 19

Characteristics of the percolation network \(G_{perc}\). a Percolating stress, b Percentage of contacts, and c percentage of particles in \(G_{perc}\)

The percolation stress fluctuates in agreement with the imposed variation in \(\sigma _{zz}\), as shown in Fig. 19a. Figure 19b, c show that \(f_p\) is transmitted by \(60-66\%\) of the contacts in the material, involving \(71-76\%\) of the particles. The remaining particles and contacts do not contribute to the stress transmission in the \(z-\)direction, but may provide lateral support to \(G_{perc}\) and contribute to the stress transmission in the \(x-\) and \(y-\)directions.

The numbers of particles and contacts in \(G_{perc}\) are nearly independent of \(p'\) and \(\zeta\), and remain effectively constant during cyclic loading. However, even with a constant number of contacts, there may be an ‘exchange’ of contacts, with transient contacts leaving/joining the \(G_{perc}\) network during cyclic loading. The number of transient contacts is estimated by comparing the contacts in \(G_{perc}\) between consecutive loading steps, and the number of new and lost contacts recorded as a percentage of the number of contacts in \(G_{perc}\). New contacts may or may not exist in G before joining \(G_{perc}\), and lost contacts may or may not disappear from G after leaving \(G_{perc}\).

Fig. 20
figure 20

New and lost contacts in \(G_{perc}\) during cyclic loading. Values shown as a percentage of the total amount of contacts in \(G_{perc}\) at each step. Values shown for \(p' =\) 300 kPa; are representative of other values of \(p'\)

Figure 20 shows the variation in the number of transient (new/lost) contacts for the different loading cases. The average number and range of the fluctuation of transient contacts in \(G_{perc}\) increases with \(\zeta\) and is virtually independent of the mean stress (\(p'\)). For the largest loading amplitude (\(\zeta = 20\%\)), the percentage of transient contacts decreases with cycle number before reaching a stationary behaviour after \(\sim 20\) cycles, suggesting a steady state is achieved. Conversely, for lower loading amplitudes (\(\zeta = 5\%\) or \(10\%\)) the percentage (and range of fluctuation) of transient contacts remains constant through cyclic loading.

The constant number of contacts in \(G_{perc}\) with fluctuating percolation stress (Fig. 19a) suggests differences in the distribution of \(f_p\) in \(G_{perc}\) during cyclic loading.

Fig. 21
figure 21

Distribution of percolation forces in \(G_{perc}\) for different mean effective stresses (\(p'\)) (plots a-c), and different loading amplitudes (\(\zeta\)). The initial distribution is common for different values of \(\zeta\)

Figure 21 shows the distribution of the percolation force \(f_p\) at the contacts in \(G_{perc}\) before (initial) and after cyclic loading. The distribution of \(f_p\) is centralised, with a high density of contacts carrying values of \(f_p\) close to the mean and a small number of contacts carrying low and high values of \(f_p\). After cyclic loading, the distribution of \(f_p\) becomes more uniform, increasing the amount of weak and strong contacts. Changes in the distribution of \(f_p\) are larger with increasing values of \(\zeta\).

Fig. 22
figure 22

Distribution of percolation forces in new contacts in \(G_{perc}\) during steps of cyclic loading. Solid lines correspond to the distribution of the percolation force in \(G_{perc}\) at the start/end of the cycle. Dashed lines show the distribution of the new contacts in \(G_{perc}\) after each loading step. Values shown for \(p' =\)300 kPa; are representative of other values of \(p'\)

Figure 22 shows the distribution of \(f_p\) for the new contacts at different loading stages. The distributions of \(f_p\) for new and lost contacts are similar, thus lost contacts are not shown. The four different loading steps are: neutral to loaded, loaded to neutral, neutral to unloaded and unloaded to neutral. Neutral state corresponds to the isotropic state, whereas the loaded (+) and unloaded (–) stages correspond to \(\sigma '_{zz} = ( 1 \pm \zeta ) \cdot p'\).

The mean \(f_p\) of the transient contacts in \(G_{perc}\) increases with \(\zeta\). Still, transient contacts predominantly carry small percolation forces. Small changes between loading steps suggest that the mean \(f_p\) of transient contacts is larger during loading and unloading (leaving isotropic stress conditions) compared to loading steps that return to the isotropic state. Interestingly, the difference between loading steps diminishes with cycle number, once again suggesting a steady state of the fluctuations of the network.

Next, the overall changes in the network were quantified using the dimensionless network change index (NCI), defined according to Eq. 14.

$$\begin{aligned} NCI = \frac{\left\| \eta _{t} - \eta _{t-1} \right\| }{\eta _{t}} \end{aligned}$$
(14)

where \(\eta _{t}\) is a vector containing the values of \(f_p\) at every contact in \(G_{perc}\) at time step t, \(\eta _{t}\) is of constant length and sparse with non-zero entries corresponding to the subset of contacts that belong to \(G_{perc}\) at time t.

Fig. 23
figure 23

Network change index (NCI). a Network change between cycles, measured comparing the initial step between consecutive cycles. b Network change between cycles (solid line) and network change between consecutive loading steps during cyclic loading (dashed line). Values shown for \(p' =\) 300 kPa; are representative of other values of \(p'\)

In Fig. 23a, NCI is calculated using the starting points of consecutive cycles. Results are unaffected by \(p'\), but significantly influenced by \(\zeta\), with higher loading amplitudes inducing larger changes in the network. NCI decreases from an initial value before stabilising after \(\sim 20\) cycles. These results are consistent with the observed changes in the distribution of \(f_p\) (Fig. 21) and the percentage of transient contacts (Fig. 20).

For solid lines in Fig. 23b, NCI is calculated in the same way as in Fig. 23a. In contrast, values of NCI in dashed lines in Fig. 23b are calculated between consecutive loading steps (4 loading steps per cycle). Regardless of \(p'\) and \(\zeta\), both the average value and the range of the fluctuations in NCI are significantly larger when calculated between loading steps when compared against NCI calculated at the starting point between cycles. Such results suggest that after an entire loading cycle the networks recover their topology to some extent. In addition, after \(\sim 20\) cycles, the average value of NCI stabilises, suggesting a recurring but steady level of change in the contact network.

Fig. 24
figure 24

Changes in the contact network between loading steps. a) Percentage of new and lost contacts in \(G_{perc}\) during loading stages, measured relative to the number of contacts in \(G_{perc}\). Box plots show the distribution of the percentage of new/lost contacts for all the cycles (50). b Network change index NCI for each loading step, computed comparing the same loading step between consecutive cycles. Values shown for \(p' =\) 300 kPa; are representative of other values of \(p'\)

Figure 24a shows the distribution of the percentage of transient (new and lost) contacts for each loading stage. Figure 24b shows the evolution of NCI for each loading stage during cyclic loading. At the start of cyclic loading, deviating from the isotropic (neutral) state induces larger changes to the network, both in terms of percentage of transient contacts and NCI. The smallest change to the network occurs when transitioning from the loaded to the neutral state. At larger numbers of cycles (\(>20\)), the differences between loading stages reduces, consistent with the results from Fig. 22. The largest change in \(G_{perc}\), which has a fixed orientation along the z-axis, occurs when the \(\sigma _{zz}\) becomes the minor principal stress orientation (neutral to unloaded stage). Conversely, at the end of cyclic loading, the stages between the loaded and neutral states induce the least change in the contact network.

The difference between new and lost contacts shows that an increase in \(\sigma _{zz}\) (unloaded to neutral and neutral to loaded) slightly reduces the number of contacts in \(G_{perc}\) while the number of contacts increases when \(\sigma _{zz}\) decreases. Although counter-intuitive, the results are congruent with Fig. 19c, where the percentage of contacts in \(G_{perc}\) decreases with increasing values of \(\zeta\). We hypothesise that when the major principal stress of the sample aligns with the orientation of \(G_{perc}\), i.e., at the loaded stage, the percolation network aligns with the principal stress orientation in the material, while the remaining contacts act as lateral support to the principal stress network.

7 Conclusions

This contribution has considered a series of DEM simulations of triaxial element tests that applied stress-controlled, cyclic loading at constant mean effective stress to a sample of spheres. In the parametric study the mean effective stresses \(p'\) and the cyclic loading amplitudes \(\zeta\) were varied. The two main aims of this study were to investigate the macro- and micro-mechanical responses and to further understand energy dissipation during cyclic loading.

The DEM model captured key features of cyclic loading that have been documented in prior experimental studies such as the accumulation of plastic strains, i.e., ratcheting, the rate of which decreases with an increase in cycle number. The hysteresis loops tightened progressively during cyclic loading as their area decreased. This decrease in loop area is related to a reduction in the boundary work per cycle. Most of the boundary work, i.e., the energy input into the system, is dissipated as frictional energy. The remaining energy is stored at the contacts in the form of strain energy. The use of spheres will lead to a lower deviatoric stress and \(\phi\)’ as demonstrated by [21] and [29]. Hence this will also lead to less dissipated energy and a softer response. Other differences might be related to the fact that at the start of cyclic loading all DEM samples are isotropic samples which might not be the case in the lab due to initial fabric. However, the overall trends remain the same. [14] found that particle shape did not affect the shape of the relationship between \(\phi\)’ and \(\psi\). The DEM simulations demonstrate that it is useful to interpret the results within the framework of yield surfaces proposed by [16]. For large loading amplitudes (\(\zeta \ge 10\%\) in this study), cyclic loading expanded the yield surfaces \(Y_1\), \(Y_2\) and \(Y_3\), increasing the elastic range and shear strength of the material. The expansion of the yield surfaces is also linked to the observed reduction in plastic and elastic strains with cycle number.

For samples with the lowest loading amplitude (\(\zeta\) = 5%), the coordination number Z and secant stiffness \(G_{sec}\) of the material remained virtually constant over the 50 loading cycles, and the fabric anisotropy remained constant and isotropic. Conversely, samples at the highest loading amplitude (\(\zeta\) = 20%) exhibited an increase in Z and \(G_{sec}\) and a decrease in fabric anisotropy with increasing cycle number.

For \(\zeta =20\%\) at low cycle numbers (\(<10\)), the volumetric work is the prevalent component of the boundary work. At higher cycle numbers, the deformation is controlled by the distortional work, as elastic strains subside and plastic strains accumulate, i.e., the material starts to exhibit ratcheting behaviour. During ratcheting, most of the energy input is dissipated in the form of frictional energy at the sliding contacts. The loading amplitude controls the evolution of the strain energy (\(E_s\)) in the system. For the two lowest amplitudes (\(\zeta = 5\%\) and \(10\%\)), \(E_s\) increased before reaching a plateau at high cycle numbers. For the largest loading amplitude (\(\zeta = 20\%\)), \(E_s\) reached a peak value as the shear strength was mobilised during the first loading cycle, after which it decreased to a plateau.

The evolution of the contact network during cyclic loading shows that the loading amplitude \(\zeta\) controls the changes in the network with little to no influence of \(p'\). After a number of cycles (about 20 in this study) the contact network reached a ‘steady state’, after which network changes were persistent but constant. At a high number of cycles, the distribution of the percolation force at the contacts, i.e., forces percolating between the top/bottom boundaries of the sample, became more uniform, exhibiting the characteristic behaviour of resilient networks, which could accommodate fluctuations in demand [23].

The changes in the topology of the contact network were determined by the cyclic loading amplitude \(\zeta\); still, regardless of the value of \(\zeta\), after 10–20 cycles, the network topology also reached a ‘steady state’, with persistent but relatively small changes to the arrangements of the micro-structure. Interestingly, the contact networks partially restore their topology after a full loading cycle.

The present study unveils the relationship between the macro-scale response of granular media subjected to drained cyclic loading, and the energy and micro-scale mechanisms that ensue in the material. Results show that the amplitude of the cyclic loading determines the response of the material, controlling the changes to its micro-structure, and the subsequent changes in stiffness and shear strength. Regardless of the loading amplitude and at a high number of cycles, drained cyclic loading induces a ratcheting regime, characterised by the prevalent accumulation of plastic strain, distortion of the material, and most boundary work dissipated at the sliding contacts.

Future work may include the development of constitutive models that capture the characteristics and transition into the ratcheting regime, including the energy considerations found at the micro-scale level. Moreover, the stochastic nature of the loading amplitudes encountered in soil–structure applications may motivate the design of resilient granular materials that can be subjected to large number of cycles with adequate levels of stiffness, strength and permanent deformation.