1 Introduction

Since the very early days of soil mechanics and up to now, soil, in our case sand, was and is mainly regarded as continuum. The origin for this continuum description of soil behaviour was the way in which experiments were run and the availability of experimental methods. For technical reasons, the only possibility to observe the response of a soil specimen to a certain loading was to measure displacements and forces on the boundary of the specimen. The experiments were devised to ideally induce homogeneous states (strain and stress) inside the specimen (so-called element tests) in order to describe the mechanics in a continuum mechanics framework. In this way, phenomenological models were developed to predict and describe the soil behaviour to loading.

In addition to this traditional continuum approach, research started to look into the details (micro-mechanics), because it was expected that the overall behaviour arises from what happens at the smaller scales, i.e. the grain scale. The first such experiments were conducted on coins to allow the acquisition of photographs and to simplify the mechanics from three- to two-dimensional as well as the shapes from arbitrary to circular [40]. Plane stress apparatus were devised to perform experiments on two-dimensional model materials (such as rods) and to link the evolution of the structure, i.e. the kinematics of the particles, to the macroscopic response [6]. The main shortcoming of these methods regarding realistic soil behaviour is the two-dimensional nature and simplified shapes of the investigated materials.

Natural materials were also the focus of micro-mechanical analyses. The first approach was to inject a resin and produce thin cuts of several sections of the specimen [28,29,30]. Using microscopes, inter-particle contacts and particle orientations were estimated from these thin sections. These observations, however, were only possible on “dead” specimens as they are destroyed while producing the thin cuts. In order to follow an evolution of the fabric, similar, yet inherently not identical specimens were produced and tested under the same boundary conditions. These tests were stopped at chosen stages of the loading, and thin cuts were taken in order to link all these stages and thus estimate an evolution of the fabric. Despite the progress that these techniques allowed, the limitation to two-dimensional images and the destructive nature of the acquisition of the thin cuts prevented a complete micro-mechanical description.

Another branch of research in granular mechanics developed numerical methods to simulate the mechanical interaction of individual grains [8]. With a suitable description of the frictional interaction between particles, the response of granular assemblies to chosen loading situations can be simulated [12, 16]. These simulations allow complete access to the micro-mechanical variables, i.e. the fabric of the assembly, the kinematics of the particles and the inter-particle forces (all three points in [6]). However, the underlying contact models that dictate the overall behaviour are phenomenological friction models, and the shapes of the particles have been restricted to discs or spheres for a long time. Thus, such models and the results of discrete simulations have to be interpreted with the inherent simplifications in mind and need experimental validation. However, many advancements were already implemented in these discrete methods that allow for a more realistic description of the contact mechanics [21] and more realistic particles shapes [24].

With X-ray \(\mu \) tomography (X-ray \(\mu \)CT) being available in form of laboratory scanners or synchrotron facilities, it is now routinely possible to acquire 3D full-field measurements of granular materials at suitable resolutions. In the beginning of the use of X-ray CT in soil mechanics, the distribution of porosity was investigated with the aim of analysing the development of localisation phenomena in the soil specimen [11]. The localisation of deformation was the main part of research in soil mechanics with X-ray CT [31]. Existing image analysis tools were either modified for the use in soil mechanics or new tools were developed in order to study the kinematics of the soil specimen. Digital image correlation (DIC) can be used to determine the deformations in a continuum framework [19, 34]. Particle tracking approaches, such as ID-Track [2], enable the determination of grain kinematics, i.e. displacements and rotations of individual grains. Both approaches reveal a deep insight into the micro-mechanics of the processes that govern the overall behaviour of granular materials.

The experimental determination of the structure or fabric of granular materials from X-ray images remains difficult. The fabric of granular materials can be described as contact, particle or void orientations [28]. Image artefacts, such as noise or blur or especially the inherent “partial volume effect” [7, 37], render a reliable estimation of the contact fabric challenging. Nevertheless, several studies dealt with the description of fabric in soil specimen with X-ray \(\mu \)CT. In [14, 15], a similar strategy as the post-mortem analysis of Oda [28] was conducted: several specimens were prepared and loaded under similar conditions, resin was injected in the specimen and small subsets were cut, and images were acquired using X-ray \(\mu \)CT. These studies, however, suffer from the post-mortem nature of the measurements—it has to be assumed that different specimens have the same initial fabric in terms of all ingredients: particles, contacts and voids, as the fabric might evolve differently for different initial states, which would not allow a quantification of the fabric evolution. For the specimen, we prepared that was hardly ever the case. Thus, it is imperative to conduct experiments with non-destructive measurements. The contact fabric can be extracted from in situ \(\mu \)CT, i.e. the images of the same specimen can be acquired throughout a loading and thus, without destroying the specimen, as, for example, done in [20]. Despite mentioning problems with the determination of the different fabric entities in these and other studies, a quantification of the accuracy of the image analysis tools used to obtain contact information was not reported to our knowledge.

Another approach to explore the grain scale mechanics is a combination of the experimental and numerical approaches. In [9], images of the initial state of several specimen of spherical particles were acquired with X-ray CT. These images were then used to create a numerical assembly from the position and the radii of the particlesFootnote 1 with the discrete element method enabling a numerical simulation of experiments starting at realistic initial states. The discrete element method has the advantage of allowing the exploration of not only the kinematics but also the inter-particle forces, which is not directly available from X-ray tomography. An even more advanced approach using irregular shapes was developed in [24]. In order to describe the arbitrary geometry of natural particles, level sets were employed [36] and a discrete element method using these level sets as shape descriptors was developed. In this way, realistic initial states of specimen consisting of natural sand were imported from images acquired during experiments and used to run these experiments numerically allowing forces also to be studied [25].

The metrology of inter-particle contacts from images was then studied intensively in [38] pointing out the main problems of the standard image analysis, quantifying its accuracy and developing strategies to tackle the identified problems. Two major problems in determining contact orientations were identified: contacts are systematically over-detected, mainly due to the partial volume effect, and depending on the chosen segmentation algorithm, the determined orientations can be biased and experience significant errors to an extent where a quantitative analysis seems questionable. The tools to mitigate these measurement problems were also quantitatively analysed with benchmarks where a reference fabric is created by DEM simulations and turned into realistic images [39]. The key findings and the proposed methods of [38] were validated. In this contribution, these results and developed approaches are employed to extract the contact fabric from images of triaxial compression tests on two different soils. These experiments were already analysed in [3, 4] determining the kinematics throughout the loading with a special focus on the evolution of shear bands. One of the main findings was the importance of grain rotations inside shear bands.

In our contribution, we start from the same images and extract observation windows inside and outside the subsequently forming shear bands in order to determine what happens to the contact fabric within these regions of the specimen. As stated in [4], “A full micro-mechanical description of the kinematics occurring at the grain scale needs to go beyond grain kinematics”, meaning the structure of the contact network, particle orientations and possibly other fabric entities.

2 Measuring contact fabric from images

The images that are used to obtain the full-field measurements are acquired by X-ray tomography. A sequence of radiographies of the specimen at different angular positions is acquired, which serves as the input for the reconstruction of a three-dimensional grey-scale image which is a quantification of the X-ray attenuation coefficient of the material. In order to extract information regarding the contact fabric of the specimen from tomographies, a series of image analysis steps has to be applied to the original grey-scale image. These steps are described briefly in the following section.

2.1 “Classical” image analysis steps

The granular materials tested in the experiments in this study are dry, i.e. all pores are ideally filled with only air making the specimen consist of only two phases: solid and void. The first step of this image analysis is therefore to distinguish solid and void in the original image. It is called binarisation and assigns each voxel in the image a value of either 1 or 0, identifying solid or void voxels, respectively. The threshold to distinguish between solid and void phase is applied globally to the image, i.e. to each voxel individually, and can be calculated either on image statistics [32] or physical quantities. The latter can be determined from the actual volume of the grains that can be estimated by the total mass of the particles and their specific weight. The grey-value distributions in the image series changed during both experiments. To ensure the same treatment of each image, the thresholds for binarisation and for the local contact detection, as explained later, are calibrated separately for each image.

In order to identify individual particles, the binary image has to be segmented and labelled. The standard way of segmenting images of granular materials is to apply a topological watershed. A unique label is then assigned to each segmented particle. These general steps of the image processing are illustrated in Fig. 1.

Fig. 1
figure 1

Image processing steps shown on a slice through a Hostun sand sample: from the initial grey-scale image (left) to a binary image (centre) to a segmented and labelled image (right). Grains that are located on the boundary of the image are excluded from the image

The next steps to determine the contact fabric are the detection of contacts and the determination of their orientation. If two labels are contacting each other directly, the corresponding particles are considered to be in contact. This is checked with a 3 × 3 × 3 “squared” connectivity matrix in which the diagonal elements are equal to zero.

The orientation of each contact can then be determined by fitting a plane onto the contact zone, i.e. the voxels of both labels that are in contact with each other. The fitting process can be performed using a principal component analysis (PCA). The resulting normal vector to the plane is considered to be the contact normal orientation.

2.2 Mitigation of “classical” problems

The image analysis approach briefly described above represents a standard procedure for determining contact fabric. There are, however, several shortcomings to this approach, and that are thoroughly analysed in [38]. The crucial problems found in this study and an approach to deal with them are presented here.

2.2.1 Contact detection

From an imaging point of view, a contact between two particles is an ill-defined concept: two particles can be infinitesimally close to each other but not in contact [5]. In [38], it was found that contacts are systematically over-detected, i.e. particles that are not in contact but close are detected as if they were touching. The reason for the over-detection of contacts is the partial volume effect [7]: an inherent characteristic of any image that occurs at surfaces where voxels are partly filled with the void and partly with the solid phase. In regions where particles are close to each other, the partial volume effects of both particles add up and lead to an increased grey level. The affected voxels might be detected as belonging to the solid phase, and thus, a contact might be detected. As shown in [38], the over-detection is strongly present in images of very rounded and less in angular particles.

An algorithm to reduce the systematic over-detection of contacts was proposed and validated. The detected contacts are fetched from the big image, and a higher threshold is applied locally to the apparent contact region—if the contact still appears as a contact after the local refinement, it is considered as a contact; if not, it is deleted from the list of contacts. If calibrated well, the over-detection can be strongly reduced (but never removed) using this local approach.

2.2.2 Contact orientation

A standard topological watershed [27] was found to yield high errors when contact orientations are determined using the resulting labelled images. The reason is that the PCA is performed on the voxelated surface of the considered contact region, and thus the orientation can be biased towards a preferential orientation, as shown in [38].

The random walker [17], from the family of power watersheds, segments the image by calculating a probability of belonging to a certain particle for each voxel. Using this probability map, the 50% probability surface can be interpolated for each contact, and thus, the contact region can be estimated to a higher degree [22]. Therefore, contact orientations can be determined to a higher accuracy when using the random walker for the segmentation rather than the output of the topological watershed.

However, when the shapes of the particles tend to be angular, additional problems for determining contact orientations arise: the more angular the two touching surfaces, the more error-prone the contact orientation when it is calculated by the watershed methods mentioned above.

3 Experiments

Two triaxial compression tests are analysed in this investigation, on different sands: Hostun sand, a silica sand with an equivalent diameter of \(d_{50} = {338}\,{\upmu }\hbox {m}\), and Caicos ooids, a calcareous sand with \(d_{50} = {420}\,{\upmu }\hbox {m}\). The specimens were prepared by dry pluviation to a dense initial state and have a height of \(\approx {22}\,\hbox {mm}\) and a diameter of \(\approx ~{11}\,\hbox {mm}\). The Hostun sand specimen has a relative density of 83.2% initially. Unfortunately, the relative density of the Caicos ooids specimen could not be measured, as there was too little material to test the packing limits. The initial porosity of the Caicos ooids specimen is 35.2%. The small size was chosen in order to be able to identify individual grains in the image and to remain mechanically representative [4]. The specimens were isotropically compressed to a pressure of 100 kPa and subsequently sheared. The experiments are conducted in the X-ray tomography chamber at Laboratoire 3SR in Grenoble, France, which allows to halt the experiment at chosen stages of the loading and acquire a tomography of the complete specimen. Details on the X-ray scanner can be found in [35]. The tomographies are created by taking many radiographies at different angular positions and reconstructing a 3D image from them using a backprojection algorithm as in [13]. The images were acquired at a voxel size of \({15}\,{\upmu }\hbox {m}/\hbox {px}\). For more details on these experiments and the tomographies, see [1, 3, 4]. The macroscopic response of the two specimens is shown in Fig. 2.

Fig. 2
figure 2

Macroscopic response in the triaxial compression tests on Hostun sand and Caicos ooids. Upper figure: stress–strain curve. Lower figure: volumetric–axial strain curve. Volumetric strain is positive in compression

Figure 3 shows vertical slices of both experiments at chosen states of the loading. These states are indicated in Fig. 2. The slices are created to be perpendicular to the evolving shear band.

Fig. 3
figure 3

Vertical slices through the 3D images of both experiments. The loading states that were chosen are indicated in Fig. 2 of the macroscopic response. The slices are created perpendicular to the shear band. The axes are given for reference

3.1 Analysis of the kinematics

In our previous study [3], the grain kinematics of a subset that would later contain the shear band were determined. Grain rotations were found to be key to determine the onset and the evolution of shear bands.

In the more intensive study [4] on both materials, it was found that the dependence of the size of the shear band on the grain shape originates from the individual grain rotations. Compared to the angular Hostun sand, the rounded Caicos ooids form narrower shear bands in which the grains are able to rotate more freely. The angular shape hinders the grains from moving freely, and thus, the grain rotations are smaller and the shear bands extend wider.

4 Fabric evolution

In this section, some details of the image analysis of the experiments are given. The contact fabric is extracted, and its evolution with the macroscopic loading is shown and analysed for the experiments on Hostun sand and Caicos ooids.

4.1 Image processing

The first crucial step of the analysis is the contact detection. As mentioned above, dealing with spherical shapes causes a high degree of over-detection, whereas over-detection is less present in images of angular particles. Following these results and in order not to lose contacts, the images of Hostun sand are not treated with the local refinement.

Since the shape of Caicos ooids is closer to spheres and more rounded than Hostun sand, a local contact treatment has to be applied. In order to consider the findings on the local contact detection from [38], the grey levels of the images are adapted to get a similar histogram, and thus, similar grey values represent the solid and the void phase. The grey value for the local threshold is chosen to be 160 in the 8-bit grey-scale images,Footnote 2 and thus slightly lower than the optimum of 166 (0.65 in 32-bit images) found in [38] for spheres. This was chosen because it was found that the more angular the shape of the particles, the lower the optimal local threshold to exclude non-existing contacts.

The random walker segmentation is applied to all images for the determination of contact orientations.

4.1.1 Choosing observation windows

The analysis is performed on observation windows within the specimen rather than on the complete specimen. The reason for this decision is the localisation of deformation that occurs during the experiment, as shown above. Analogously to the kinematics evolution [4], we expect the main change in fabric to happen in the zone of localisation. If the complete specimen and thus all contacts would be considered in the expressions later chosen to describe the contact fabric, these descriptors would be smeared and contain all kinds of fabric evolution. Furthermore, this allows a clear spatial separation between the evolution inside and outside the shear bands.

Two windows are chosen for this analysis, see Fig. 4 for the experiment on Hostun sand: (inside) is chosen to contain a part of the forming shear band and (outside) lies well outside the shear band and close to the top platen, which is fixed.Footnote 3 The location for the window inside the shear band is chosen in the last image of the experiment (16 for Hostun sand and 17 for Caicos ooids). Both windows are fixed in space, i.e. they are at identical positions in each image throughout the respective experiment. They are cut from the complete image, then segmented and labelled initially. Grains that are located on the boundary of the window and are thus not completely in the image are excluded from the window as they tend to cause problems in the segmentation.

Fig. 4
figure 4

Choosing the observation windows in the experiment on Hostun sand. The 3D rendering is an image of the state 16 at large axial strain. See Fig. 2 for a reference to the macroscopic response of the specimen

The windows are cubic and have a size of 300 pixels, which corresponds to 4500 μm. In the experiment on Hostun sand, the number of particles in the fixed windows amounts to \(\approx 1400\) outside and varies from 1800 to 1400 inside the shear band. The number of particles in the windows in the experiment on Caicos ooids stays relatively constant throughout the loading with \(\approx 1900\) inside and \(\approx 1400\) outside the shear band.

4.2 Fabric evolution

The two main results of the image analysis are the number and distribution of contacts as well as their orientation.

A possible definition of the contact density is the coordination number, most commonly defined as:

$$\begin{aligned} CN = \frac{2 \cdot N_{c}}{N_{p}} \end{aligned}$$
(1)

where \(N_{c}\) and \(N_{p}\) are the number of contacts and particles, respectively. The determination of this value is rather error-prone due to the systematic over-detection of contacts, as explained above and found in [38]. In this analysis, the orientations of grains with other grains that lie outside of the observation windows cannot be considered as they are not processed in the image analysis. Thus, the coordination number is given here only as a qualitative measurement, and the actual value will not be discussed.

Fig. 5
figure 5

Evolution of the coordination number plotted on top of the volumetric strain in the observation windows of the experiments on Caicos ooids and Hostun sand. The volumetric strain is plotted in black. The coordination numbers inside and outside are plotted with orange and blue lines, respectively

Figure 5 shows the evolution of the coordination number in the windows inside and outside of the shear band for both experiments. The initial state is quite similar in both experiments. The evolution of the coordination number inside and outside the shear band is similar in the first four or three imaged states for Caicos ooids and Hostun sand, respectively. Afterwards, the coordination numbers diverge differently in both experiments. The contact density outside of the shear band in the Caicos ooids sample stays constant while it decreases further inside the shear band until reaching a plateau.

This divergence in the evolution of the coordination number is even more explicit in the windows of the Hostun sand specimen. The coordination number outside of the shear band is quickly evolving to a constant value. Inside the shear band, the coordination number evolves smoothly until reaching an apparently constant value at 10% axial strain. The evolution of the coordination numbers inside the shear band is consistent with the volumetric strain. As the specimen dilates mostly inside the shear band [10], the amount of contacts decreases.

4.2.1 Individual treatment of orientations

Contact orientations can either be described individually or gathered statistically. Two- or three-dimensional rose diagrams [20, 29] are commonly used to plot many orientations. In this work, orientations are plotted directly with a Lambert azimuthal projection of a spherical coordinate system. Orientations are flipped to have a positive z-direction (vertical) such that they can be plotted in the plane. As there are hundreds of contact orientations in the observation windows, these orientations are binned to simplify the understanding of the distribution. The plotting of the orientations is depicted in Fig. 6.

Fig. 6
figure 6

Schematic for the plotting of orientations: from vectors to a Lambert azimuthal equal area projection. The orientations are then binned in order to facilitate understanding plots of thousand of orientations

Fig. 7
figure 7

Triaxial compression test on Caicos ooids COEA01: binned planar plots (Lambert azimuthal projection) of individual contact orientations. The values in the bins are normalised by the average count of orientations per bin

Figure 7 shows the projected orientations of chosen states of the experiment on Caicos ooids. The chosen loading states are marked in Fig. 2. State 01 is the initial state, states 04 and 08 are before and after the stress peak of both experiments, respectively, and state 16 marks a state at large axial strain. The orientations in both observation windows, inside and outside the shear band, are initially almost isotropically distributed. There is a slight concentration of orientation in the vertical direction (that corresponds to the centre of the plot), which is only occurring inside the evolving shear band. Both windows follow a comparable evolution until state 04 with the orientations concentrating in the vertical direction, which is the direction of the major principal stress imposed by the macroscopic loading. After state 04, the fabric in both windows evolves in a different way: the orientations outside the shear band remain almost identical, whereas the orientations inside the shear band concentrate further in the main stress direction. In state 16, the contacts concentrate clearly in a plane (the vertical line in the plot corresponds to the y–z plane in the coordinate system, see Fig. 3 for reference of the axes) that is identical to the shear band as found in the kinematic analysis of this experiment [3]. Thus, these plots show that contacts align in the direction of the shear band (y–z plane).

Fig. 8
figure 8

Triaxial compression test on Hostun sand HNEA01: binned planar plots (Lambert azimuthal projection) of individual contact orientations. The values in the bins are normalised by the average count of orientations per bin

The individual orientations of the experiment on Hostun sand are shown in Fig. 8 for similar states of the loading as described above and shown in Fig. 2. Compared to the experiment on Caicos ooids, the contact orientations in the initial state are concentrated in the vertical direction. Both experiments were prepared identically by pluviation. This preparation, however, affects Hostun sand more strongly, since the initial state in Caicos ooids is almost isotropic. The origin for this characteristic can be found in the shape of the grains.

Furthermore, a similar evolution as in the experiment on Caicos ooids can be observed. The orientations inside the evolving shear band tend to align stronger towards the vertical direction. Outside the shear band, the contact orientations return to its initial state after state 04 and the onset of the localisation process.

Although observations can be made with these planar plots of the individual orientations, they are not convenient to follow an evolution and relate it with the macroscopic response of the material. The evolution is better followed by looking at the mean inclination. The inclination \(\theta \) is the angle that is formed between the orientation and the z-axis:

$$\begin{aligned} \theta = \arccos \left( \frac{z}{\sqrt{x^2 + y^2 + z^2}} \right) \end{aligned}$$
(2)
Fig. 9
figure 9

Fabric evolution in both experiments. Upper figures: evolution of mean inclination with the macroscopic loading. Lower figures: evolution of the anisotropy factor with the macroscopic loading

Figure 9a displays the evolution of the mean inclination of all contact orientations in the respective observation windows in the triaxial compression test on Caicos ooids. They are plotted on top of the stress response \(\sigma _{1} / \sigma _{3}\) of the specimen in order to facilitate relating one to another. The mean inclination is equal to \(0^{\circ }\) for purely vertical (loading direction) and \(90^{\circ }\) for purely horizontal orientations. Both windows start from a similar mean inclination and follow the same evolution initially: the mean inclination decreases. Up until 1% of axial strain, the inclination in both windows decreases similarly, before the decrease outside the shear band slows down and reaches an approximately steady state at 2.5% of axial strain. The mean inclination inside the shear band increases constantly before it arrives at a peak at 4%. After the peak, it decreases until reaching what might be a steady state at 9% of axial strain.

The evolution of the mean inclination inside the shear band tracks the stress response with a slight delay. The minimum of the inclination occurs slightly later than the stress peak. It must be pointed out that the fabric measurements are restricted to the chosen stages of the experiment unlike the measurements at the boundary of the specimen that are acquired continuously.

The evolution of the mean inclination in the experiment on Hostun sand is shown in Fig. 9b. The initial trend of the mean inclination in this experiment is qualitatively similar to the experiment on Caicos ooids: the inclination decreases in both windows until both evolutions diverge at \(\approx \)  1.5% axial strain. Inside the shear band, the mean inclination decreases further until reaching a minimum at 3%. Contrary to the experiment on Caicos ooids, the minimum of the mean inclination is flat until 10% of axial strain and then increases again. The mean inclination outside the shear band returns approximately to the initial value and seems to fluctuate around this value.

Generally, the evolution of the mean inclination is more pronounced in the experiment of Caicos ooids. The range of values is larger, and the development of a peak is clearer. This general trend for both materials—steep initial change, plateau and fall-off—resembles the stress response for each material.

4.2.2 Statistical treatment of orientations

In order to express all orientations statistically, a fabric tensor is commonly used. In this work, we employ a second-order fabric tensor and follow the derivations by Kanatani [23]. The fabric tensor \(\mathbf {N}\) is expressed as the sum of the tensor products of all orientations \(\mathbf {o}^{\alpha }\):

$$\begin{aligned} \mathbf {N} = \frac{1}{N_{c}} \sum _{\alpha = 1}^{C} \mathbf {o}^{\alpha } \otimes \mathbf {o}^{\alpha } \end{aligned}$$
(3)

where \(N_{c}\) is the number of contacts. The main interest of this analysis is the evolution of the anisotropy of the fabric tensor. The anisotropy of a tensor is expressed by the deviatoric part of the tensor. In [23], this is given by the fabric tensor of the third kind \(\mathbf {D}\):

$$\begin{aligned} \mathbf {D} = \frac{15}{2} \left( \mathbf {N} - \frac{1}{3} \mathbf {I} \right) \end{aligned}$$
(4)

There are many different ways of exploring the evolution of fabric from these tensors, e.g. the eigenvectors, their directions with regards to the principal stress directions, etc. However, we are mainly interested in the anisotropy of the fabric tensor and employ a scalar anisotropy factor a that can be derived from the fabric tensor of the third kind \(\mathbf {D}\) [18]:

$$\begin{aligned} a = \sqrt{ \frac{3}{2} \mathbf {D}:\mathbf {D} }. \end{aligned}$$
(5)

This anisotropy factor describes the spread of the orientations. For an isotropic system, the scalar anisotropy factor equals zero, and for a highly anisotropic one, it converges to 7.5, due to the choice in Eq. (4).

To include the uncertainties of determining contact orientations that were quantified in [38], we employed the uncertainties package for Python [26]. In the metrological study, the mean error for the angular Hostun sand was found to be \(\approx \)  15\(^{\circ }\); the one for manufactured spheres \(\approx \)  3.3\(^{\circ }\). These errors are propagated from the individual orientations to the scalar anisotropy factor, and their impact is given in the form of error bars in Fig. 9c, d. It has to be remarked that the resulting error becomes small because the error of each individual orientation is propagated through Eqs. (3)–(5) and thus multiplied and summed over more than a thousand contacts in each image. Since the error for determining contact orientations is very small for rounded particles, the error bars are not visible in Fig. 9c.

The evolution of the scalar anisotropy factor for the experiment on Caicos ooids is plotted in Fig. 9c. It is important to note that despite the fact that the sample has been prepared with air pluviation with particles falling vertically, there is practically no anisotropy in the initial fabric. This means that the initial inclination angle from the vertical in both windows is very weak. The evolution of the anisotropy factor—in this case a slow monotonic evolution outside the band, and a fast evolution with a turning point inside the band—reflects the changes in inclinations shown above. The reason for the resemblance is that the contact orientations mainly rearrange in the direction of the main principal stress, the vertical direction. The anisotropy covers all directions, not only the vertical, but as mainly the vertical components change, the two evolutions coincide qualitatively.

The fabric in both observation windows experiences similar evolutions until 1–2% of axial strain after which they diverge. Outside the shear band, the contact fabric anisotropy reaches a plateau at 2% axial strain which is expected from the measurements of the kinematics [4]. This region of the specimen seems to behave as a rigid body after the onset of strain localisation, which happens well before the peak stress is reached. The contact anisotropy inside the shear band reaches the peak at \(\approx \) 4% axial strain and decreases to a steady state at 5.5%. This evolution appears to be slightly delayed from the stress response. As the contact fabric is initially almost isotropic, it must rearrange before the contact anisotropy can follow the stress evolution and the orientations can start to align with the main loading direction.

Figure 9d shows the evolution of the contact fabric anisotropy from the experiment on Hostun sand. Again, the evolution of the anisotropy coincides with the evolution of the mean inclination of all contact orientations in the respective window in Fig. 9b for the same reasons as described above. The anisotropy in both observation windows agrees for the first five load stages and deviates afterwards. As it is expected and qualitatively similar to the experiment on Caicos ooids, the anisotropy outside of the evolving shear band decreases at the onset of the localisation of deformation and stays relatively constant at its initial value. The anisotropy inside the shear band reaches a peak at approximately similar axial strain as the stress reaches its peak. Compared to the experiment on Caicos ooids, the peak is flat and the anisotropy decreases at a slower rate. The evolution of the contact fabric anisotropy resembles the stress evolution.

In order to represent information on the complete tensor, rather than only the scalar anisotropy defined in (5), a 3D surface of its density function can be plotted. The distribution density function for the second order deviatoric fabric tensor \(\mathbf {D}\) reads [23]:

$$\begin{aligned} f \left( \mathbf {n} \right) = \frac{1}{4 \pi } \left( 1 + D_{ij} o_{i} o_{j} \right). \end{aligned}$$
(6)

The density is calculated for a set of distributed orientations \(o_{i}\) in 3D.

Fig. 10
figure 10

Experiment on Cacois ooids: surface plots of the distribution density of the deviatoric fabric tensor \(\mathbf {D}\) for the chosen loading states. Upper row: plots for the observation window inside the shear band. Lower row: plots for the observation window outside the shear band

Figure 10 shows the distribution density of the deviatoric fabric tensor \(\mathbf {D}\) for the experiment on Caicos ooids for the loading states marked in Fig. 2. Initially, as expressed by the anisotropy factor, the contact fabric is almost isotropic, and thus, the shape of \(\mathbf {D}\) is close to spherical. Inside the shear band, the deviatoric tensor evolves into a peanut shape with increasing shear. From the states plotted, the deviatoric tensor takes the strongest anisotropic shape in state 08, although the anisotropy factor is only slightly higher than in state 04. At the highest axial strain, the distribution density features a strong formation in the x–z plane, which corresponds well with the plots of the individual orientations, see Fig. 7. The shear band forms in the x–z plane, as shown in Fig. 3, and thus is well captured by the deviatoric fabric tensor. This means that the majority of contacts inside the shear band is oriented in the plane in which the shear band is forming.

Outside of the shear band, the deviatoric fabric is evolving less strongly, as observed in both the plots of the individual orientations and the anisotropy factor. The shape develops into similarly but far less pronounced as inside the shear band.

Fig. 11
figure 11

Experiment on Hostun sand: surface plots of the distribution density of the deviatoric fabric tensor \(\mathbf {D}\) for the chosen loading states. Upper row: plots for the observation window inside the shear band. Lower row: plots for the observation window outside the shear band

The distribution density of \(\mathbf {D}\) for the experiment on Hostun sand is plotted in Fig. 11, see Fig. 2 for a reference of the chosen loading states. The initial state inside the later forming shear band as well as outside already shows an anisotropic deviatoric fabric. Furthermore, this initial fabric is slightly different in both observation windows—the window outside is tilted towards the x–y direction compared to the window inside. This suggests that the fabric state of the specimen is heterogeneous in the initial state, although the anisotropy factor is almost similar for both windows. This highlights the importance of expressing more than just an anisotropy, as the fabric can exhibit a different direction with an equally spread distribution.

With ongoing loading, the deviatoric fabric then evolves into a peanut shape, as in the case of the experiment on Caicos ooids. The most significant shape is developed in state 08, which agrees to the highest value of the anisotropy factor. At the highest strain, the fabric is slightly tilted towards the x–y plane. This again agrees well with the shear band at this loading state as depicted in Fig. 3.

The fabric in the window outside of the shear band develops to a more anisotropic fabric, i.e. peanut shape, in state 04, before it goes to a slightly more isotropic state than it started with. This evolution is captured well with the anisotropy factor.

The experiments on both materials differ not only in their macroscopic response, but also in the fabric states and evolution. Although the preparation of the specimens was similar, the initial fabric is different: the specimen of Caicos ooids has an almost isotropic initial contact fabric with \(a \approx 0.06\) , whereas Hostun sand starts with a significantly higher anisotropy of \(a \approx 0.42\). The origin of the higher initial anisotropy of the contact fabric in Hostun sand appears to be the shape of particles. Caicos ooids are rounded particles that, even though the particles were pluviated, form an almost isotropic contact network. Hostun sand on the contrary has an angular shape and thus forms an initially more anisotropic contact network. Furthermore, the angular shape results in a less pronounced change in fabric because the grains are easier locked in place which makes rearrangements harder than for less angular, rounded or even spherical shapes: the change in contact fabric anisotropy for Hostun sand is \(\varDelta a \approx 0.5\), whereas it is higher for the more rounded Caicos ooids \(\varDelta a \approx 1.5\) inside the evolving shear band. Furthermore, in the case of Caicos, the anisotropy of the contact orientations when the shear band is mature is far from axisymmetric, as is visible in Figures 7 and 10, where contacts are aligned to a plane whose azimuth is the same as the shear band.

Another characteristic to point out is the rate at which the contact fabric reacts to the applied loading. In comparison with the stress evolution, the evolution of the contact fabric inside the shear band of the Hostun sand specimen increases quickly compared to Caicos ooids, where the anisotropy appears to be lagging behind the stress response. This delay can be caused by the initial contact fabric: as it is almost isotropic, the contact fabric needs loading to adjust and finally arrange in the main loading direction. The Hostun sand specimen already starts from a contact fabric that is directed towards the main stress direction and thus may allow a faster reaction to the imposed loading. These findings partly contradict the observations in [14]: a relation between deviatoric fabric and stress is evident as described. The extent is however dependent on the material and the initial state of the specimen. Furthermore, we do not observe an initial decrease in anisotropy that would contradict the results of DEM simulations as in [33].

The variations in the anisotropy outside the band are apparently stronger in the experiment on Hostun sand compared to Caicos. This is due to the higher uncertainty of the determination of contact orientations. As Hostun sand has an angular shape, the error of the contact orientations is higher than for the rounded Caicos ooids. Furthermore, the angular shape introduces more challenges for the definition of what the contact is, see [38] for an analysis regarding the influence of the shape.

5 Summary and outlook

Thanks to the metrological study [38], here we extract the contact fabric from X-ray \(\mu \)CT images of two triaxial compression tests using the developed approaches and considering the identified problems.

These experiments have already been analysed regarding the kinematics happening at the grain scale, determining both strains and displacements and rotations of individual particles [3, 4]. These studies focused on the development of shear localisation and especially the role of particle rotations on the onset and forming of shear bands. Analogous to [3], we analyse the contact fabric in an observation window that later contains the developing shear band. Additionally, a window outside the evolving shear band is chosen to complement the contact fabric analysis.

The contact fabric is analysed in terms of the coordination number, individual orientations and a second-order fabric tensor. An anisotropy factor and the distribution density of the deviatoric fabric tensor are chosen to describe the evolution of fabric throughout the experiments. Before the onset of the localisation process, the contact fabric behaves similarly in both windows: the anisotropy increases and the orientations start to align with the main stress direction. After the onset of the strain localisation, the contact fabric in both widows takes different evolutions as expected. The contact density in the shear bands decreases, whereas it stays relatively constant outside. The anisotropy within the evolving shear band further increases until reaching a peak and decreases afterwards to reach what could be a residual state. The orientations further align with the applied principal stress direction. The anisotropy outside of the shear band decreases close to its initial value after the onset of localisation and stays relatively constant. Both evolutions are expected from the micro-mechanical analysis of the kinematics in [4], where the main kinematic changes, especially rotations of grains, were detected inside the shear band and comparably much smaller and random kinematics happening outside the shear band.

These results are mainly similar for the experiments on both materials, Hostun sand and Caicos ooids. The two evolutions exhibit similar characteristics compared to the corresponding macroscopic stress response. The main difference is the rate of change of the anisotropy, i.e. the speed at which the fabric reacts to the macroscopic loading, and the range of the anisotropy, which is larger for the rounded Caicos ooids. Both differences can be linked to the different shapes of the grains and the inter-particle friction of the two different materials.

Although these findings are striking and crucial for a full micro-mechanical description, they have to be regarded with care. The determination of contact properties in Hostun sand is still problematic, as pointed out in [38]. Thus, some further advancements on the metrology of contacts in angular granular matter are required. In order to validate and complement these findings, the experimental study has to be extended: both by repeating these tests and by varying initial conditions, i.e. initial density and mean stress.

Nevertheless, these applications on small observation windows open the door to further analyses. One aim will be the analysis of complete specimen keeping in mind that the scale at which we observe mechanisms, a fabric tensor will be smeared when computing it from the orientation of all particles in a experiment where strain localises, because the contact fabric does too, as shown in this contribution. This, however, can be important in experiments where the strain does not necessarily localise or does so only weakly. Another aim is to investigate different loading situations. So far, the triaxial compression test has almost been the exclusive experiment that was experimentally studied regarding the micro-mechanics at the grain scale. This has to be and will be extended to cyclic loading as well as oedometric or isotropic loading experiments.