1 Introduction

The constitutive modelling of granular materials is a popular topic [1,2,3] in the research community because it is important not only in understanding the material but also in the numerical investigation of various geotechnical problems [4,5,6]. Granular materials are conventionally modelled as continuum media because a body of interest in the problem-scale (such as a landslide mass) can be continually sub-divided into infinitesimal elements with similar properties to those of the bulk material, which is due to the fact that there are still a great number of grains in the infinitesimal elements such that the fluctuation of macro-measurable entities is negligible. At every continuum point, physical quantities should be actually seen as statistics of the grain-scale entities over a representative volume element (RVE), which contains a large number of grains and voids. The classic continuum mechanical descriptions, such as the yield surface, flow rule and hardening rule, are summarised from observations of experiments [2, 7].

With recent developments in experimental technology [8,9,10] and grain-based numerical algorithms [11, 12], direct observation and quantitative measurement of grain-scale data and processes offer researchers opportunities to study and inspect granular materials at the grain-scale. Oda [8] was among the first to study the anisotropy of contact structure and grain orientations (both are the fabric). Kanatani [13] studied directional functions such as the probability density function of contact normal, approximated them with Fourier–Laplace series, defined several fabric tensors and unveiled their relationship. Through experiments [8,9,10, 14], the soil has been shown to be highly anisotropic in terms of fabric entities associated with orientation of particles, voids, contact normal vectors, etc. and this anisotropy of fabric significantly influences the response of soils. These micro-mechanical findings have inspired and been incorporated into classic models. For example, Dafalias and Li [15] developed a model for inherently anisotropic sands. In the model, some classic ingredients such as the critical state line and plastic modulus are functions of a scalar-valued parameter measuring the inherent anisotropy. In their later models [16], a fabric tensor enters the framework as an internal variable and a rate equations of evolution is developed for it.

In terms of analytical study in micro-mechanics, Rothenburg and Bathurst [17] were the first to realize that average contact forces are also directionally distributed and they presented a stress–force–fabric (SFF) relationship for two-dimensional (2D) systems, which establishes a connection between the stress state and the grain-scale measures of contact structure (“fabric” term) and contact forecs (“force” term). A large number of related studies have been conducted in the next several decades, which are mostly about exploring how anisotropic features influence the shear resistance of granular materials and how the “force” and “fabric” terms change under various kinds of loadings [18, 19] because the SFF equation is only an equation of stress and does not explicitly contain deformation. One possible approach of constitutive modelling is that, if evolution equations for both “force” and “fabric” terms under deformation are developed, the predicted “force” and “fabric” terms are then inserted into the SFF equation and a stress–strain relationship is naturally obtained. Therefore, in this framework, the SFF equation and evolution equations form the full constitutive model, which is also the primary aim of the present study. However, these “force” and “fabric” terms are defined on grain-scale entities, which are very hard to determine unless highly idealised discrete element modelling (DEM) is used. In real sands, not only the contact are complex, but also the shape of grains is irregular. The DEM simulations are far from capturing the physical picture. Thence the proposed study may be more appealing in the understanding of some grain-scale mechanism and also possibly in giving some insights to constitutive modelling, rather than in numerical investigations where model parameters are calibrated from tests of real materials.

In this part, the stress and strain obtained from DEM tests serve as the “experimental” results of our virtual granular material. Grain-scale entities are also recorded in DEM and these data are used to calculate the the “force” and “fabric” terms. These terms are firstly inserted into the SFF equation to verify the accuracy. Secondly, these terms can also serve as observations of how contact structure and contact forces change under deformation and rate equations with model parameters are proposed for them. In the constitutive model, the “force” and “fabric” terms are not from DEM results any more, but from rate equations and these terms are inserted into the SFF equation to predict the stress, which is compared to the stress from DEM to examine the performance of the model. The detailed description of the granular assembly of interest, contact model, parameters, simulation procedure is given in Sect. 2. In Sect. 3, firstly, the SFF equation is briefly recapped and related notations are introduced. and we show that for polydisperse granular assemblies, strong contacts should be the contacts with larger normalised contact force and also the benefit of using normalised contact force in SFF analysis. In Sect. 4, the normalised contact force leads to our slightly different SFF equation and in our derivation, the uncorrelated assumption between contact vector and contact force is not necessary. The constitutive model and some discussions are presented in Sect. 5.

2 Discrete element modelling

Discrete element simulations have been used to verify the modified stress–force–fabric relationship and also to obtain the data of contact structure and contact forces such that their response under deformation could be observed, summarised and a constitutive model could be built.

The commercial software PFC3D is used in this study. The granular material of interest is an assembly of spherical grains, which have a mean diameter D of 0.17 mm with ± 20% dispersion (uniform distribution). The mean diameter is chosen similar to that of Toyoura sand [20]. A rolling resistance liner model is used for the contacts. Given a grain g and one of its neighbouring grain b. They have position vectors (\(\varvec{x}^g\), \(\varvec{x}^b\)), velocities (\(\varvec{v}^g\), \(\varvec{v}^b\)), angular velocities (\(\varvec{\omega }^g\), \(\varvec{\omega }^b\)) and diameters (\(D^g\), \(D^b\)). If the penetration depth \(\delta ^{c} = (D^g + D^b)/2 - |\varvec{x}^g - \varvec{x}^b|\) is positive, they are in contact (the contact point is denoted as c) and grain g experiences a force \(\varvec{f}^{gc} = \varvec{f}^{n,gc} + \varvec{f}^{t,gc}\) and a rolling resistance moment \(\varvec{M}^{gc}\) from grain b. The contact forces are also divided into an elastic part and a viscous part (\(\varvec{f}^{*,gc} = \varvec{f}^{*e,gc} + \varvec{f}^{*v,gc}\)). They are calculated as:

$$\begin{aligned} \varvec{f}^{n,gc}&= \left( f^{ne,gc} + f^{nv,gc}\right) \left( -\,\varvec{n}^{gc}\right) = \left( k_n\delta ^{c} + 2\beta _n \sqrt{m^*k_n}{\dot{\delta }}^{c}\right) \left( -\varvec{n}^{gc}\right) \end{aligned}$$
(1)
$$\begin{aligned} \varvec{f}^{t,gc}&= \varvec{f}^{te,gc} + \varvec{f}^{tv,gc}= \left[ \left( \varvec{f}^{te,gc}\right) _0 + k_t \Delta \varvec{v}^{t,c}\Delta t\right] + 2\beta _t \sqrt{m^*k_t}\Delta \varvec{v}^{t,c} \end{aligned}$$
(2)
$$\begin{aligned} \varvec{M}^{gc}&= \left( \varvec{M}^{gc} \right) _0 + k_{{{r}}}\Delta \varvec{\omega }^{b,c}\Delta t \end{aligned}$$
(3)

where \(\varvec{n}^{gc}\) is the contact normal on grain g at contact point c, \(m^* = m^g m^b/(m^g + m^b)\) is the effective mass, \(k_{n,t}\) and \(\beta _{n, t}\) are the elastic stiffness and viscous damping constants, \(\Delta \varvec{v}^{t,c}\) is the relative shear velocity at the contact c and \(\Delta \varvec{\omega }^{b,c}\) is the relative bend rotation. Equations 2 and 3 are in an incremental style. The normal stiffness \(k_n\) is calculated as \(k_n = [\pi /2] E D^*\), where E is the elastic modulus and \(D^* = D^g D^b/(D^g + D^b)\) is the effective diameter. The ratio between the normal and tangential stiffness \(\kappa = k_n/k_t\) is fixed for all contacts. The rolling stiffness is calculated as \(k_{{{r}}} = k_t(D^*/2)^2\). Both the tangential contact force and the rolling resistance moment have limits, which are imposed as \(|\varvec{f}^{t,gc}|\leqslant \mu |\varvec{f}^{n,gc}|\) and \(|\varvec{M}^{gc}|\leqslant \mu _{{{r}}} D^*|\varvec{f}^{n,gc}|/2\), respectively. The rolling moment is introduced to model some physical phenomena existing at contacts [21] such as the uneven distribution of contact pressure, plastic deformation around contacts, surface adhesion, etc. Most importantly, it is included to compensate for the lost rolling resistance due to the use of spherical grains in DEM.

The density of quartz (a very common sand mineral) is 2650 kg/m\(^3\) and this value is used for \(\rho _{{{ grain}}}\). The viscous damping constants (\(\beta _n\) and \(\beta _s\)) are chosen as 0.2, which is equivalent to a restitution coefficient of about 0.5. A relatively small Young’s modulus (\({ E} = 0.15\,\hbox {GPa}\)) [22] is used such that a greater time step (\(\Delta t \sim \sqrt{\frac{m}{E}}\)) can be used and simulations are speeded up slightly. It is not recommended to have \(\mu \) greater than 0.5 [23], therefore, 0.4 is used in this study. Regarding the rolling resistance coefficient (\(\mu _{{{r}}}\)), although a higher value can lead to higher critical state strength that is comparable to real sand, a small value 0.1 is used here because the higher critical state strength of real sands is due to other unconsidered physical effects. In summary, the DEM model parameters are listed in Table 1.

Table 1 DEM simulation parameters

All the simulations are performed in 3D periodic domains (explained by Thornton [24]) without gravity. Periodic simulations have an advantage over wall-controlled simulations in that specimens are homogeneous over large strain scales. In wall-controlled simulations, close to the rigid walls, the void ratio can be larger than that far away from walls. Additionally, the contact normals between grains and rigid walls constitute a large portion of whole contacts due to the limited number of grains used in DEM and they will always be perpendicular to the wall.

Specimens are generated by randomly inserting grains within a cuboidal domain (each side is 4 mm long) with the possibility of overlap until a target void ratio is achieved. Then, the domain is enforced to have no deformation, contacts are created and specimens are left to reach a stable state in two steps. In the first step, different combination of \(\mu \) and \(\mu _{{{r}}}\) is used to have various specimens and in the second step, \(\mu \) and \(\mu _{{{r}}}\) are fixed as in Table 1. Specimens with a variety of initial densities (density is defined relative to the critical state line in this paper) can be obtained. Depending on the void ratio, the number of grains in a specimen ranges from 13,800 to 15,000.

Several axisymmetric loading paths considered in this study are: (a) constant volume triaxial compression (CV), which approximates the conventional undrained triaxial tests in laboratory; (b) constant radial stress triaxial compression (CR), which approximates the conventional drained triaxial tests; (c) constant mean stress triaxial compression (CP), which keeps the mean stress constant and compresses the specimen in the axial direction; (d) isotropic compression (ISOC), which compresses the specimen at identical rates in all three directions and (e) isotropic dilation (ISOD). During simulations, the strain (\(\varvec{\varepsilon }\)) and strain rate (\(\varvec{{\dot{\varepsilon }}}\)) are estimated from the size and deformation of the periodic domain and the stress is estimated from the grains by the Love’s equation as in the literature [17, 25]:

$$\begin{aligned} \varvec{\sigma } = -\frac{1}{V}\sum _{{{g}}\in V}\sum _{{{c}} \in g} \varvec{l}^{gc} \otimes \varvec{f}^{gc} \end{aligned}$$
(4)

Here, V is the volume of RVE, the contact vector \(\varvec{l}^{gc}\) is the vector pointing from the centre of gravity of grain g to the contact point c. The summation is performed over all contacts (\(c \in g\)) of every grain (\(g\in V\)) in RVE. Wensrich [26] argued that when contact moment is introduced, the contact vector \(\varvec{l}^{gc}\) should be shifted by an eccentricity vector calculated from the moment and the normal contact force. However, his analysis is based on the assumption that contact moment arises solely from uneven distribution of contact pressure. However, in most DEM simulations, the contribution of this source to the contact moment is negligible. And contact moment is introduced mostly to model the missing rolling resistance due to the use of spherical grains. We have also conducted several wall-controlled triaxial simulations where the stress could be estimated directly from the wall, it is found that the estimation of Eq. 4 is very accurate even with contact moment.

In the present study, compressive stress and strain are defined as positive. The z axis is in the axial loading direction, therefore, \(\varepsilon _z\) is the axial strain. the deviatoric stress is \(q = \sigma _1 - \sigma _3\), the mean stress is \(p = (\sigma _1 + \sigma _2 + \sigma _3)/3\) and the void ratio is denoted as e.

In stress-controlled simulations (e.g. CR and CP tests), a servo-control mechanism is used and the strain rate is estimated from the following equation if a target stress \(\sigma ^t\) is expected.

$$\begin{aligned} {\dot{\varepsilon }}_{*} = \frac{1}{K_{*}\Delta t}\left( \sigma ^t_*-\sigma ^c_*\right) A_* \end{aligned}$$
(5)

where \(*\) can be x, y or z and indicates the direction, \(\sigma ^c_*\) is the current stress in direction \(*\), \(A_*\) is the face area of the cuboidal domain. The stiffness \(K_*\) is estimated from the stiffness of all contacts.

$$\begin{aligned} K_{*} = \frac{1}{N^c}\sum _{{{g}}\in V}\sum _{{{c}} \in g} k_n^{gc}\left( \varvec{n}^{gc}\cdot \varvec{n}^*\right) + k_t^{gc}\left( 1-\varvec{n}^{gc}\cdot \varvec{n}^*\right) \end{aligned}$$
(6)

where \(N_{{{c}}}\) is the number of contacts in RVE and \(\varvec{n}^*\) is the directional unit vector. For the smooth control of the specimen, the strain rate is actually a weighted average of the value calculated from Eq. 5 at current step and at previous step (i.e. \({\dot{\varepsilon }}_{*} = 0.25[{\dot{\varepsilon }}_{*}]_t + 0.75[{\dot{\varepsilon }}_{*}]_{t-\Delta t}\)). All simulations are conducted with p below 3 MPa such that the average penetration rate of contacts (\(\delta ^{c}/D\)) is smaller than 2% and the small-overlap assumption of DEM is not violated. Also, the grains are far from breakage such that crushability does not enter into play [27]. da Cruz et al. [28] suggested that the quasi-static regime is achieved when the inertia number \(I = |\varvec{{\dot{\varepsilon }}}|D(\rho _{{{ grain}}}/p)^{1/2} \) is smaller than 10\(^{-3}\) and the norm of a tensor is its Euclidean norm. In the present shear tests, the z direction is displaced at a constant strain rate of \(\varvec{{\dot{\varepsilon }}}_z = 10\,\hbox {s}^{-1}\), therefore, even at the lowest p of 0.1 MPa, I is smaller than \(3\times 10^{-4}\) and quasi-static deformation condition is met.

Figure 1 presents the ep path of some shear tests. It could be seen that the initial density of specimens spans a wide range, they all converge towards a unique critical state ep line after undergoing either kind (CV, CR or CP) of shearing, which agrees with laboratory observations of real sands [20]. However, because spherical grains are used in DEM, the void ratios are as expected smaller than that of real sands. One thing to note is that in CV simulations, the specimens are sheared at strain rate with zero volumetric term. For some CV tests where p changes dramatically (For example, tests with \(e_0 = 0.606\) in Fig. 1), the volume of the specimen does not change, but the void ratio changes slightly because when the void ratio is estimated in this study, we account for the volume of the small overlap between contacting grains. And this volume undergoes noticeable changes when p changes dramatically, which leads to the small variation of e. The critical state strength is found to be \(M = 0.92\). However, most real sands have M greater than 1. For example, \(M=1.25\) for Toyoura sand [20]. This is because some other physical effects are not considered in the highly idealised DEM model such as the irregular shape effect of grains, surface adhesion at contacts, etc. and these effects can contribute to the critical state strength as well. It is also possible that M in DEM is comparable to that of real sand if higher values of \(\mu \) and \(\mu _{{{r}}}\) are used. But in this case, the higher values of \(\mu \) and \(\mu _{{{r}}}\) are “unrealistic” and we prefer to use the “realistic” DEM parameters here.

Fig. 1
figure 1

ep path for various monotonous shear tests

3 Normalised contact force

The SFF equation relates the stress of granular material to some statistics of grain-scale entities which have clear physical meanings. The derivation of the SFF equation is extensively discussed in the literature [17, 25]. Firstly, The summation in Eq. 4 can be grouped within different contact normal (\(\varvec{n}\)) directions as in the following equation. Please note that two grains are in contact at one point, \(\varvec{l}^{gc}\) and \(\varvec{f}^{gc}\) are different on the two grains and therefore two different contacts are considered in the present study.

$$\begin{aligned} \varvec{\sigma } = -\,\frac{1}{V}\sum _{\varvec{n} \in \Omega } \sum _{j = 1}^{N_{{{c}}}(\varvec{n})} \varvec{l}^{gc} \otimes \varvec{f}^{gc} \end{aligned}$$
(7)

where \(\Omega \) is the solid angle and it represents all possible orientations of the contact normal \(\varvec{n}\). Denote \(E^{\text {PDF}}(\varvec{n})\) as the probability density function of contact normal, it has \(\int _{\varvec{n} \in \Omega }E^{\text {PDF}}(\varvec{n})d\Omega = 1\) and there are \(N_{{{c}}}(\varvec{n}) = N_{{{c}}}E^{\text {PDF}}(\varvec{n})d\Omega \) contacts whose normal is in direction \(\varvec{n}\). Denote the average of \(\varvec{l}^{gc} \otimes \varvec{f}^{gc}\) for contacts in direction \(\varvec{n}\) as \(\overline{\varvec{l} \otimes \varvec{f}}(\varvec{n})\), Eq. 7 can be written as

$$\begin{aligned} \varvec{\sigma } = -\frac{N_{{{c}}}}{V}\sum _{\varvec{n} \in \Omega }\overline{\varvec{l} \otimes \varvec{f}}(\varvec{n})E^{\text {PDF}}(\varvec{n})\Delta \Omega = -\frac{N_{{{c}}}}{V}\int _{\varvec{n} \in \Omega }\overline{\varvec{l} \otimes \varvec{f}}(\varvec{n})E^{\text {PDF}}(\varvec{n})d \Omega \end{aligned}$$
(8)

Subsequently, distributions of \(\varvec{l}(\varvec{n})\) and \(\varvec{f}(\varvec{n})\) are assumed uncorrelated and therefore \(\overline{\varvec{l} \otimes \varvec{f}}(\varvec{n}) = \overline{\varvec{l}}(\varvec{n}) \otimes \overline{\varvec{f}}(\varvec{n})\). In the next step, the directional functions (\(E^{\text {PDF}}(\varvec{n})\), \(\overline{\varvec{l}}(\varvec{n})\) and \(\overline{\varvec{f}}(\varvec{n})\)) are approximated by the Fourier–Laplace series [17]. For example, \(E^{\text {PDF}}(\varvec{n})\) can be approximated by the following second-order approximation in the present study

$$\begin{aligned} E^{\text {PDF}}(\varvec{n}) = \frac{1}{4\pi }[1 + (\varvec{n})^{{{T}}}{{\mathbf {\mathsf{{A}}}}}\varvec{n}] \end{aligned}$$
(9)

where the fabric tensor \({{\mathbf {\mathsf{{A}}}}}\) is a second-order deviatoric tensor measuring the anisotropy of contact normals. It is calculated as a statistic of the contact normals in the RVE using the following equation.

$$\begin{aligned} {{\mathbf {\mathsf{{A}}}}} = \frac{15}{2}\left[ \frac{1}{N_{{{c}}}}\sum _{k = 1}^{N_{{{c}}}}\varvec{n}^k \otimes \varvec{n}^k- \frac{1}{3} {{\mathbf {\mathsf{{I}}}}}\right] \end{aligned}$$
(10)

where \({{\mathbf {\mathsf{{I}}}}}\) is the isotropic unit tensor. \(\overline{\varvec{f}}(\varvec{n})\) can be approximated by the following second-order approximation [17].

$$\begin{aligned} \overline{\varvec{f}}(\varvec{n}) = -\overline{f^n}[1 + (\varvec{n})^{{{T}}}{{\mathbf {\mathsf{{G}}}}}^n\varvec{n}]\varvec{n} - \overline{f^n}({{\mathbf {\mathsf{{G}}}}}^t\varvec{n} - [(\varvec{n})^{{{T}}}{{\mathbf {\mathsf{{G}}}}}^t\varvec{n}]\varvec{n}) \end{aligned}$$
(11)

where \(\overline{f^n}\) is the average normal force over all directions, \({{\mathbf {\mathsf{{G}}}}}^n\) and \({{\mathbf {\mathsf{{G}}}}}^t\) are deviatoric tensors for normal and tangential force, respectively. \(\overline{\varvec{l}}(\varvec{n}) \approx {\overline{D}}\varvec{n}/2\). The last step is to substitute all the Fourier–Laplace approximations into Eq. 8 and the following SFF equation is obtained if only lower-order terms are considered.

$$\begin{aligned} \varvec{\sigma }= \frac{N_{{{c}}}{\overline{D}}\overline{f^n}}{3V}\left[ {{\mathbf {\mathsf{{I}}}}} + \frac{2}{5}\left( {{\mathbf {\mathsf{{A}}}}} + {{\mathbf {\mathsf{{G}}}}}^n + \frac{3}{2}{{\mathbf {\mathsf{{G}}}}}^t\right) \right] \end{aligned}$$
(12)

For a polydisperse granular RVE whose diameter of grains ranges from \(D_{0}\) to \(D_{N_d}\). The grains can then be grouped into \(N_d\) groups, where the diameter for grains in group k is between \(D_{k-1}\) and \(D_{k}\). The summation in Eq. 4 can then be grouped not only based on \(\varvec{n}\), but also based on the diameter D.

$$\begin{aligned} \varvec{\sigma } = -\frac{1}{V}\sum _{k =1}^{N_d} \sum _{\varvec{n} \in \Omega } \sum _{j = 1}^{N_{{{c}}}(\varvec{n},k)} \varvec{l}^{gc} \otimes \varvec{f}^{gc} \end{aligned}$$
(13)

The inner is the summation of \(\varvec{l}^{gc} \otimes \varvec{f}^{gc}\) for the \(N_{{{c}}}(\varvec{n},k)\) contacts whose corresponding grain has diameter between \(D_{k-1}\) and \(D_{k}\) and the contact normal is in direction \(\varvec{n}\). Taking a similar procedure as the one from Eqs. 7 to 8, one has

$$\begin{aligned} \varvec{\sigma } = - \frac{N_{{{c}}}}{V} \sum _{k =1}^{N_d} \frac{N_{{{c}}}(k)}{N_{{{c}}}} \int _{\varvec{n} \in \Omega }\overline{\varvec{l} \otimes \varvec{f}}(\varvec{n},k)E^{\text {PDF}}(\varvec{n},k)d \Omega \end{aligned}$$
(14)

where \(N_{{{c}}}(k)\) is number of contacts on grains in group k. Therefore, the contact network is partitioned into \(N_d\) distinct subsets, where the union of all \(N_d\) subsets form the complete contact network. The stress tensor is contributed by \(\varvec{\sigma ^{N}}(k)= - \frac{N_{{{c}}}}{V}\int _{\varvec{n} \in \Omega }\overline{\varvec{l} \otimes \varvec{f}}(\varvec{n},k)E^{\text {PDF}}(\varvec{n},k)d \Omega \) of each subset with a weight of \(\frac{N_{{{c}}}(k)}{N_{{{c}}}}\).

$$\begin{aligned} \varvec{\sigma } = \sum _{k =1}^{N_d} \frac{N_{{{c}}}(k)}{N_{{{c}}}} \varvec{\sigma ^{N}}(k) \end{aligned}$$
(15)

Similarly, an SFF equation for the polydisperse granular RVE is obtained:

$$\begin{aligned} \varvec{\sigma }= \sum _{k =1}^{N_d} \frac{N_{{{c}}}(k)}{N_{{{c}}}} \frac{N_{{{c}}}{\overline{D}}(k) \overline{f^n}(k)}{3V}\left[ {{\mathbf {\mathsf{{I}}}}} + \frac{2}{5}\left( {{\mathbf {\mathsf{{A}}}}}(k) + {{\mathbf {\mathsf{{G}}}}}^n(k) + \frac{3}{2}{{\mathbf {\mathsf{{G}}}}}^t(k)\right) \right] \end{aligned}$$
(16)

where \({\overline{D}}(k)\), \(\overline{f^n}(k)\), \({{\mathbf {\mathsf{{A}}}}}(k)\), \({{\mathbf {\mathsf{{G}}}}}^n(k)\), \({{\mathbf {\mathsf{{G}}}}}^t(k)\) are for group k only.

However, Eq. 14 can be re-arranged and re-interpreted. Firstly, \(V = (1+e)V_{{{g}}}\), where \(V_{{{g}}} = \sum _{k =1}^{N_d} V_{{{g}}}(k)\) is the total volume of grains. For each subset, \(V_{{{g}}}(k) = N_{{{g}}}(k)\pi D_k^3/6\). Define \(Z = N_{{{c}}}/N_{{{g}}}\) as the coordination number and also \(Z(k) = N_{{{c}}}(k)/N_{{{g}}}(k)\). With these definitions, Eq. 14 is expressed as:

$$\begin{aligned} \begin{aligned} \varvec{\sigma }&= -\, \frac{1}{1+e} \sum _{k =1}^{N_d} \frac{N_{{{c}}}(k)}{V_{{{g}}}} \int _{\varvec{n} \in \Omega }\overline{\varvec{l} \otimes \varvec{f}}(\varvec{n},k)E^{\text {PDF}}(\varvec{n},k)d \Omega \\&= - \,\frac{1}{1+e} \sum _{k =1}^{N_d} \frac{N_{{{c}}}(k)}{V_{{{g}}}} \frac{V_{{{g}}}(k)}{N_{{{g}}}(k)}\int _{\varvec{n} \in \Omega } \frac{6}{\pi D_k^3}\overline{\varvec{l} \otimes \varvec{f}}(\varvec{n},k)E^{\text {PDF}}(\varvec{n},k)d \Omega \\&= - \,\frac{Z}{1+e} \sum _{k =1}^{N_d} \frac{Z(k)}{Z} \frac{V_{{{g}}}(k)}{V_{{{g}}}}\int _{\varvec{n} \in \Omega } \frac{6}{\pi D_k^3}\overline{\varvec{l} \otimes \varvec{f}}(\varvec{n},k)E^{\text {PDF}}(\varvec{n},k)d \Omega \\&= \sum _{k =1}^{N_d} \frac{Z(k)}{Z} \frac{V_{{{g}}}(k)}{V_{{{g}}}} \varvec{\sigma ^{V}}(k) \\ \end{aligned} \end{aligned}$$
(17)

Different from Eq. 15, this equation means that the total stress tensor is contributed by \(\varvec{\sigma ^{V}}(k)\) of each subset with a weight of \(\frac{Z(k)}{Z} \frac{V_{{{g}}}(k)}{V_{{{g}}}}\), where \(\frac{Z(k)}{Z}\) is a ratio of coordination numbers, \(\frac{V_{{{g}}}(k)}{V_{{{g}}}}\) is the volume fraction of subset k. \(\varvec{\sigma ^{V}}(k)\) is

$$\begin{aligned} \begin{aligned} \varvec{\sigma ^{V}}(k)&= - \frac{Z}{1+e}\int _{\varvec{n} \in \Omega }\frac{6}{\pi D_k^3}\overline{\varvec{l} \otimes \varvec{f}}(\varvec{n},k)E^{\text {PDF}}(\varvec{n},k)d \Omega \\&= - \frac{Z}{1+e} \frac{1}{N_{{{c}}}(k)}\sum _{D_{k-1}<D<D_{k}} \frac{6}{\pi D^3} \varvec{l}^{gc} \otimes \varvec{f}^{gc}\\&= - \frac{Z}{1+e} \frac{1}{N_{{{c}}}(k)}\sum _{D_{k-1}<D<D_{k}} \varvec{n}^{gc} \otimes \frac{3 \lambda ^\prime }{\pi D^2} \varvec{f}^{gc} \end{aligned} \end{aligned}$$
(18)

Here, some properties of spherical grains are used such as the contact vector is always in the direction of contact normal \(\varvec{l}^{gc} = \lambda ^\prime (D/2) \varvec{n}^{gc}\). Because two contacting grains have a small overlap, the magnitude of contact vector is slightly smaller than the radius and \(\lambda ^\prime \) here (slightly smaller than 1) is to correct this. A normalised contact force can be defined \(\varvec{{\widetilde{f}}}^{gc} = 3\lambda ^\prime \varvec{f}^{gc} /(\pi D^2)\) and Eq. 17 is expressed as

$$\begin{aligned} \varvec{\sigma } = - \frac{Z}{1+e} \sum _{k =1}^{N_d} \frac{Z(k)}{Z} \frac{V_{{{g}}}(k)}{V_{{{g}}}}\int _{\varvec{n} \in \Omega } \overline{\varvec{n} \otimes \varvec{{\widetilde{f}}}}(\varvec{n},k)E^{\text {PDF}}(\varvec{n},k)d \Omega \end{aligned}$$
(19)

A DEM simulation is conducted to investigate \(\varvec{\sigma ^{N}}(k)\) and \(\varvec{\sigma ^{V}}(k)\) of each subset. During a CV test of a dense specimen (\(p_0 = 0.21\) MPa and \({ e} = 0.606\)), the grains are divided into 5 groups based on their diameters and both \(\varvec{\sigma ^{N}}(k)\) and \(\varvec{\sigma ^{V}}(k)\) are calculated and presented in Fig. 2. For comparison, \(\varvec{\sigma ^{N}}(k)\) and \(\varvec{\sigma ^{V}}(k)\) are normalised with \(\varvec{\sigma }\). It can be seen that coarse grains (larger D) have larger \(\varvec{\sigma }^{N}(k)\) and their \(\varvec{\sigma }^{N}(k)\) could be several times larger than that of fine grains. However, Fig. 2 shows that \(\varvec{\sigma ^{V}}(k)\) of different groups is approximately the same. To better explain this, a 2D example is given in Fig. 3. A specimen (Fig. 3a) is sustaining an external deviatoric stress with \(\sigma _{zz}/\sigma _{xx} = 2.0\). The specimen is stratified and the grains in upper stratum have greater diameter than those below. Figure 3b gives the contact forces between grains and warmer colour means larger contact forces. Therefore, the average contact force in the upper stratum is larger than that in the bottom stratum and strong contacts concentrate in the upper part of specimen, which corresponds to the fact that coarse grains have larger \(\varvec{\sigma }^{N}(k)\). Figure 3c gives the normalised contact forces and it can be seen that contacts with larger \(\varvec{{\widetilde{f}}}\) scatter around the whole specimen, but primarily oriented along z axis (the direction of major principal stress), which corresponds to the fact that grains of different groups have similar \(\varvec{\sigma ^{V}}(k)\). It is extensively addressed in the literature that strong contacts are the dominant source in sustaining the deviatoric stress [25, 29, 30]. For the case in Fig. 3, strong contacts concentrate in the upper part, does it mean that the stress in the bottom part is less deviatoric? This is clearly not the case and the evaluated stress tensor in both the top and bottom parts is actually the same with \(\sigma _{zz}/\sigma _{xx} = 2.0\). Therefore, in the analysis of polydisperse granular assemblies, strong contacts should be the contacts with larger normalised contact force.

Fig. 2
figure 2

Stresses of grains in different groups

Fig. 3
figure 3

An example to illustrate the difference between contact force and normalised contact force

Another benefit of using normalised contact force is that because \(\varvec{\sigma ^{V}}(k)\) of different groups is approximately the same (i.e. \(\varvec{\sigma ^{V}}(1) \approx \varvec{\sigma ^{V}}(2) \approx \cdots \approx \varvec{\sigma ^{V}}(N_{{{g}}}) \approx \varvec{\sigma }\)), the summation and weight in Eq. 19 can be ignored

$$\begin{aligned} \begin{aligned} \varvec{\sigma } = - \frac{Z}{1+e} \int _{\varvec{n} \in \Omega } \overline{\varvec{n} \otimes \varvec{{\widetilde{f}}}}(\varvec{n})E^{\text {PDF}}(\varvec{n})d \Omega . \end{aligned} \end{aligned}$$
(20)

Therefore, there is no need to study the SFF of each subset as in Eq. 16.

The normalised contact force is actually closely related to the penetration rate of contacts. The normal force modelled in this study is \(\varvec{f}^{n, gc} = -\pi E D^* \delta ^{gc} \varvec{n}^{gc}/2\) if the viscous term is ignored. Therefore, the normalised normal contact force is \({\varvec{{\widetilde{f}}}}^{n,gc} = -(3\lambda /2) E (\delta ^{gc} /D^*)\varvec{n}^{gc}\), which means that it is proportional to the elastic modulus of the material and the penetration rate of contact (\(\delta ^{gc} /D^*\)). Generally, any dimensionally consistent contact model should have similar results. For example, the Hertz–Mindlin model is \(\varvec{f}^{n, gc} = -\frac{4}{3}E [\delta ^{gc}]^{3/2} [D^*]^{1/2} \varvec{n}^{gc}\). The normalised normal contact force for it is \({\varvec{{\widetilde{f}}}}^{n,gc} = -(4\lambda /\pi ) E (\delta ^{gc} /D^*)^{3/2}\varvec{n}^{gc}\). The only difference is that this relationship reveals a power proportionality. The coarse and fine grains have similar normalised contact forces and therefore, they have similar penetration rate (\(\delta ^{gc} /D^*\)). In the present study, a new notation (\(\varvec{\Lambda }^{gc} = \varvec{{\widetilde{f}}}^{gc}/E\)) is introduced and it is also a normalised contact force. However, it is dimensionless and it implies penetration rate of contacts in linear contact models (\(\delta ^{gc} /D^g\) is smaller than 2% in the present study). Accordingly, Eq. 20 is

$$\begin{aligned} \begin{aligned} \varvec{\sigma } = -\, E\frac{Z}{1+e} \int _{\varvec{n} \in \Omega } \overline{\varvec{n} \otimes \varvec{\Lambda }}(\varvec{n})E^{\text {PDF}}(\varvec{n})d \Omega . \end{aligned} \end{aligned}$$
(21)

4 Modified stress–force–fabric relationship

Subsequently, the techniques used in deriving the SFF equation [17, 19] can be similarly applied, but here a slightly different procedure is used and the uncorrelated assumption between \(\varvec{l}(\varvec{n})\) and \(\varvec{f}(\varvec{n})\) is not necessary any more. Firstly, the normalised contact force can be decomposed into a normal and tangential component (\(\varvec{\Lambda } = -\Lambda ^{n}\varvec{n} + \varvec{\Lambda }^{t} = \varvec{{\widetilde{f}}}^{n}/E + \varvec{{\widetilde{f}}}^{t}/E\)) and the following equation is obtained.

$$\begin{aligned} \varvec{\sigma }= E\frac{Z}{1+e}\left[ \int _{\varvec{n}} [{\overline{\Lambda }}^{n}(\varvec{n})E^{\text {PDF}}(\varvec{n}) ]\varvec{n} \otimes \varvec{n} d\Omega - \int _{\varvec{n}} \overline{\varvec{n} \otimes \varvec{\Lambda }^{t}}(\varvec{n})E^{\text {PDF}}(\varvec{n}) d\Omega \right] \end{aligned}$$
(22)

Here, \({\overline{\Lambda }}^{n}(\varvec{n})\) is the average normal component of \(\varvec{\Lambda }^{gc}\) for contacts in direction \(\varvec{n}\) and \(\overline{{{\mathbf {\mathsf{{T}}}}}}(\varvec{n}) =-\,\overline{\varvec{n}\otimes \varvec{\Lambda }^{t}}(\varvec{n})\) is the average of the outer product between \(\varvec{n}\) and the tangential component of \(\varvec{\Lambda }^{gc}\). \({\overline{\Lambda }}^{n}(\varvec{n})\) is approximated with a second-order series.

$$\begin{aligned} {\overline{\Lambda }}^{n}(\varvec{n}) = \Lambda [1 + (\varvec{n})^{{{T}}}{{\mathbf {\mathsf{{F}}}}}\varvec{n}] \end{aligned}$$
(23)

where \(\Lambda \) is a scalar measuring the average of normalised normal contact force and \({{\mathbf {\mathsf{{F}}}}}\) is a second-order deviatoric tensor measuring the anisotropy of normalised normal contact force. They are both calculated as statistics of contact normals and normalised normal contact forces in the RVE as

$$\begin{aligned} \Lambda&= \frac{1}{N_{{{c}}}}\sum _{k = 1}^{N_{{{c}}}}\frac{\Lambda ^{n,k}}{1 + (\varvec{n}^k)^{{{T}}}{{\mathbf {\mathsf{{A}}}}}\varvec{n}^k} \end{aligned}$$
(24)
$$\begin{aligned} {{\mathbf {\mathsf{{F}}}}}&= \frac{15}{2}\left[ \frac{1}{\Lambda }\frac{1}{N_{{{c}}}}\sum _{k = 1}^{N_{{{c}}}}\frac{\Lambda ^{n,k} \varvec{n}^k \otimes \varvec{n}^k}{1 + (\varvec{n}^k)^{{{T}}}{{\mathbf {\mathsf{{A}}}}}\varvec{n}^k} - \frac{1}{3} {{\mathbf {\mathsf{{I}}}}}\right] \end{aligned}$$
(25)

\(\overline{{{\mathbf {\mathsf{{T}}}}}}(\varvec{n})\) is approximated with a zero-order series.

$$\begin{aligned} \overline{{{\mathbf {\mathsf{{T}}}}}}(\varvec{n}) = \Lambda {{\mathbf {\mathsf{{F}}}}}^t \end{aligned}$$
(26)

As shown by He et al. [19], \({{\mathbf {\mathsf{{F}}}}}^t\) measures the overall mobilisation of contacts. It is also a deviatoric tensor and is calculated as a statistic of contact normals and normalised tangential contact forces.

$$\begin{aligned} {{\mathbf {\mathsf{{F}}}}}^t = \frac{1}{\Lambda }\frac{1}{N_{{{c}}}}\sum _{k = 1}^{N_{{{c}}}}\frac{-\varvec{n}^k \otimes \varvec{\Lambda }^{t, k}}{1 + (\varvec{n}^k)^{{{T}}}{{\mathbf {\mathsf{{A}}}}}\varvec{n}^k} \end{aligned}$$
(27)

The last step is to substitute all the Fourier–Laplace approximations into Eq. 22 and the following SFF equation is obtained.

$$\begin{aligned} \varvec{\sigma }= E\frac{Z \Lambda }{1+e}\left[ \frac{1}{3} {{\mathbf {\mathsf{{I}}}}} + \frac{2}{15}{{\mathbf {\mathsf{{A}}}}} + \frac{2}{15}{{\mathbf {\mathsf{{F}}}}}+\frac{2}{105}\text {tr}({{\mathbf {\mathsf{{F}}}}}{{\mathbf {\mathsf{{A}}}}}){{\mathbf {\mathsf{{I}}}}} +\frac{8}{105}{{\mathbf {\mathsf{{F}}}}}{{\mathbf {\mathsf{{A}}}}}+ {{\mathbf {\mathsf{{F}}}}}^t \right] \end{aligned}$$
(C0)

This SFF equation relates the stress to some statistics of grain-scale entities (e.g. Z, \(\Lambda \), \({{\mathbf {\mathsf{{A}}}}}\), \({{\mathbf {\mathsf{{F}}}}}\), \({{\mathbf {\mathsf{{F}}}}}^t\), etc.) which have clear physical meanings. Ignore the higher-order coupled terms involving \({{\mathbf {\mathsf{{A}}}}}\) and \({{\mathbf {\mathsf{{F}}}}}\) (relatively smaller than other terms), the mean stress p, the deviatoric stress tensor \({{\mathbf {\mathsf{{s}}}}} = \varvec{\sigma } - p{{\mathbf {\mathsf{{I}}}}}\) and the stress ratio \({{\mathbf {\mathsf{{s}}}}}/p\) can be written as

$$\begin{aligned} p&= \frac{1}{3}E\frac{Z \Lambda }{1+e} \end{aligned}$$
(28)
$$\begin{aligned} {{\mathbf {\mathsf{{s}}}}}&= E\frac{Z \Lambda }{1+e}\left[ \frac{2}{15}{{\mathbf {\mathsf{{A}}}}} + \frac{2}{15}{{\mathbf {\mathsf{{F}}}}}+ {{\mathbf {\mathsf{{F}}}}}^t \right] \end{aligned}$$
(29)
$$\begin{aligned} \frac{{{\mathbf {\mathsf{{s}}}}}}{p}&= \frac{2}{5}{{\mathbf {\mathsf{{A}}}}} + \frac{2}{5}{{\mathbf {\mathsf{{F}}}}}+ 3{{\mathbf {\mathsf{{F}}}}}^t \end{aligned}$$
(30)

This means that the mean stress p of granular material is proportional linearly to the elastic modulus E of the grain, the coordination number Z, a statistic \(\Lambda \) measuring the average of normalised normal contact force and the solid fraction \(\nu = 1/(1+e)\). The stress ratio \({{\mathbf {\mathsf{{s}}}}}/p\) is related to three dimensionless deviatoric tensors (\({{\mathbf {\mathsf{{A}}}}}\), \({{\mathbf {\mathsf{{F}}}}}\) and \({{\mathbf {\mathsf{{F}}}}}^t\)). In other words, the strength is contributed by three sources: the anisotropy of contact structure \({{\mathbf {\mathsf{{A}}}}}\), the anisotropy of normal contact force \({{\mathbf {\mathsf{{F}}}}}\) and the mobilisation of contacts \({{\mathbf {\mathsf{{F}}}}}^t\).

The SFF equation is from rigorous derivation and some “edge” cases can also be inferred form it. Firstly, \(\varvec{\sigma } = {{\mathbf {\mathsf{{0}}}}}\) if (a) \(E = 0\), which means that the grains are so soft to sustain any external load, the stress of the assembly can therefore only be zero; or (b) the coordination number Z is zero, which is only possible when the grains in an RVE are not in contact at all. In this case, the RVE is not sustaining any external load and the stress is zero; or (c) the void ratio is infinity, which means that in a RVE, there is no grains, the stress is of course zero; or (d) the average normalised contact force \(\Lambda \) is zero, which means that although the grains in an RVE can have geometric contacts, the contact forces are zero. In this case, due to the balance of forces for boundary grains, the external forces are also zero and the stress is zero. The stress is isotropic if \(\frac{2}{5}{{\mathbf {\mathsf{{A}}}}} + \frac{2}{5}{{\mathbf {\mathsf{{F}}}}}+ 3{{\mathbf {\mathsf{{F}}}}}^t = {{\mathbf {\mathsf{{0}}}}}\). One trivial case is that all the deviatoric stress tensors are zero. Another possibility is that the contact structure and the normal contact forces are both anisotropic and \({{\mathbf {\mathsf{{F}}}}}^t\) is zero, but \(\frac{2}{5}{{\mathbf {\mathsf{{A}}}}} + \frac{2}{5}{{\mathbf {\mathsf{{F}}}}} = {{\mathbf {\mathsf{{0}}}}}\). This corresponds to the consolidation of specimen with initial fabric anisotropy.

To verify the SFF equation, the “force” and “fabric” terms are calculated from DEM simulations and inserted into the SFF equation and results are shown in Figs. 4567 and 8 with dashed lines. It could be seen that all the SFF predictions are extremely close to the results from DEM simulations. Better results can also be obtained if higher-order terms in the Fourier–Laplace are used. For example, Sufian et al. [25] used fourth-order approximation for \(E^{\text {PDF}}(\varvec{n})\) instead of two.

5 Constitutive model and discussion

The major aim of this paper and the companion paper is to build a constitutive model around the SFF equation. If all the variables in the right hand side of Eq. C0 could be appropriately modelled by several equations of incremental type, a constitutive model is immediately obtained. In this approach, more state variables are introduced and also more equations are required. However, as a result, the state of granular materials is also more precisely defined. The constitutive equations regarding the response of the contact structure and contact forces are explained in detail in the companion paper and they are listed here

$$\begin{aligned} \dot{{{\mathbf {\mathsf{{A}}}}}}&= f^{e,A}|f^{d,A}{{\mathbf {\mathsf{{A}}}}}^c - {{\mathbf {\mathsf{{A}}}}}|^{\gamma _A}\left( f^{d,A}{{\mathbf {\mathsf{{A}}}}}^c - {{\mathbf {\mathsf{{A}}}}}\right) |\dot{\varvec{\varepsilon }}| \end{aligned}$$
(C1)
$$\begin{aligned} {\dot{Z}}&= f^{e,Z}(Z^c - Z)|\dot{\varvec{\epsilon }}| + f^{v,Z}{\dot{\varepsilon }}_v -c^Zf^{e,Z}|\dot{{{\mathbf {\mathsf{{A}}}}}}| \end{aligned}$$
(C2)
$$\begin{aligned} \dot{{{\mathbf {\mathsf{{F}}}}}}&= f^{e,F}|f^{d,F}{{\mathbf {\mathsf{{F}}}}}^c - {{\mathbf {\mathsf{{F}}}}}|^{\gamma _F}\left( f^{d,F}{{\mathbf {\mathsf{{F}}}}}^c - {{\mathbf {\mathsf{{F}}}}}\right) |\dot{\varvec{\varepsilon }}| \end{aligned}$$
(C3)
$$\begin{aligned} {\dot{\Lambda }}&= f^{e,\Lambda }|{{\mathbf {\mathsf{{A}}}}}|\left( \Lambda ^c - \Lambda \right) |\dot{\varvec{\epsilon }}| + f^{v,\Lambda }{\dot{\varepsilon }}_v \end{aligned}$$
(C4)
$$\begin{aligned} \dot{{{\mathbf {\mathsf{{F}}}}}}^t&= c_M\left( {{\mathbf {\mathsf{{F}}}}}^{tc} - {{\mathbf {\mathsf{{F}}}}}^t\right) |\dot{\varvec{\varepsilon }}| \end{aligned}$$
(C5)

where \({{\mathbf {\mathsf{{A}}}}}^c = A^c \frac{\dot{\varvec{\epsilon }}}{|\dot{\varvec{\epsilon }}|}\), \({{\mathbf {\mathsf{{F}}}}}^c = F^c \frac{\dot{\varvec{\epsilon }}}{|\dot{\varvec{\epsilon }}|}\) and \({{\mathbf {\mathsf{{F}}}}}^{tc} = F^{tc} \frac{\dot{\varvec{\epsilon }}}{|\dot{\varvec{\epsilon }}|}\) are the critical state value of \({{\mathbf {\mathsf{{A}}}}}\), \({{\mathbf {\mathsf{{F}}}}}\) and \({{\mathbf {\mathsf{{F}}}}}^t\), respectively. \(Z^c\) and \(\Lambda ^c\) are the critical state coordination number and critical state normalised normal contact force. They are related to the void ratio and fitted by equations (e.g. \(Z^{c}(e) = 4 + c_{{{c}}Z}(e_{{{ cmax}}} - e)^{\gamma _{{{c}}Z}}\) and \(\Lambda ^{c}(e) = c_{{{c}}\Lambda }(e_{{{ cmax}}} - e)\)). \(f^{d,A} = \text {exp}(\beta _{dA}[\Lambda ^c - \Lambda ])\), \(f^{e,A} = c_{eA}/\Lambda ^{\gamma _{eA}}\), \(f^{e,Z} = c_{eZ}\text {exp}(\beta _{eZ}[\Lambda ^c - \Lambda ])\), \(f^{e,F} = [|{{\mathbf {\mathsf{{F}}}}}^c|/|{{\mathbf {\mathsf{{A}}}}}^c|] f^{e,A}\), \(f^{d,F} = f^{d,A}\) and \(f^{e,\Lambda } = c_{e\Lambda }\Lambda ^{\gamma _{\Lambda }}f^{e,Z}\) are stiffness functions. \(f^{v,Z}\) and \(f^{v,\Lambda }\) are coefficients to model the response of Z and \(\Lambda \) under volumetric deformation and the following equations are found to model the observed phenomena. The proposed constitutive equations (Eqs. C1–C5) together with the SFF equation form a constitutive model and the model parameters for the material of interest is listed in Table 2. There are overwhelming number of parameters in the model. This is partly due to the complexity of granular materials, which also makes the study of them constantly a popular topic. For example, at least five model parameters in the evolution equations of Z or \(\Lambda \) are to account for the rate under volumetric deformations. However, if we are interested only in the response under shear deformation other than the ISOC or ISOD deformations, a single parameter is found enough. Additionally, it is highly possible that some parameters are not specific for a single granular material, but applicable to all granular materials and therefore, it is not necessary to calibrate them. For example, the equation for \({{\mathbf {\mathsf{{A}}}}}\) has several model parameters. The mechanism of contact number change is the same for all granular materials, so do we really need to have different parameters for this equation for different granular materials? These questions are not within the primary aim of the present study and therefore are saved for later research.

$$f^{v,Z}= \left\{\begin{array}{ll}{\text{exp}}(\beta _{vZ}[Z^{{{ com}}} -Z])\frac{dZ^{{{ com}}}}{de}(1+e)&\quad {\dot{\varepsilon }}_v > 0\\ c_{vZ}/\Lambda & \quad {\dot{\varepsilon }}_v < 0 \end{array}\right.$$
(31)
$$\begin{aligned} f^{v,\Lambda }&= \left\{ \begin{array}{lll} &{}c_{{{c}}\Lambda }(1+e)&\quad{}{\dot{\varepsilon }}_v > 0\\ &{}c_{v\Lambda d}(1+e)&\quad{}{\dot{\varepsilon }}_v < 0 \end{array}\right. \end{aligned}$$
(32)

Here, \(Z^{{{ com}}}(e) = 4 + c_{{{ com}}}(e_{{{ cmax}}} - e)^{\gamma _{{c}z}}\) characterise a compression line in the \(e-Z\) space.

Table 2 Parameters of the constitutive model

5.1 Hypoplastic nature

This model could be essentially categorised into the family of hypoplastic models [1]. Firstly, within this model there is no need to define the loading–unloading criteria or to decompose the total strain rate into elastic and plastic parts. Additionally, taking a total differential of the SFF equation and ignoring the higher-order coupled terms, the following incremental equation regarding the stress is obtained.

$$\begin{aligned} \dot{\varvec{\sigma }}= \frac{\varvec{\sigma }}{Z}{\dot{Z}} + \frac{\varvec{\sigma }}{\Lambda }{\dot{\Lambda }} - \frac{\varvec{\sigma }}{1+e}{\dot{e}} + \frac{2E}{15}\frac{Z \Lambda }{1+e}\dot{{{\mathbf {\mathsf{{A}}}}}} + \frac{2E}{15}\frac{Z \Lambda }{1+e}\dot{{{\mathbf {\mathsf{{F}}}}}} + E\frac{Z \Lambda }{1+e}\dot{{{\mathbf {\mathsf{{F}}}}}^t} \end{aligned}$$
(33)

Considering the format of the constitutive equations (Eqs. C1–C5), Eq. 33 could be conceptually expressed as

$$\begin{aligned} \dot{\varvec{\sigma }}= L^v(e,\varvec{\sigma },Z,\Lambda )\dot{\varepsilon _v}{{\mathbf {\mathsf{{I}}}}} + L^s(e,Z,\Lambda )\dot{\varvec{\epsilon }} + {{\mathbf {\mathsf{{N}}}}}(e,\varvec{\sigma },Z,\Lambda ,{{\mathbf {\mathsf{{A}}}}},{{\mathbf {\mathsf{{F}}}}},{{\mathbf {\mathsf{{F}}}}}^t)|\dot{\varvec{\varepsilon }}| \end{aligned}$$
(34)

Therefore, this model can be seen as an extension to the hypoplastic models [1] by adding more state variables. e, Z and \(\Lambda \) appear in both linear and non-linear terms and they are mostly to measure the compaction of the materials. In the literature, a number of similar parameters (such as the state parameter in Dafalias [2]) have been used for the same purpose. The anisotropy of contact structure and contact force only enter into the non-linear term, which suggests that for the extension of existing hypoplastic models in literature to account for the fabric effect, a fabric tensor should be regarded as an internal variable and added into the non-linear term. Also, a seperate evolution equation for it is needed.

5.2 Performance

Model predictions are compared with virtual experimental results in Figs. 4567 and 8. The stress and strain obtained from DEM tests are plotted in solid lines. For both the dashed lines and dotted lines, the stress is obtained by inserting the “force” and “fabric” terms into the SFF equation. The difference is that in the verification of SFF equation, both these terms are calculated as statistics of grain-scale entities, but in the constitutive model, they are from evolution equations.

Figure 4 gives the results of some CV tests at different void ratios. Some key phenomena observed in undrained triaxial tests of real sand [20] can also be found in DEM simulations. For example, specimens ultimately reach the same pq line (\(M = 0.93\)) irrespective of the void ratio or initial confining pressure. The stiffness and the peak strength is largely affected by the initial state ( Denser specimens have higher stiffness and peak strength). Additionally, in the pq diagram, the hook-type response of medium dense samples (p decreases initially before \(q/p = M\) and then, increase along the \(q/p = M\) line) can also be observed as shown in the inset of Fig. 4a and the rightmost line in Fig. 4e. However, this effect is far less profound than that in real sands. As shown in the companion paper, the coordination number Z has initially a decreasing trend in CV tests and this decrease of coordination number can lead to the decrease of p. Due to the use of spherical grains in DEM, Z is smaller in DEM than in real sands and the decreasing trend is also less profound, which can probably explain the insignificance of the hook-type response.

Fig. 4
figure 4

CV tests (solid lines are DEM results, dashed lines are SFF results and dotted lines are model predictions). a, b \({ e} = 0.724\), c, d \({ e} = 0.670\), e, f \({ e} = 0.606\)

Fig. 5
figure 5

CR tests (solid lines are DEM results, dashed lines are SFF results and dotted lines are model predictions). a, b \(\sigma _{{{r}}} = 0.5\,\hbox {MPa}\), c, d \(\sigma _{{{r}}} = 1\,\hbox {MPa}\)

Figure 5 presents the results of some CR tests at different confining pressure. Similar to real sands [20], depending on the initial state, specimens may have different stiffness and peak strength. They all reach the critical state at large shear strain. Figure 6 presents the results of some CP tests, which have similar phenomena to the CR tests. However, the initial drop of void ratio for dense specimens are not clearly observed in CP tests. Because the critical state is a reference state in all the equations (Eqs. C1–C5), as long as the critical state lines are correctly captured by the fittings (e.g. \(Z^{c}(e) = 4 + c_{{{c}}Z}(e_{{{ cmax}}} - e)^{\gamma _{{{c}}Z}}\) and \(\Lambda ^{c}(e) = c_{{{c}}\Lambda }(e_{{{ cmax}}} - e)\)), the model is able to correctly predict the critical state for all monotonous shear tests (Figs. 456).

Fig. 6
figure 6

CP tests (solid lines are DEM results, dashed lines are SFF results and dotted lines are model predictions). a, b \({ p} = 0.5\,\hbox {MPa}\), c, d \({ p} = 1\,\hbox {MPa}\)

Fig. 7
figure 7

ISOC and ISOD tests (solid lines are DEM results, dashed lines are SFF results and dotted lines are model predictions). a \(e_0 = 0.724\), b \(e_0 = 0.606\)

Fig. 8
figure 8

CP cyclic test (solid lines are DEM results, dashed lines are SFF results and dotted lines are model predictions). \({ p} = 0.5\,\hbox {MPa}\). a, b \(e_0 = 0.77\), c, d \(e_0 = 0.60\), e, f evolution of e

Figure 7 presents some ISOC or ISOD tests in ep plots. Similar to findings in laboratory oedemeter tests, the granular material is found to be stiffer in compressibility after been compressed. The compressbility depends on the void ratio and the confining pressure. Figure 8 presents some CP cyclic tests. In the cyclic program, p is kept constant at 0.5 MPa and the shear direction is reversed at a greater axial strain than that of the last loop (e.g. at 1%, \({-}\) 1%, 2%, \({-}\) 2%, 3%, \({-}\) 3% and 4% axial strain). Figure 8b is the response of q for a loose specimen (\(e_0 = 0.77\)) and Fig. 8d is for a dense specimen (\(e_0 = 0.60\)). Figure 8f is the response of e for them. For comparison, the monotonous shear at different initial densities is also illustrated. The phenomena observed in laboratory cyclic shear tests [31] are also found in DEM simulations such as the different response of specimens with different initial void ratios, the large compressive trend when shear direction is reversed, etc.

From Eq. 30, the stress ratio \({{\mathbf {\mathsf{{s}}}}}/p\) is only related to the deviatoric tensors. Because these tensors are reasonably modelled and predicted by Eqs. C1, C3 and C5 as shown in the companion paper, the prediction of the stress ratio is also good in both monotonous shear tests (Figs. 456) and cyclic shear tests (Fig. 8).

The mean stress p under isotropic deformations is correctly predicted (Fig. 7) except for a relatively larger discrepancy for the compression test of a very dense specimen and the dilation test of a very loose specimen. In the stress-controlled tests (CR and CP tests in Figs. 56), the specimen is predicted to contract or dilate correctly to the critical state void ratio, but the predicted void ratio does not fit the DEM results very well. This is even worse in cyclic tests. Although the model can predict the contraction of a loose specimen and the dilation of a dense specimen under cyclic loading, the predicted void ratio deviates the DEM results considerably. The reason could be that when there is accompanying shear deformations, the variation of Z and \(\Lambda \) under volumetric deformation does not follow exactly the observations found in ISOC and ISOD tests.

An important feature of granular material is the dilatancy. Although dilatancy does not appear in the present constituve eqautions, from the simulations above, the model is able to reproduce some effects related to it. For example, the hook-type response in CV tests. This is because, for the averge terms (e.g. Z and \(\Lambda \)), their response to volumetric and deviatoric deformations is modelled seperatelly.

5.3 Implications and limitations

It can be shown that, to some extend, this model is able to show the different response of specimens with initial contact structure anisotropy. For example, an initial fabric anisotropy with a triaxial structure can be denoted as \({{\mathbf {\mathsf{{A}}}}}^0 = a_1 \varvec{n}_1\otimes \varvec{n}_1 - (a_1/2) \varvec{n}_2\otimes \varvec{n}_2 -(a_1/2)\varvec{n}_2\otimes \varvec{n}_2\), where \(a_1^0\) is not zero and it measures the magnitude of the initial anisotropy. \(\varvec{n}_1\), \(\varvec{n}_2\) and \(\varvec{n}_3\) are the eigenvectors. Specimens are consolidated to an isotropic stress condition before shearing. \({{\mathbf {\mathsf{{F}}}}}^t\) is initially zero. From Eq. C0, the normal contact forces must initially be \({{\mathbf {\mathsf{{F}}}}}^0 = -\,{{\mathbf {\mathsf{{A}}}}}^0 [{{\mathbf {\mathsf{{I}}}}} + \frac{4}{7} {{\mathbf {\mathsf{{A}}}}}^0]^{-1}\) to have an isotropic stress tensor for the specimen. Considering a specimen with \({{\mathbf {\mathsf{{A}}}}}^0\) and \(a_1 = 0.3\) but different loading directions are applied. Denote the angle between \(\varvec{n}_1\) and z axis as \(\theta \) (\(\text {cos}\theta = \varvec{n}_1 \cdot \varvec{n}_z\)). Figure 9 gives some model simulations with variable \(\theta \) for a loose specimen. The simulations show that when the axial loading direction is along the major principal direction of \({{\mathbf {\mathsf{{A}}}}}|_0\) (\(\theta = 0^\circ \)), the response is predicted to the stiffest, which also agrees with experimental observations [8, 9]. However, the predicted influence of fabric is less profound than that observed in real sands. For example, it is shown in CR tests [8] that, the specimen can behave like very dense sand when \(\theta = 0^\circ \), but like very loose sand when \(\theta = 90^\circ \). Also, in Yoshimine et al. [14]’s undrained experiments of the same specimen, liquefaction may be observed when sheared in some direction, but in other directions, the effective stress ends up with a very big value. As mentioned several times in the manuscript, the DEM model is highly idealised and it is still far from capturing the true response of real sands. For the case of fabric anisotropy, the real sand grains are irregular and the orientation of grains is a major source of fabric anisotropy in influence the response, but is not considered in either DEM model or the constitutive model. Another problem is with the constitutive equation of \({{\mathbf {\mathsf{{A}}}}}\). In the analysis in the companion paper, we conclude that the contacts forces are important in modelling \({{\mathbf {\mathsf{{A}}}}}\), but only a isotropic term \(\Lambda \) is included. However, in contact creation, disintegration or rotation, the local contacts forces may not be fully characterised by the average \(\Lambda \). Therefore, \({{\mathbf {\mathsf{{F}}}}}\) may be the missing element and the extension of the present model to account for the fabric anisotropy requires further investigation.

Fig. 9
figure 9

CR tests (\(\sigma _{{{r}}} = 0.5\,\hbox {MPa}\)) in different loading directions with respect to the inherent contact structure anisotropy. a, b Loose specimen, \(e_0 = 0.77\)

One interesting thing to note is that even for initially isotropic specimens (\({{\mathbf {\mathsf{{A}}}}}^0= {{\mathbf {\mathsf{{0}}}}}\), \({{\mathbf {\mathsf{{F}}}}}^0= {{\mathbf {\mathsf{{0}}}}}\), \({{\mathbf {\mathsf{{F}}}}}^{t0}= {{\mathbf {\mathsf{{0}}}}}\)), the state is not completely known by defining only the confining pressure and the void ratio in our model. In other words, different specimens can be made by varying the combination of Z and \(\Lambda \) to have the same confining pressure and void ratio. Figure 10 shows some results, where different \(Z^0\) is chosen and \(\Lambda ^0\) is changed accordingly to have specimens at the the same initial confining pressure and void ratio. The range of \(Z^0\) is between 4.2 and 6, which is well in the reasonable range. The difference is negligible, but also noticeable. Therefore, in geotechnical application, where only the shear deformation is important, it is not necessary to know the coordination number due to its limited influence. However, in terms of the grain-scale mechanism, it suggests a method to test the hypothesis whether the evolution of Z and \(\Lambda \) follows different equations by observe the response of specimen at the same confining pressure and void ratio, but with varying \(Z^0\).

Fig. 10
figure 10

CR tests (\(\sigma _{{{r}}} = 0.5\,\hbox {MPa}\)) of specimens at the same initial confining pressure and void ratio, a loose specimen, \(e_0 = 0.77\), b dense specimen, \(e_0 = 0.67\)

5.4 Towards experimental validation

The present evolution equations for all the “force” and “fabric” terms are summarised from observations of DEM simulations and parameters are also calibrated from DEM data. With the development of laboratory technique, the data may be directly obtained on real granular materials in the future and the models maybe be verified thereafter. The “fabric” terms are relatively easier to measure. For example, as early as 1970s, Oda [8] was able to measure the fabric by freezing the soil specimen and examine it under microscopes. Recent advancement includes the X-ray \(\mu \) computed tomography (CT) technology [32]. In terms of the “force” terms, photoelastic techniques [33] are used to make measurements of the forces within idealised granular materials.

In terms of parameter calibration, in addition to the traditional measurement of stress and void ratio in experiments, the minimum additional requirement is the “fabric” terms such as Z and \({{\mathbf {\mathsf{{A}}}}}\). Then, an equivalent“force” term can be inverted from the SFF equation and the model parameters are calibrated.

6 Conclusions

The primary aim of this paper and the companion paper is to build a constitutive model for granular materials with evolving contact structure and contact forces, where the contact structure and contact forces are characterised by some statistics of contact normals and contact forces. And these statistics are actually the “fabric” or “force” terms in a modified SFF equation.

The verification of the modified SFF equation and the acquire of data regarding the evolving of these statistics under various loading conditions are through DEM simulations. In the present DEM model, the granular material is modelled as assemblies of spherical grains, and a rolling resistance linear contact model is adopted. The DEM simulations are conducted under quasi-static condition which is checked by the inertia number. Also, the simulations are all in a stress level where the small overlap assumption of contacts is not violated. The axisymmetric loading paths considered in the present study include constant volume triaxial compression, constant radial stress triaxial compression, constant mean stress triaxial compression, isotropic compression and isotropic dilation.

In the analysis of the SFF equation, we have addressed that it is more appropriate to use a normalised contact force for polydisperse granular assemblies. As been demonstrated, in a randomly-mixed polydisperse granular assembly sustaining an external load, coarse grains have greater average contacts forces than fine grains. But their average normalised contact forces are similar. Because both coarse and fine grains are equally sustaining the external deviatoric stress, this average normalised contact force is a better indicator of the contact forces of the whole assembly. Also, in deriving the SFF equation, this normalised contact force should be used.

This paper has demonstrated that the modified SFF equation is able to predict the stress accurately in various tests. The constitutive equations regarding the response of the contact structure and contact forces are explained in detail in the companion paper. They along with the SFF equation compose a constitutive model, which is found capable of capturing the observed phenomena correctly and predicting the mechanical response in various loading conditions. In the discussion, the model is found to be an extension to the hypoplastic models but with more state variables.