Introduction

Pore geometry, tortuosity, grains size and shape are properties that are important to describe and characterise fluid flow in shale rock. However, getting a single material point measurement at which this shale rock property is determined depends on the ability to accurately extract information from its structure.

Determination of the nature and extent of heterogeneities at pore scale can enhance fluid characterisation in porous media. In shale rock, variability is extreme, because shales are detrital sediments formed as a result of alteration of mud or clay deposits. They occur as fine-grained rich in illite and fragments with particle sizes generally less than 0.062 mm (Leith 2016). Hence, its petrophysical properties (lithology, porosity, permeability water saturation) become difficult to evaluate.

Another major challenge of shale petrophysical evaluation is its heterogeneity as this makes quantification of porosity and other properties difficult. These parameters depend on knowing the details of how shape or size grains (Milner et al. 2010), pore throats (Curtis et al. 2012) and tortuosity (Bai et al. 2013; Katsube et al. 1991) are distributed. Several studies have reported the complex microstructure of the shale rocks (Curtis et al. 2012), heterogeneity of shale rocks (Chen et al. 2013) as well as microcracks (Bai et al. 2013) without necessarily quantifying the degree of heterogeneity. Extensive research into the effects of particle shape and polydispersity on flow through porous media using synthetic models has shed more light on how pore geometry and complexity of different porous media affect porosity and permeability (Mota et al. 2005; Garcia et al. 2009). However, little has been performed to fully characterise same in unconventional shale geometries.

Microcomputed tomography (micro-CT) is one of the most powerful non-destructive imaging techniques that can be used to characterise the microstructure of porous materials at the microscopic scale (Rozenbaum and du Roscoat 2014). Over the years, this technique has contributed immensely to the understanding and characterisation of fluid flow through pore geometries of shale rocks (Watson and Mudra 1994; Boruah and Ganapathi 2015). Ma et al. (2016) recently reported that they were able to scan sample size of 100 µm and obtained spatial pixel size of 130 nm. This, however, brings about the question of the ability of the acquired images to adequately represent the microstructural characteristics of the data sets. In order to simulate fluid flow processes, an average of seven grains diameter is required for a fully developed representative elemental volume (REV) (Garcia et al. 2009).

Replacing a heterogeneous property of the rock with an equivalent homogeneous one through a continuum description could best be done through REV method, which represents appreciable property to capture the heterogeneity (Bear 1972). This analysis is carried out by plotting different sample volumes with their corresponding measured property. As shown in Fig. 1, the measured property (n) varies intensely with small changes in the sample length (L) and begins to reduce until measured property is relatively insensitive to small changes in volume or location. Then, representative amount of porosity can be confidently determined (Bear 1972). According to Sahimi (1995), since the continuum approach breaks down if the correlation lengths in the system approach the size of the system, it is important to evaluate the effect of various length scales at which the system may be considered homogeneous.

Fig. 1
figure 1

Graphical representation of how representative elementary volume (REV) is determined for a specific property (Bear 1972)

In this paper, we developed a workflow for the characterisation of heterogeneity of unconventional shale rock samples. The degree of heterogeneity was evaluated using 1 microcomputed tomography (micro-CT) image from Eagle Ford parallel. The sample was divided into 96 for descriptive statistical analysis. Meanwhile, REV for porosity was evaluated using a set of two microcomputed tomography (micro-CT) images from Eagle Ford parallel and perpendicular. Finally, corner point reference techniques where each of the sample was cropped into 7 were used to achieve REV for porosity. The images were processed, digitised, thresholded, segmented and each feature captured using marching cube algorithm. This allows the segmentation of each sample into four distinct entities, consisting of pores, organic matter, shale grains and minerals.

Image acquisition and processing

The 3D image of the samples used for the analysis was obtained using an industrial micro-CT device phoenix v|tome|x s. It has a 180-kV, micro- and nano-focus X-ray tube and digital detector array (1000 × 1000 pixels). The flow chart for this study is shown in Fig. 2. Full sample (Fig. 2a) was placed in the sample holder, and 6.7 mm size was scanned by rotating it 360°, and the signal-to-noise ratio used for the acquisition of these data was 37.8%. The resulting projections were converted into a 3D image stack using the PhoenixImaging resolution 3D reconstruction software developed from filtered backprojection Feldkamp algorithm (Feldkamp et al. 1984). The detailed procedure for the sample imaging can be found in Singhal et al. (2013).

Fig. 2
figure 2

a Eagle Ford (EGF) shale rock sample obtained parallel to the bedding plane. b Micro-CT image of the shale sample at resolution of 6.7 μm showing 3D volume raw data with artefacts. c The 3D volume after artefacts have been removed. d Graphical annotation design of six (6) REV image windows of 50, 100, 200, 300, 400, 500 and 600 μm pixel length. e Graphical annotation design of ninety-six (96) 1 mm × 1 mm × 1 mm subsamples for REV and heterogeneity analyses, respectively. f Sample description used for heterogeneity analysis. Note: The length of each subsample is denoted by \( l_{x} \) where \( x \in \left\{ {1, 2, 3, 4, \cdots ,n} \right\} \) and total length \( L = \mathop \sum \nolimits_{x = 1}^{n} l_{x} \)

In order to accurately estimate petrophysical properties of the samples, proper segmentation of solid(s) and void phases takes a priority. Segmentation involves the segregation of the grey-level voxels of the 3D image into distinct phases. The presence of artefacts such as streaks, brightness, non-uniformity, and phase-contrast fringes at edges and/or noise would reduce the accuracy of segmentation of these 3D images (Ketcham and Carlson 2001) and subsequently lead to misidentification of shale components (Fig. 2b). Due to complex intrinsic shale properties, advanced image processing such as artefact removal and multiband thresholding is necessary (Iassonov et al. 2009). In addition to acquiring high-quality images, the images were cropped to remove edges artefacts present (Fig. 2b). This will also reduce the processing power requirements of the computing machine.

Polygon surface representation: marching cubes algorithm

The marching cube algorithm is applied to reconstruct a surface CT scan volumetric data sets. It generates inter-slice connectivity, through linear interpolation of the scan line to calculate triangle vertices. The algorithm works in two steps: initially the surface that matches to the user-specified value is located, and subsequently, the normal to the surface of each vertex of each triangle is calculated.

The algorithm basically operates by determining how the surface intersects one cube and then proceeds (marches) to the subsequent cube. Full details of the implementation of the marching cube algorithm can be found in Lorensen and Cline (1987). In summary, the marching cubes algorithm for creating a polygonal surface representation of an isosurface is given as follows:

  1. 1.

    Four slices are read into the memory;

  2. 2.

    Two slices are scanned to form a cube from neighbouring slices, and four others from the next slice;

  3. 3.

    By contrasting between the density values of the eight vertices while keeping the surface constant, the cube index can be calculated;

  4. 4.

    From the index value obtained, using a pre-calculated table, a list of edges is determined;

  5. 5.

    Applying linear interpolation to find the surface edge intersection using the densities at each vertex edge;

  6. 6.

    The unit normal at each cube vertex is calculated using central difference approach and interpolating the normal to each triangle vertex by using the equations:

    $$ G_{x} \left( {i,j,k} \right) = \frac{{D\left( {i + 1,j,k} \right) - D\left( {i - 1,j,k} \right)}}{\Delta x}, $$
    (1)
    $$ G_{y} \left( {i,j,k} \right) = \frac{{D\left( {i,j + 1,k} \right) - D\left( {i,j - 1,k} \right)}}{\Delta x}, $$
    (2)
    $$ G_{z} \left( {i,j,k} \right) = \frac{{D\left( {i,j,k + 1} \right) - D\left( {i,j,k - 1} \right)}}{\Delta x}, $$
    (3)

where \( D\left( {i,j,k} \right) \) is the density at pixel (i, j) in slice k and \( \Delta x, \Delta y,\Delta z \) are the lengths of the cube edges. When the gradient is divided by its length, it produces the unit normal at the vertex required for rendering.

  1. 7.

    Output the vertex normal and triangle vertices.

Representative elementary volume (REV) approach

In pore-scale modelling, smaller subsamples can be treated as REV in order to be used in the evaluation of Darcy fluxes. REV is assumed to be obtained when the computed variable (in this case porosity) plotted against increasing sample size (Fig. 2d) does not change significantly at a plateau value (e.g. Figure 1). This is particularly useful when determining what sample to be used in modelling and simulating fluid flow through them.

In order to evaluate deterministic REV, each sample was further incrementally cropped into seven subsamples using corner point reference technique (see Fig. 2d). From the origin (at x, y, z = 0), we extract seven (7) three-dimensional subsample image windows of 50, 100, 200, 300, 400, 500 and 600 μm pixel lengths. The length of each subsample is denoted by \( l_{x} \) where \( x \in \left\{ {1, 2, 3, 4, \ldots ,n} \right\} \) and \( {\text{total}}\,{\text{length}},L = \mathop \sum \nolimits_{x = 1}^{n} l_{x} \) (Fig. 2d). Similar REV data to the conceptual diagram shown in Fig. 1 were obtained for each sample, for porosity variable. REV was determined using the approaches of Costanza-Robinson et al. (2011) and was taken as the minimum window length scale (l) at which the absolute value of the relative gradient error (\( \varepsilon_{g} \)) in the porosity (\( \emptyset \)) remained below 0.003:

$$ \varepsilon_{g} = \left| {\frac{{\emptyset^{{l_{x} + 1}} - \emptyset^{{l_{x} - 1}} }}{{\emptyset^{{l_{x} + 1}} + \emptyset^{{l_{x} - 1}} }}} \right|\frac{1}{\delta } $$
(4)

where l is the window increment identity/number and \( \delta \) is the magnitude of \( l_{x} \). In physical terms, the relative gradient error REV criterion requires changes in the measured variable over a given length-scale increment to be relatively small proportional to the increment size.

The choice of the \( \varepsilon \) criterion (e.g. <0.002) depends on region II analysis given by (Bear 1972). Costanza-Robinson (2011) states that the semi-quantitative \( \varepsilon \) approach used here is advantageous because it makes REV estimation to be automated and reproducible across numerous images. This allows quantitative relationships between REV and other variables to be readily evaluated; however, it is not applicable to shale rocks which are highly heterogeneous.

Image processing and heterogeneity analysis technique

In order to investigate the degree of sample heterogeneity, each image sample was subdivided into 1 mm × 1 mm × 1 mm as shown in Fig. 2e. Hence, x, y, z represent row (R), layer (L), and column number (N), respectively. Pore volume was measured for each of the subcropped samples after processing (Fig. 3).

Fig. 3
figure 3

Illustration of calculation of absolute value of the relative gradient error

Each of the subcropped images was morphologically processed. A morphological filtering algorithm opens up holes and gaps in a mask to get rid of small and potentially spurious features. This is to enhance component segmentation (foreground from background as the case may be, Fig. 4a, b).

Fig. 4
figure 4

Micro-CT image of Eagle Ford shale rock sample obtained parallel to the bedding plane at resolution of 6.7 µm and physical extent is 1 mm × 1 mm. a 2D view of typical subsample before morphological processing. b 2D view of typical subsample after morphological processing

In order to estimate physical properties and identify pore space as well as other components of each of the Eagle Ford parallel shale rock samples, manual greyscale thresholding was used to segment the images and to distinguish all its entities. Thresholding is a common technique used in segmentation; it assigns all the pixels that belong to the object based on their grey colour or brightness (represented by grey values) into individual group (Young et al. 1998). This option selects a window of greyscale values and is useful where segmentation can be achieved based on greyscale intensities. Only pixels that have a greyscale value within the lower value and upper value were included in segmentation created by the thresholding tool. Starting with the darkest sections (i.e. the lowest density material, typically pores) to the brightest sections (i.e. highest density material, typically shale grains, organic matter and mineral components), eight (8) components were segmented. These eight (8) entities were identified with the names pores, organic matter, Shale grain 1 (SG1), Shale grain 2 (SG2), Shale grain 3 (SG3), Shale grain 4 (SG4), Shale grain 5 (SG5) and Minerals. The range of greyscale values used in the thresholding of the main sample is shown in histogram (Fig. 5). However, the major mineral identified is pyrite because of its high density compared to other possible constituent minerals in a typical shale rock sample. Its identification is also in agreement with the previous research (Drillskill et al. 2013; Joe et al. 2007). Each entity surface is captured using marching cube algorithm (see “Polygon surface representation: Marching cubes algorithm” section for further description of the marching cube algorithm). Marching cube is used to capture an isosurface by a divide-and-conquer approach of a region of space into 3D. The cube is created logically from eight pixels/vertices of a cell. Each of the vertices is assigned a value. The value at each vertices of each box is compared to the designated minimum value, and any value less than or equal to the minimum is inside the surface (Lorensen and Cline 1987). Figure 6 shows 3D and 2D of pores, organic matter and minerals for subsample L1R1N1.

Fig. 5
figure 5

A typical histogram showing the thresholding greyscale values of identified components

Fig. 6
figure 6

Micro-CT image of Eagle Ford shale rock subsample L1R1N1 at resolution of 6.7 µm and physical extent of 1 mm × 1 mm × 1 mm. Subsample with a segmented three-dimensional CT images showing pores (red), organic matter(turquoise) and minerals (green), e.g. pyrite. b Segmented two-dimensional CT images showing pores (red), organic matter (turquoise) and minerals (green), e.g. pyrite

Statistical tools for the analysis of pore geometry

Descriptive analyses were employed in order to estimate statistical measure of central tendency and dispersion necessary to organise and summarise pore information.

Mean and standard deviation of pore volume

The mean of pores is computed using Eq. 5. Pores volume was labelled in each sample as \( x_{1} , x_{2} , \ldots\,\ldots\,\ldots,x_{N} , \) where x 1 is the first pore volume, x 2 is the second and so on until the last pore which is x N , where N is the population size. Hence, the population mean µ can be calculated as (Keller 2014):

$$ \mu = \frac{{\mathop \sum \nolimits_{i - 1}^{N} x_{i} }}{N} $$
(5)

The standard deviation σ is thus calculated to measure variability of the pore volume in the sample:

$$ \sigma = \sqrt {\frac{{\mathop \sum \nolimits_{i - 1}^{N} \left( {x_{i} - \mu } \right)^{2} }}{N},} $$
(6)

Measure of dispersion: population skewness and kurtosis

For further characterisation of the pore volume distribution data, the population skewness (\( b_{1} \)) is thus calculated:

$$ b_{1} = \frac{{\frac{1}{N}\mathop \sum \nolimits_{i - 1}^{N} \left( {x_{i} - \mu } \right)^{3} }}{{\left[ {\frac{1}{N - 1}\mathop \sum \nolimits_{i - 1}^{N} \left( {x_{i} - \mu } \right)^{2} } \right]^{{\frac{3}{2}}} }} , $$
(7)

and kurtosis \( G_{2} \) is calculated as:

$$ G_{2} = \frac{{\left( {N + 1} \right)N}}{{\left( {N - 1} \right)\left( {N - 2} \right)\left( {N - 3} \right)}}\frac{{\mathop \sum \nolimits_{i - 1}^{N} \left( {x_{i} - \mu } \right)^{4} }}{{k_{2}^{2} }} - 3\frac{{\left( {N - 1} \right)^{2} }}{{\left( {N - 2} \right)\left( {N - 3} \right)}} , $$
(8)

where k 2 is the unbiased estimate of the second cumulant (i.e. sample variance) (Joanes and Gill 1998).

Unlike skewness which was used to measure lack of symmetry of the frequency curve of the pore volume distribution, we used kurtosis to evaluate the degree of flatness of pore volume distribution near its centre. This will be the extent to which the sample pore volume tails, lighter or heavier, in relation to a normal distribution. Sample pore volume data may show heavy tail (long tails) or light tail (short tails) depending on the presence or lack of microcracks. Hence, kurtosis could be classified as platykurtic, mesokurtic and leptokurtic when the value is less than 3, equal to 3 and greater than 3, respectively.

Results and discussion

Pore volume characterisation

In this section, we compare two algorithms for the computation of pore volume in order to determine the accuracy of the applied methods to be adopted in the computation of the properties on all the samples. The two methods available for pore volume computation are voxel method (VOX) and object-oriented bounding box (OBB). Voxel method is computed using the equation:

$$ V_{\text{xel}} = f \times \eta , $$
(9)

where \( V_{\text{xel}} \) is pore volume, f is the frequency and η is the voxel size, while the OBB method is computed using marching cube algorithm presented in “Statistical tools for the analysis of pore geometry” section.

In order to further evaluate the degree of accuracy of the two numerical algorithms, pore volume computation using simulation-based OBB and simulation-based VOX was compared with analytically calculated method (ANA). The computation of the pore volumes using ANA is similar to the VOX method, but, unlike the VOX method where the voxels were selected for computation numerically, the voxels count in ANA method was identified manually.

Figures 7 and 8 show the pore volume distribution for subsamples L2R2N3, L3R2N3, L5R2N3 and L6R2N3 using VOX and OBB methods. It can be seen that small pore volumes have higher frequency while big pore volumes have lower frequency. This observation is consistent in both methods. However, comparing the two methods, it is evident that OBB method over-predicted the number of pores with reference to a specific pore volume. For instance, for the class of pores with volume of 8000–8500 µm3 as shown in both Figs. 7 and 8, OBB over-predicted by up to a factor of 5 compared to the VOX method. This overestimation can be attributed to the result of marching cube algorithm over-circumscribing the pore volume especially as the voxel sizes increase.

Fig. 7
figure 7

Pore volume distribution of subsamples L2R2N3 (green), L3R2N3 (pink), L5R2N3 (black) and L6R2N3 (cyan) obtained from voxel method

Fig. 8
figure 8

Pore volume distribution of subsamples L2R2N3 (green), L3R2N3 (pink), L5R2N3 (black) and L6R2N3 (cyan) obtained from object-oriented bounding box method

Similar analysis was conducted to evaluate the degree of accuracy for the computation of three (3) entities: pore volume fraction (Fig. 9), organic matter volume fraction (Fig. 10) and minerals volume fraction (Fig. 11). For this purpose, the total volume of voxel was plotted against voxel number for each of the three (3) entities for the subsample L1R1N1. Figure 9 shows that the results of pore volume computation were the same and consistent for the simulation-based pore volume OBB, simulation-based pore volume VOX and the analytically calculated method ANA only when the voxel number is not more than 3. However, appreciable deviation of simulation-based pore volume (from OBB method) was observed from voxel number 3 and above. For instance, when voxel number is 95, simulation-based pore volume result was about seven (7) times more than the other two methods. Similar variation is observed in Figs. 10 and 11; however, the difference was observed much earlier starting from voxel number 3 (Fig. 10).

Fig. 9
figure 9

Comparison of methods of computing pore volume fraction using ANA, VOX and OBB methods

Fig. 10
figure 10

Comparison of methods of computing organic matter volume fraction using ANA, VOX and OBB methods

Fig. 11
figure 11

Comparison of methods of computing minerals volume fraction using ANA, VOX and OBB methods

In general, Table 1 summarises the comparison of the three methods explained above for the computation of volume fraction of pores (pore volume), organic matter and minerals using the total volume of voxel. It shows that object-oriented bounding box method always over-predicts bigger entity. From this investigation, it is therefore evident that the two numerical algorithms diverge in cases where the sample is much more in mineral components. To this end, the descriptive statistics will be done with simulation-based pore volume voxel (VOX) method.

Table 1 Comparison of methods of computing volume fraction of pores, organic matter and minerals using voxel and object-oriented bounding box methods

Histogram of the pore volume distribution for subsamples L1R4N4, L2R1N1, L2R1N2, L2R2N2, L4R1N3, L4R2N3 and L6R1N1 is shown in Figs. 12, 13 and 14. They all have exponential decay trend similar to pore-size distribution presented by (Curtis et al. 2012; Chen et al. 2013). The results of subsample analysis for Eagle Ford parallel indicated varying range of pore volume distribution. Figure 12 shows subsamples L2R1N1 and L6R1N1 as the lower boundary and the upper boundary of pore volume distribution across the layers, respectively, while in Fig. 13, the subsamples L1R4N4 and L6R4N4 are the lower boundary and the upper boundary of pore volume distribution across the layers, respectively. However, in Fig. 14, subsamples L2R1N2 and L2R2N2 are the lower boundary and the upper boundary of pore volume distribution within the layer 2, respectively. Also, subsamples L4R1N3 and L4R2N3 are the lower boundary and the upper boundary of pore volume distribution within the four (4), respectively.

Fig. 12
figure 12

Pore volume distribution of subsamples L2R1N1 (green), L6R1N1 (cyan) obtained from voxel method. L2R1N1 is the lower boundary, while L6R1N1 is the upper boundary across the six layers

Fig. 13
figure 13

Pore volume distribution of subsamples L1R4N4 (blue), L6R4N4 (cyan) obtained from voxel method. L1R4N4 is the lower boundary, while L6R4N4 is the upper boundary across the six layers

Fig. 14
figure 14

Pore volume distribution of subsamples L2R1N2 (green), L2R2N2 (green), L4R1N3 (red) and L4R2N3 (red) obtained using voxel method. L2R1N2 is the lower boundary, while L2R2N2 is the upper boundary across the row. L4R1N3 is the lower boundary, while L4R2N3 is the upper boundary across the row

Figures 12, 13 and 14 show that not only do pore diameters have wide range of values but also that their quantities vary immensely across the subsamples considered.

For subsample L2R1N1 shown in Fig. 12, the frequency of pore volume within the range 1–500 is less than 10 but in L6R1N1 (Fig. 12), magnitude order of 2 was recorded. If we consider volume distribution plots for subsamples L1R4N4 and L6R1N1 in Fig. 13, it can be seen that more different pore volumes are recorded and also the frequency of pore volume for subsample L6R1N1 has increased by an order of magnitude. Similar trend with similar magnitude is observed for subsamples L2R1N2, L2R2N2, L4R1N3 and L4R2N3 obtained using voxel method (Fig. 14). Figure 14 further establishes the heterogeneity across rows in layers 2 and 4. Pore volume distribution increased exponentially from R1N2 to R4N2 in layer 2; similar result was obtained in layer 4, though not as noticeable as in layer 2.

Analysis of computed porosity and comparison with other methods

To further evaluate the effect of heterogeneity on pore volume distribution as discussed in “Pore volume characterisation” section, we analyse the computed porosity across each of the layers in the sample. Within the whole of the ninety-six subsamples analysed, porosity range of 4.44E−04 (L2R1N1) to 1.00255% (L6R2N2) was recorded (see Table 2). The existence and significance of heterogeneity are clearly evident at this scale of computation. We compare our results with other available data estimated using other destructive numerical approaches such as Focus Ion Beam (FIB) milling and Scanning Electron (FIBSEM). The average porosity estimated using our non-destructive micro-CT scanning approach for the Eagle ford parallel was 0.173%, while Curtis et al. (2012) and Shabro et al. (2014) reported 0.4 and 13.2%, respectively, using destructive FIBSEM approach.

Table 2 Estimates of porosity for the three-dimensional volume of 96 subsamples of the Eagle Ford parallel

These differences in the computed porosities cannot be exclusively attributed to differences in the imaging techniques; as Curtis et al. (2012) reported, a porosity of 0.4% calculated from 125 µm3 3D domain at a resolution of 10 nm, while Shabro et al. (2014) reported a porosity of 13.2% for a 4.4 µm3 domain sample volume at a lower resolution of 6 nm. In this work, we computed an average porosity of 0.173% on a 6700 µm3 3D domain sample at a much lower resolution of 6.7 µm. It can, however, be seen that the estimated porosity increases as the sample size reduces (see Table 3). This suggests that the ratio of grains to pore is being compromised, as the number of grains present becomes scanty when scanning is done on very small sample. The resulting porosity (\( \phi \)) in relation to the pore volume (\( v_{p} \)), grain volume (\( v_{g} \)) and bulk volume (\( v_{b} \)) can be evaluated from the equation:

Table 3 Comparison of imaging resolution, sample size and computed porosity
$$ \phi = \frac{{v_{p} }}{{v_{b} }} = \frac{{v_{b} - v_{g} }}{{v_{b} }} = 1 - \frac{{v_{g} }}{{v_{b} }} $$
(10)

Furthermore, although higher resolution is desirable for the determination of pore-size distribution, this analysis underscores the difficulties involved in comparing computed porosities where the sample size domains are at different scales.

Analysis of heterogeneity

The pore volume results for each subsample were statistically analysed. The results of the mean, standard deviation, skewness and kurtosis values (all greater than three—see “Measure of dispersion: population skewness and kurtosis” section) confirmed that there is high degree of variation of pore volume within each subsample. In Figs. 15a, 16a, 17a, 18a, 19a and 20a, the huge standard deviation shows how much individual pore volume within the same subsample differs from the subsample mean. The smallest and highest mean values of 307 and 6105 are recorded from samples L1R1N1 and L3R4N1, respectively. The smallest pore volume of 307 µm3 implies that bigger pores or microcracks are relatively fewer in cell L1R1N1, whereas the highest mean value in cell L3R4N1 signifies that there are more of very large pores (microcracks). Looking at the differences between mean and standard deviation in each cell (Figs. 15a, 16a, 17a, 18a, 19a and 20a), high fluctuations of pore volume can be observed in this sample. The least variation is noticed in sample L4R3N3 and the highest in cell L4R2N2. This can also be confirmed pictorially as shown in Fig. 5.

Fig. 15
figure 15

a, b Measurement of pore volume central tendency and variability across layer 1 (L1RiNj, where i = 1–4 and j = 1–4)

Fig. 16
figure 16

a, b Measurement of pore volume central tendency and variability across layer 2 (L2RiNj, where i = 1–4 and j = 1–4)

Fig. 17
figure 17

a, b Measurement of pore volume central tendency and variability across layer 3 (L3RiNj, where i = 1–4 and j = 1–4)

Fig. 18
figure 18

a, b Measurement of pore volume central tendency and variability across layer 4 (L4RiNj, where i = 1–4 and j = 1–4)

Fig. 19
figure 19

a, b Measurement of pore volume central tendency and variability across layer 5 (L5RiNj, where i = 1–4 and j = 1–4)

Fig. 20
figure 20

a, b Measurement of pore volume central tendency and variability across layer 6 (L6RiNj, where i = 1–4 and j = 1–4)

Furthermore, to justify the observed variance in Figs. 15a, 16a, 17a, 18a, 19a and 20a, we measured dispersion. Skewness and kurtosis data were used to analyse the degree of dispersity. It was noticed that none of the pore volume distributions was symmetrical as they all skewed to the right (see pore volume distribution in Figs. 7, 8, 12, 13 and 14). The calculated kurtosis is greater than 3 (i.e. leptokurtic in all cases). This observed leptokurtic further underlines the cause of high standard deviation observable in all the samples, as the values show that there is visible presence of very large pores in each subsample.

Determination and analyses of REV for shale rock samples

Samples were obtained parallel and perpendicular to the bedding plane. In order to investigate the influence of parallel and perpendicular direction to bedding plane on porosity and also to establish the REV estimate, porosities were compared at 50, 100, 200, 300, 400, 500 and 600 µm voxel length. Figure 21a and b shows the plots of porosity and relative gradient error (RGE) versus length scale for the Eagle Ford parallel and Eagle Ford perpendicular samples, respectively. It can be seen that at 50 µm voxel length Eagle Ford perpendicular porosity is 0.002%, which is lower than Eagle Ford parallel with porosity of 0.0712%. Similarly, at 100 µm voxel length, Eagle Ford perpendicular porosity is 0.001% compare to Eagle Ford parallel porosity of 0.0228%. An order of magnitude difference is observed in both cases. However, from 200 to 600 µm voxel length, Eagle Ford parallel porosities are lower than Eagle Ford perpendicular porosities by up to 2 orders of magnitude.

Fig. 21
figure 21

Porosity and relative gradient error (RGE) versus length scale of the geometries used for REV. a Eagle Ford parallel, b Eagle Ford perpendicular

Figure 21a and 21b shows porosity values and relative gradient errors, RGE (\( \varepsilon_{g} \)) using the corner point reference technique as described in “Representative elementary volume (REV) approach” section. In Fig. 21a, erratic variation in porosity was observed for small incremental growth in subcropped sample, which is consistent with region I in Fig. 1. At larger length scale between 320 and 600 µm voxel, porosity shows the characteristics REV region II. Conversely, \( \varepsilon_{g} \) keeps on decreasing below 0.003 REV criterion as the subcropped volume increases. In Fig. 21b, the behaviour is quite different as the variation of porosity is linear and very small for small incremental growth. There was gentle porosity increase at 300 µm voxel, which tends to flatten up and increase sharply after 400 µm voxel, and a slight increase after 400 µm voxel length is also noticed in Fig. 21a. However, \( \varepsilon_{g} \) follows the same trend in Fig. 21a. This increase in porosity after 400 µm voxel length in Fig. 21a, b can be taken as the beginning of region III in Fig. 1. If porosity REV estimate is taken based on 0.003 REV criterion, it means that volume length will be 300 µm voxel for both samples presented here, but the sharp increase in porosity at that criterion in Fig. 21b will negate the region II in Fig. 1. These findings further revealed the complexity and heterogeneity of shale rocks.

Conclusion

The data and image analysed revealed important insights into the microstructure of Eagle Ford unconventional rocks. Pores have been quantitatively and qualitatively estimated from micro-CT images. From the pore volume distribution, it was established that there is a wide range of pore volume observable by simply traversing subsamples at pore scale. Estimates of pore-size distributions suggest that pore volume between 1 and 500 µm3 dominates. This evidently suggests that heterogeneity at this scale exists in shale rocks and can therefore not be neglected in numerical characterisation.

Descriptive statistical analysis was further applied to investigate the correspondence/influence of pore volume variation on heterogeneity. The results of this analysis show that very large pores and/or microcracks predominantly contributed to the high degree of heterogeneity. Furthermore, this experiment also allows us to extract necessary information for the modelling and simulation of fluid flow through shale rocks at pore scale.

The REV as quantified by porosity is at 300 µm voxel edge for both samples, though REV curves are different due to inherent heterogeneity characteristics of shale. Further re-evaluation and analysis at much higher image resolution are therefore recommended to exploit the full limit of these observations, but without necessarily compromising the REV required when the samples are used in fluid flow simulation.