1 Introduction

Predicting flow properties of porous media—for instance, relative permeability and capillary pressures under different displacement paths, wettability and flow rates—is essential in the study of subsurface flow processes. Field-scale observations and experimental measurements at smaller scales provide a significant insight into the physical processes on their own (Andrew et al. 2014; Berg et al. 2016; Bultreys et al. 2016; Gao et al. 2017; Pak et al. 2015; Lin et al. 2017; Roman et al. 2016; Rücker et al. 2019; Singh et al. 2017). However, in most cases the full picture can only be revealed by using mathematical/computational models to reproduce these observations (Akai et al. 2019; Berg et al. 2016; Bultreys et al. 2018). Another challenge in field observations and experimental measurements is that they are often costly and time-consuming. Therefore, complementing experimental measurements with reliable computational models, and continuous evaluation and improvement of these models is essential in their evolution towards more predictive tools for optimizing the processes involved.

For centimetre- to metre-sized rock samples, especially in carbonates that have pores of very different radii, a hierarchy of simulations at different scales needs to be used. This involves running several flow simulations at different length scales to obtain the parameters needed for the larger-scale simulations; this includes nm to \(\mu m\), \(\mu m\) to mm, mm to cm and cm to block upscaling. Here, \(nm, \mu m, mm, cm\) stand for domain sizes in the order of several nanometres, micrometres, millimetres and centimetres, respectively, and block stands for the block sizes used in reservoir simulation models. These models need to be validated, and in most cases calibrated, against different data sources, for instance experimental or high-fidelity simulation data, to improve the flow of information—model inputs and outputs—from the sub-pore to field-scale models of multiphase flow.

Different numerical methods have been developed to study two-phase flow across these length scales, from molecular simulations studying flow at the nm scale, to reservoir simulation models that incorporate the results of cm to block upscaling and predict the field-scale behaviour of flow (Meakin and Tartakovsky 2009). Direct pore-scale numerical methods such as finite volume and lattice Boltzmann methods have been widely used to obtain the flow properties of different pore structures (Armstrong et al. 2016; Frank et al. 2018; Shams et al. 2018; Tahmasebi et al. 2017; Xie et al. 2017), and even to obtain the flow properties of core samples few millimetres across (Arrufat et al. 2014; Raeini et al. 2014; Ramstad et al. 2012) at the expense of a higher computational cost or lower accuracy. For instance, fluid layers cannot be resolved accurately for typical resolutions used to make direct simulations practical on sufficiently large samples. Additionally, due to capillary time-step constraints (Denner and van Wachem 2015), the computational cost of direct simulations grows rapidly when lowering the capillary number towards the capillary dominated flow regime. Pore network models, on the other hand, take the flow properties of single pore and throats as an input and can model flow efficiently over cm-scale samples and at low capillary numbers typical of subsurface processes. The higher computational efficiency of pore network models makes it possible to run sensitivity studies for various parameters (for the effects of wettability, viscosity, flow rate, spatial or temporal variations in rock properties and for different displacement scenarios, for instance) that are important in two-phase flow through porous media. However, since a coarse discretization is used to describe the void space and different approximations are used during flow simulations, rigorous validation studies are needed to asses and improve the accuracy of pore network models.

A significant degree of uncertainty is involved in this upscaling practice, due to measurement and modelling errors as well as the inherent sensitivity of flow to perturbations in the initial and boundary conditions and to small changes in fluid and rock properties, for instance. Therefore, the validation and calibration of these models requires, respectively, quantifying and minimizing the mismatches between the model predictions and experimental data at different scales and on large datasets. Examples of such data, for the case of pore network models, for \(\mu m\) to mm upscaling, are repeated (Andrew et al. 2014) and four-dimensional (space-time domain) images of multiphase flow through mm-sized rock samples (Berg et al. 2016; Gao et al. 2017; Singh et al. 2017), and micro-model experiments (Lenormand et al. 1988; Yang et al. 2017).

An alternative approach is to validate the numerical model by comparing its predictions with an alternative higher-fidelity model (Durlofsky 1991; Raeini et al. 2018; Tchelepi et al. 2007; Xiao et al. 2017). Direct finite volume or lattice Boltzmann simulations can be considered as the higher-fidelity model for validating pore network models. In this approach, both models can have exactly the same input. Therefore, there would be no uncertainty due to model inputs in the validation workflow. Nevertheless, direct simulations, in turn, need to be validated using analytical solutions (Shams et al. 2017), experimental data on micro-models (Chapman et al. 2013) and rock samples (Akai et al. 2019), to quantify and minimize numerical errors. Such numerical validations are important for understanding the physics and contributing factors that control flow at the sub-pore scale.

Earlier network models focused on reproducing only upscaled properties, such as relative permeability, capillary pressure and resistivity index (Aghaei and Piri 2015; Øren et al. 1998; Ruspini et al. 2017; Valvatne and Blunt 2004). However, network models have free parameters; for instance, the input contact angle is not well constrained in most cases. Moreover, the experimental relative permeabilities themselves are sensitive to flow conditions (Reynolds et al. 2014) and rock heterogeneity. Therefore, a prediction of upscaled properties for few particular rock types is not sufficient for examining the reliability of pore network models (Bondino et al. 2013; Idowu et al. 2013) and validations using richer datasets are needed. Pore-by-pore validations of the network models, using direct simulations (Raeini et al. 2018; Varloteaux et al. 2013), multidimensional experimental data obtained from micro-CT imaging (Bultreys et al. 2018) or micro-model studies (Yang et al. 2017), can be considered as major steps towards reliable models of two-phase flow through porous media.

The generalized network flow simulator used in this paper has been validated using direct simulations on synthetic geometries (Raeini et al. 2017, 2018) as well as through comparison with experimental core-scale relative permeability (Raeini et al. 2018). The aim of this paper is to validate this model on a pore-by-pore basis using the multidimensional datasets obtained from micro-CT scans of two-phase flow experiments. We first quantify the pore-scale uncertainty in experimental measurements using repeated two-phase flow micro-CT experiments by Andrew et al. (2014). Then, we evaluate the generalized network model’s predictive capability using (1) micro-CT images of two-phase unsteady-state displacement by Andrew et al. (2014), (2) micro-CT images of dynamics of two-phase flow by Singh et al. (2017), and (3) micro-CT images of two-phase flow at different fractional flows during steady-state displacement by Gao et al. (2017). We investigate the accuracy of the model in predicting fluid occupancies at pore and throat centres as well as in computing pore saturations.

2 Workflow

The aim of this study is to establish the workflow for evaluating and improving the network model prediction of local flow parameters, such as fluid occupancy, saturation and conductivity, using experimental micro-CT measurements. Here, we use pores and throats as the elements of the network model used in the validation to quantify and compare the local experimental and model occupancies and saturations. Pores represent the wide regions of the void space, while throats are restrictions, defined by a topological analysis of the pore space using the distance map, the distance of each void voxel in an image to the nearest solid. A pore centre is a local maximum in the distance map. A throat surface is where the distance map increases on either side towards two distinct pore centres. Throat centres are the local maxima of the distance map on the throat surfaces. In the generalized network model, every voxel in an image is assigned to a unique pore and throat (Raeini et al. 2017). This allows us to compute the pore saturations (volume fraction of fluids in each pore) from an experimentally obtained image of fluids in the void space. Furthermore, the fluid occupancy of each pore and throat centre is quantified using an indicator function (\(\alpha \)); if the fluid at a pore or throat centre is the non-wetting phase, we set \(\alpha =1\); otherwise, \(\alpha =0\). This definition of fluid occupancy is a single point or single voxel measure, determined by the fluid occupancy of the voxel nearest to the pore or throat centre. In contrast, the fluid saturation of a pore measures an average value for the fraction of its voxels occupied by a fluid phase; it can take any value in the range \(S_o \in [0,1] \), where \(S_o\) denotes the non-wetting phase saturation. Computing other flow properties such as fluid conductivity or interface curvatures from the experimental micro-CT images requires high-resolution images of fluid phases, which can be used as input to direct single- or two-phase flow simulations, and will be considered in future work.

2.1 Network Flow Model

The generalized network extraction (Raeini et al. 2017) serves as a discretization of the void space into pore bodies and further into sub-elements called half-throat connections. Each half-throat is parameterized using its corner sub-elements. Corner half angles, cross-sectional areas and volumes are obtained directly from the analysis of the underlying image. Flow conductivities are calculated from an upscaling of Navier–Stokes equations solved directly on the segmented micro-CT image so that the network can reproduce the permeability of the underlying image accurately.

The generalized network flow model (Raeini et al. 2018) simulates capillary dominated two-phase flow through the extracted network assuming quasi-static displacement. It has two main components: (a) modelling displacement of fluid phases by tracking the interfaces between them and (b) computing flow and electrical conductivity in each network element and upscaling them to obtain the network macroscopic flow properties. To simulate two-phase flow for different flooding cycles, the capillary pressure at the inlet side of the network is changed in small steps and the location of fluid interfaces is updated assuming local capillary equilibrium in each pore and throat:

$$\begin{aligned} P_c= P_o-P_w=\sigma \kappa , \end{aligned}$$
(1)

where \(\kappa \) is the interface curvature, computed based on MS-P theory (Mayer and Stowe 1965; Princen 1969), as discussed in detail in Raeini et al. (2018). The locations of fluid–fluid–solid contact lines are recorded and tracked as fluid interfaces pass through pore or throat centres or meet each other leading to snap-off or layer collapse. Once the saturation of the network has changed sufficiently (by 1% in this paper), the conductivity of fluids in each corner is computed and averaged to obtain a flow conductivity for each throat. Finally, a viscous pressure drop is applied between the inlet and outlet sides of the network to obtain the fluid phase (\(\alpha \)) pressures at each pore and the flow rates in each throat, t, by solving for mass balance on each pore, p:

$$\begin{aligned}&\displaystyle \sum _{t\in p } q_t^\alpha = 0, \end{aligned}$$
(2)
$$\begin{aligned}&\displaystyle q_t = {{g}^q_t} (\varPhi _\mathrm{adj}-\varPhi _p), \end{aligned}$$
(3)

where \(q_t\) is the total flow rate passing through the throat, \({g}^q_t\) is the throat conductivity, and \(\varPhi _\mathrm{adj}-\varPhi _p\) is the viscous pressure drop between the pore and its adjacent pore on the opposite side of the throat. Despite the approximate nature of this equation, it does not affect the results presented in this paper significantly, since the viscous pressure drop can be considered negligible compared to interfacial forces when modelling pore-scale displacement events at low capillary numbers. The upscaled relative permeability (\(k_\mathrm{r}\)) of the network is then obtained using Darcy’s law, from the total flow rate (Q) of each phase passing through the inlet or outlet throats:

$$\begin{aligned} Q = \frac{ {K k_\mathrm{r}}A}{\mu L}(\varPhi _\mathrm{inlet}-\varPhi _\mathrm{outlet}), \end{aligned}$$
(4)

where \(\mu \) is the fluid viscosity, K is the single-phase permeability of the sample, A is its total cross-sectional area, L is its length, and \(\varPhi _\mathrm{inlet}-\varPhi _\mathrm{outlet}\) is the applied pressure drop along the sample.

Here, we validate the network predictions of fluid occupancy and saturation, which are controlled by the accuracy of computed interface locations and the order of computed threshold curvatures for different displacement events. For simplicity, we assume capillary dominated displacement: we use an interfacial tension of \(\sigma =0.03\,\)N/m, and apply a viscous pressure drop of 1 Pa in all our simulations which can be considered negligible compared to typical threshold capillary pressures. The computed interface curvatures depend on input contact angles and the approximations made to describe the geometry (corner angles, areas and inscribed radii) of the network elements, as discussed in Raeini et al. (2018). Therefore, any discrepancy between the predicted fluid distributions and their experimentally imaged counterparts reflects the accuracy of interface tracking in the flow model as well as discrepancies in the representation of these input fluid and rock properties.

2.2 Experimental Data

We use the micro-CT data generated by Andrew et al. (2014), Singh et al. (2017) and Gao et al. (2017) to validate the generalized network model. Table 1 shows an overview of these experimental data.

The experiments by Andrew et al. (2014) were performed by injecting \(\text {CO}_2\) into small core samples fully saturated with pre-equilibrated brine to establish an initial condition after primary drainage. The imbibition cycle was performed in the reverse direction to flush the \(\text {CO}_2\) out, while maintaining a low capillary number, to reach the residual \(\text {CO}_2\) saturation. The drainage and the imbibition experiments were repeated five times, and a micro-CT image was taken at the end the first drainage and after all imbibition experiments.

The dynamic experiment by Singh et al. (2017) was performed using an oil–water fluid pair, by first injecting oil into the sample (primary drainage) followed by water injection in the opposite direction at a very low flow rate (capillary number of \(1.26\times 10^{-9}\)). Here, the fluid configuration was imaged at the pore scale with a time resolution of approximately 1 min, which allows the pore-by-pore filling sequence to be determined. The experimental images were obtained for both drainage and imbibition; here, we primarily study the imbibition process. Overall, 416 micro-CT images were taken during the imbibition experiment. In addition to the fluid occupancy, the higher image resolution allows us to calculate the mismatch in saturation on a pore-by-pore basis. Even if the occupancy is correct, we may place an erroneous volume of wetting phase in the corners of the pore space in our model.

A similar experiment as in Gao et al. (2017) on a Bentheimer sandstone was performed by the same authors specifically for use in pore network modelling and validation (Bultreys et al. 2018) with high-quality dry and multiphase images to accurately quantify the pore geometry, fluid occupancy and saturation. The experiments were performed by increasing the fractional flow of water, in several steps, and waiting for the pressure drop to be stabilized. The micro-CT images were acquired at fractional flow rates of \(f_w=0\), 0.15, 0.3, 0.70, 0.85 and 1. The capillary number in these experiments was sufficiently low (capillary number of \(3.8\times 10^{-7}\)) that the oil and water were observed to flow in fixed pathways at each fractional flow (Gao et al. 2017). This suggests that a quasi-static network model can be considered as a good approximation to the flow process. However, we cannot model the exact boundary conditions, since the inlet arrangement of the oil and water was not imaged.

Table 1 A summary of the images and network properties used in our validation, including number (N) of scans taken during imbibition experiments, length, diameter, voxel size, porosity (\(\phi \)) and the number of pores and throats of the extracted networks

2.3 Mismatch Indicators

To validate the model, we compute and report a series of mismatch indicators between the flow properties, here fluid occupancy and saturation, of the network model and their experimentally obtained counterparts. The experimental micro-CT images were mapped onto pore network elements. This allows us to efficiently compute the mismatch between pairs of pore or throat data for large four-dimensional datasets; Fig. 1 illustrates this workflow using a 3D visualization of the difference between a set of experimental data by Gao et al. (2017) and a network model simulation.

Fig. 1
figure 1

Visualization of fluid occupancies at pore centres (connected by throat lines). Left column shows the experimental results by Gao et al. (2017), at water fractional flows of: \(f_w=0\), 0.7 and 1. The middle column shows a generalized network flow simulation using a contact angle of \(45{}^{\circ }\), and the right column shows the difference between the model and the experiment at each pore and throat centre

We use the mean difference, MD, and the mean absolute difference, M|D| as intuitive measures of mismatch between experimental data and model predictions. For any two-phase flow parameter (\(\psi \)), such as fluid occupancy (\(\psi =\alpha \)) or saturation (\(\psi =S_o\)) of pores and throats, the mean difference and mean absolute difference between any two datasets (a and b) are defined as:

$$\begin{aligned}&\displaystyle MD(\psi ) = \frac{\sum _{ i=1 }^n w_i ( \psi ^a_i-\psi ^b_i)}{\sum _{ i=1 }^n w_i} = \overline{\psi ^a} - \overline{\psi ^b}, \end{aligned}$$
(5)
$$\begin{aligned}&\displaystyle M|D(\psi )| = \frac{\sum _{ i=1 }^n w_i| \psi ^a_i- \psi ^b_i|}{\sum _{ i=1 }^n w_i}. \end{aligned}$$
(6)

The term \(w_i\) is a weighting factor which is chosen to be the volume of each pore and throat (subscript i). The pore volumes are the sum of the volume of the voxels associated with the pore, bounded by its throat surfaces. Similarly, the throat volume is obtained by counting the voxels in its corner elements, located on either side of the throat surface and extended up to the adjacent pore centres; see Raeini et al. (2017). When computing the mismatches for fluid occupancies, we perform the summation on both pores and throats, while the saturation discrepancies are computed using the pore saturations.

As Eq. 5 shows, the mean difference, MD, can be viewed as the difference between the average or upscaled values of the experimental or simulated data. The values in the summation of this indicator can cancel each other, and the result represents the mismatch in a single upscaled property (which can be the average experimental and model saturation for instance). On the other hand, the mean absolute difference (M|D|) is the normalized sum of all the pore-by-pore discrepancies.

The rock samples used in this study all have cylindrical shapes. When computing the mismatch indicators, we exclude the pores and throats within 10% of the sample length from the inlet and outlet sides of the network, and within 10% of the sample radius from the circumference of the network. These pores are excluded to reduce boundary effects on the mismatch indicators.

3 Uncertainty in Pore-Scale Experimental Data

In Fig. 2, we present a summary of the mismatch indicators between pairs of the repeated experiments on a Bentheimer sandstone and a Ketton carbonate, which are the most reproducible out of the five rock samples studied in Andrew et al. (2014).

Fig. 2
figure 2

Uncertainties in experimental pore and throat centre fluid occupancy presented in terms of the mean difference (bottom left side of each plot) and the mean absolute difference (top right side of each plot) between pairs of the repeated imbibition experiments by Andrew et al. (2014)

The results in Fig. 2 show that the average fluid saturations and occupancies are fairly consistent between repeated experiments. The standard deviations in average fluid occupancy of the five images at the end of imbibition experiments are 0.03 and 0.012 for Bentheimer and Ketton, respectively. Similarly, the magnitude of mean differences between fluid occupancy, \({MD(\alpha )}\), of pairs of experiments is 3.3% and 1.5%. The variations in average residual saturations are in the same order too; see Table 1.

The pore-by-pore uncertainty in the fluid occupancy, presented in terms of the mean absolute difference between each two experiments, \(M|D(\alpha )|\), is in the range of 5.6–13.2% (average 9.8%) for Bentheimer sandstone, and in the range 11.2–17.7% (average 15.4%) for Ketton carbonate. The differences in the uncertainties obtained for the two rock types can be either due to the differences in \(S_{oi}\) (see Table 1) of the experiments, or due to differences in the wettability and pore geometry of the two samples and requires further investigation. Another observation is that although all experiments start from a fully water-saturated initial condition, the experiments that are closer repeat cycles (the near diagonal entries in Fig. 2) tend to have a lower M|D| compared to those further apart. This indicates that there could be small but permanent changes in the sample properties that accumulate as the experiments are repeated. It is challenging to reproduce such trend using our model as it is difficult to quantify its underlying cause, considering the finite resolution of the micro-CT images.

Overall, the results presented in this section show the importance of the repeated experiments in quantifying the uncertainties in experimental measurements. In addition, these results show the best possible match with a single experiment that we can aim to obtain using our model, without using the experimental results to constrain the model inputs.

4 Validation Using Micro-CT Images of Two-Phase Flow

Here, we compare the generalized network model predictions with the unsteady-state two-phase micro-CT experiments by Andrew et al. (2014), Singh et al. (2017) and the steady-state experiments by Gao et al. (2017).

Our network model simulations mimicked the unsteady-state experiments. We first ran a primary-drainage simulation to obtain the initial condition for the subsequent imbibition simulation. The drainage simulation was stopped when \({ MD}(\alpha )=0\), between the model and the experimental image at the end of drainage. Although this implies that the total volume of the pores and throats whose centres are filled by each phase in the model are roughly the same as in the experiment, the individual pore-by-pore occupancies do not match exactly. The pore-by-pore discrepancies were estimated using the mean absolute difference (M|D|, Eq. 5), as an indicator for the accuracy of the model in reproducing the drainage experiment. We studied the effect of contact angle by performing sensitivity analyses on how these mismatch indicators changed when varying the input contact angle during the subsequent imbibition simulations. Furthermore, the contact angle sensitivity study was repeated for different drainage end points, to study the effect of the mismatch at the beginning of imbibition on the model–experiment discrepancies introduced during imbibition.

4.1 Repeated Unsteady-State Experiments

First, we compare network model predictions with the repeated experiments by Andrew et al. (2014), discussed in the previous section. The generalized network extraction requires a high-resolution image for accurate parameterization of network elements (Raeini et al. 2018). Although the location of the \(\text {CO}_2\), hence the fluid occupancy, can be identified clearly using these images, dry scans of the void space were not taken prior to the experiments. To obtain an image of the void space, we averaged the drainage and the five imbibition images to obtain an image with sufficient contrast between the pore space and the solid phase. We used these images to evaluate the network model predictive capability when dealing with low image resolution during network extraction. A set of comparisons between experiments and network models extracted from higher-resolution dry images (Table 1) are presented in the following sections.

Figure 3 shows the mean absolute difference between pairs of experimental and simulated pore and throat fluid occupancies for the experiments on Bentheimer and Ketton by Andrew et al. (2014). The results were obtained from simulations with a uniform input contact angle of \(\theta _1=15{}^{\circ }\), which produced the best match for both images; see Fig. 4 for a sensitivity study on the effect of contact angle on the average discrepancy between the experiments and the model.

Fig. 3
figure 3

A comparison between uncertainties in experimental fluid occupancy (Fig. 2) and flow simulations on a generalized network extracted from low-resolution void space images. At the beginning of Bentheimer imbibition simulation (end of primary drainage), the mismatch is \(M|D(\alpha )|=30\%\) and increases by roughly 2% during imbibition. The initial mismatch is 20% for Ketton and increases by roughly 14% by the end of imbibition

Fig. 4
figure 4

Effect of contact angle on the average of the discrepancies in fluid occupancy between the model and the repeated imbibition experiments by Andrew et al. (2014), for the Bentheimer (left) and Ketton (right) experiments. The circles have areas proportional to the average of pore-by-pore discrepancies, M|D|, for each simulation, and are coloured by the mismatch in average occupancy, \({ MD}(\alpha )\)

The initial mismatch, at the beginning of imbibition simulation (the end of primary drainage), is \(M|D(\alpha )|=30\%\) for Bentheimer and increases by roughly 2% during imbibition. The initial mismatch is 20% for Ketton and increases by 14% during the imbibition simulation presented in Fig. 3.  Figure 4 shows that the difference between the results for different contact angles is less than 4% for contact angles less than \(50{}^{\circ }\). The overall mismatch is about 20% higher than the average mismatch between pairs of experimental data. The discrepancies could be due to the poor image quality, or due to errors in the representation of displacement in the model. To test if the former is the origin of the larger mismatch, a set of comparisons between network model predictions and experiments for which higher-resolution dry scans are available are presented in the following sections.

4.2 Unsteady-State Experiments on Ketton Carbonate

This section compares network model predictions with the dynamic oil-brine experiment on the Ketton sample by Singh et al. (2017); see Table 1.

4.2.1 Drainage Simulation

To find the initial condition for imbibition simulations, we first ran a drainage simulation with receding contact angles of zero. Figure 5 shows how different mismatch criteria, between different simulation steps and the image at beginning of the imbibition experiment, change during the drainage simulation.

Fig. 5
figure 5

A comparison between the Ketton experiment (Singh et al. 2017) at the beginning of imbibition (end of drainage) and different steps during the drainage simulation, as a function of average network saturation. As a base case in our sensitivity studies, the end of drainage was chosen at a initial water saturation of \(S_{wi}=0.45\). where the network has the same average occupancy as the experiment, \({ MD}(\alpha )=0\)

Figure 5 shows that the drainage simulation with a saturation of \(S_w=0.45\) has the same average occupancy as the experiment at the beginning of imbibition; this was chosen as the stopping criterion for drainage to obtain the initial condition for the imbibition simulations presented in the next section. At this saturation, although the network has the same total volume of pores and throats filled with each phase as in the experiment, the individual occupancies do not match exactly on a pore-by-pore basis. Other discrepancies at the network saturation of \(S_w=0.45\) (at \({ MD}(\alpha )=0\)) are: \({ MD}(S_o)=5\%\), \(M|D(\alpha )|=15\%\) and \(M|D(S_o)|=17\%\). These discrepancies are expected to affect the subsequent imbibition simulations which are studied in the following section.

We chose the average occupancy match for selecting the imbibition initial condition because it only reflects the errors in the computed entry pressures, which determine the order of filling events. Nevertheless, the entry pressures themselves can be affected by approximation errors during flow simulations as well as the uncertainties arising from the void space segmentation and contact angle variations that are not known in detail. We expect the thresholds used during the segmentation to affect the fluid occupancy less than the saturation; the fluid occupancy is computed based on the voxels in pore and throat centres, which are furthest away from the fluid–solid interface whose exact location can be affected by the segmentation thresholds. The network saturations, in addition to these factors, can be affected by the numerical approximations during saturation computation as well as the uncertainties in acquisition and segmentation of the experimental images of the fluid distributions. The 6% discrepancy between the average saturation match and the average occupancy match, in Fig. 5, reflects these additional errors and uncertainties.

4.2.2 Imbibition Simulation

During the dynamic imbibition experiment on the Ketton sample (Singh et al. 2017), a micro-CT scan was taken every 1 min and a total of 417 images were acquired. We assumed that each image corresponded to the simulation step that had, on average, the same number of pore and throats filled with each phase as the image. In other words, we compared the results of each experimental image to the simulation step with an average occupancy closest to the image. The mismatches for all the images were then averaged to obtain a single value for the whole imbibition cycle.

Similar to the previous section, we considered the contact angle as an unknown parameter and ran a sensitivity analysis to investigate its effect on the discrepancy between experiments and simulations. Figure 6 compares the experiments with simulations for different input contact angles, where, in each simulation, a single contact angle was assigned to all the pores and throats. Similarly, the saturation and occupancy discrepancies when a random distribution of contact angles in the range \([\theta _1,\theta _2]\) was used in the simulations are shown in Fig. 7, for different combinations of \(\theta _1\) and \(\theta _2\).

Fig. 6
figure 6

Effect of contact angle on the mismatch between experimental and model fluid occupancy, \(\hbox {M}|D(\alpha )|\), and saturation, \(\hbox {M}|D(S_o)|\), for water imbibition into Ketton carbonate. A uniform contact angle of \(\theta _i=\theta _1\) was used for all pores and throats. The circles have areas proportional to the average of pore-by-pore discrepancies, M|D|, for each simulation, and are coloured by the mismatch in average \(({ MD})\) saturation (\(S_o\)) or occupancy \((\alpha )\), as indicated by the colour legends

Fig. 7
figure 7

Effect of contact angle on the mean absolute difference between experimental and model (left) fluid occupancy and (right) saturation. The circles have areas proportional to, and are coloured by, the average of pore-by-pore discrepancy in occupancy (left) and saturation (right). The contact angles were assigned at random from a uniform distribution, \(\theta _i\in [\theta _1,\theta _2]\)

The results in Fig. 6 show that the best match for the Ketton fluid occupancy is \(\hbox {M}|D(\alpha )|=20.9\%\), averaged over all the images during imbibition. The mismatch at the beginning of imbibition simulation is 14.4% which increases to about 30% at the end of imbibition. This model–experiment mismatch is about twice the maximum mismatch obtained for the experiment–experiment pairs, presented in the previous section, in Fig. 2. These experiment–model mismatches show an improvement of roughly 4% compared to the results presented on a coarse image of Ketton in the previous section; this shows the importance of having high-resolution micro-CT images for accurate parametrization of the pore space and its crevices, which allow both the displacement processes and the saturation within each pore and throat to be predicted accurately. The average saturation discrepancy, at the best match for fluid occupancy, was \(M|D(S_o)|=19.3\%\) and \({ MD}(S_o)=6.2\%\). Although the pore-by-pore saturation and occupancy can have a higher discrepancy of \(M|D(S_o)|=19.3\%\) and M\(|D(\alpha )|=20.6\%\), the total (network) saturations are predicted more accurately (\({ MD}(S_o)=6.2\%\)) and are potentially in the range of experimental uncertainty in saturation computation from the micro-CT images. Although the models with weakly water-wet contact angles (\(\hbox {30--70}{}^{\circ }\)) show a better match with the experiment, the discrepancies show only a weak correlation with contact angle; this is partly due to the high initial water saturation at the beginning of imbibition which reduces the contact of the oil phase to solid walls and reduces the contribution of contact angle. Another factor can be the smaller size of the image which exacerbates boundary effects. The simulations with a uniform contact angle distribution (Fig. 7) are comparable to those with a single contact angle for all pore and throats. The random variations in the contact angle do not have a major impact on these results which are averaged over thousands of pores. Note that it is possible to calibrate (fine-tune) the network model inputs—contact angle or other model parameters—to improve the match between the network model and experiments. However, the objective of this study is to use the experimental data only to validate the model, i.e. evaluate its predictive capability for the cases where detailed multiphase flow experiments are not available.

4.2.3 Effect of Initial Condition at the Beginning of Imbibition

The results presented in the previous section shows that the discrepancies introduced during the primary-drainage simulation (at the beginning of imbibition) are higher compared to the discrepancies added during imbibition. To investigate the effect of the initial condition on the mismatches during imbibition simulations, we repeated the contact angle sensitivity analysis for different initial water saturations, shown in Fig. 8.

Fig. 8
figure 8

Effect of the initial saturation (end point of the primary drainage) on the network occupancy mismatch with the experiments by Singh et al. (2017)

These results show that a change of \(\pm \,10\%\) in the imbibition starting saturation can lead to a change of around \(\pm \,2\%\) in the occupancy mismatch, from its lowest value of 21% for \(S_{wi}\) = 0.45–0.55 to 24% for \(S_{wi}=0.35\). These results show that, for this particular case, the effect of initial mismatch on the discrepancies during imbibition is more pronounced compared to the effect of contact angle.

4.3 Steady-State Experiments on Bentheimer Sandstone

In this section, we use the steady-state imbibition experiments of oil–water flow through the Bentheimer sandstone by Gao et al. (2017) (see Table 1) to validate the generalized network model.

4.3.1 Drainage Simulation

The experimental image at the fractional flow of \(f_w=0\) was used to set the end point of the primary-drainage simulation that determined the initial condition for the imbibition cycle. Similar to the previous section, in Fig. 9 we show how different mismatch indicators vary as the drainage simulation progresses.

Fig. 9
figure 9

A comparison between the Bentheimer experiment at a fractional flow rate of \(f_w=0\) and different steps during the drainage simulation. The network has the same occupancy as the experiment at a saturation of \(S_w=0.30\), which was chosen as the drainage end point (initial condition for imbibition simulations) for the base case

Figure 9 shows a discrepancy in the network saturation which is slightly higher than the results for Ketton sample presented in the previous section (Fig. 5). The network has the same occupancy as the image at a network saturation of \(S_w=0.30\), while the image saturation is \(S_w=0.37\). This indicates that the network model underpredicts the saturation by roughly 7% compared to the image saturation. This can be attributed to numerical approximation errors as well as the uncertainties in segmentation and the differences in boundary conditions between the simulation and the experiment.

During subsequent flow simulations, the model’s drainage end point was chosen to have the same average occupancy as the image at the beginning of imbibition experiments (\({ MD}(\alpha )=0\) at \(S_{wi}=0.30\)), with other discrepancies of \({ MD}(S_o)=10\%\), \(M|D(\alpha )|=19.6\%\) and \(M|D(S_o)|=20.1\%\).

4.3.2 Imbibition

The experimental images at fractional flow rates of \(f_w=\) 0.15, 0.3, 0.70, 0.85 and 1 were used to validate the imbibition simulation. Similar to the previous section, the simulation results were recorded at different saturation steps, after each 1% change in the network saturation, and compared to each experimental image. The mismatches for each image were recorded when the model had an average occupancy closest to the image. Finally, the results obtained for the five experimental images were averaged to obtain a single set of mismatch indicators for the whole imbibition cycle. The mismatch values are reported for pore and throat fluid occupancy as well as for pore saturation.

Figure 10 shows the results when a single contact angle was used for all pores and throats in the model. Figures 11 shows the results when a random assignment of contact angles from a range of \(\theta _i \in [\theta _1,\theta _2]\) was used.

Fig. 10
figure 10

Effect of contact angle on the discrepancies in (left) fluid occupancy and (right) saturation between the model and the steady-state oil–water experiments on Bentheimer sandstone. A uniform contact angle of \(\theta _i=\theta _1\) was used for all pores and throats in the model. The circles have areas proportional to the average of pore-by-pore discrepancies, M|D|, for each simulation, and are coloured by the mismatch in average \({ MD}\) saturation (\(S_o\)) or occupancy (\(\alpha \)), as indicated by the colour legends

Fig. 11
figure 11

Effect of contact angle on the mean absolute difference in (left) fluid occupancy and (right) saturation, between the model and the steady-state oil–water flow experiments on Bentheimer sandstone. The contact angles were assigned at random from a uniform distribution, \(\theta _i\in [\theta _1,\theta _2]\). The circles have areas proportional to, and are coloured by, the average of pore-by-pore discrepancy in occupancy (left) and saturation (right)

The saturation pore-by-pore discrepancy decreased by roughly 2% over the imbibition cycle for contact angles less than \(50{}^{\circ }\). The initial mismatches were \(M|D(\alpha )|=19.6\%\) and \(M|D(S_o)|=20.1\%\) at a fractional flow of \(f_w=0\) which changed to 21.0% and 18.5%, respectively, at \(f_w=1\) (end of imbibition). The mismatch does not change significantly during imbibition. This can be explained by the fact that the filling events in imbibition are easier to predict on a pore-by-pore basis in this water-wet case, since the invading phase (water) is well connected (hence the invasion front covers almost all pores and throats in the network) and therefore each filling event does not have as big impact on subsequent events. In contrast, in drainage, each filling event can open a different invasion path and initiate a different chain of subsequent events and capillary fingers. Another explanation can be that boundary conditions and the initialization of fluid saturations at the beginning of the steady-state imbibition experiment are not compatible with the network model simulation which resembles an unsteady-state experiment.

The mismatch between the experiment and the model at the end of the imbibition is just 7% higher than the maximum mismatch between pairs of experimental data on Bentheimer, shown in Fig. 2, and 10% higher than their average. These results show an improvement of around 10% compared to the mismatches presented for the end of the simulations on the coarse Bentheimer image presented in Fig. 4. This shows that, for high-quality images of the void space, the network model can represent the experimental measurements more accurately, despite the presence of other sources of uncertainty such as image resolution, segmentation, boundary conditions and the wettability distribution of the rock samples. The errors at the end of drainage simulation are comparable to the errors during the imbibition simulation; this suggests that the greatest cause of the residual error in imbibition is in the initial condition for imbibition.

4.3.3 Effect of Initial Condition at the Beginning of Imbibition

To investigate the effect of the initial condition on the mismatches during imbibition, in Fig. 12, we have repeated the contact angle sensitivity analysis presented in the previous section while varying the initial water saturations as well.

Fig. 12
figure 12

Effect of initial saturation (end point of the primary-drainage simulation) on the network occupancy mismatch for the experiments by Gao et al. (2017). The circles have areas proportional to the pore-by-pore occupancy mismatch, \(M|D(\alpha )|\), for each simulation, and are coloured by the mismatch in average saturation, \({ MD}(S_o)\)

The results in Fig. 12 show that a change of \(\pm 10\%\) in the imbibition starting saturation can lead to a change of roughly \(\pm \,3\%\) in the occupancy mismatch (from its lowest value of 18.5% at \(S_{wi}=0.25\) to 25.7% at \(S_{wi}=0.45\)). The shape of the mismatch as a function of contact angle does not change significantly. Moreover, the results do not show a significant sensitivity to contact angle when the contact angle was lower than \(60{}^{\circ }\). Furthermore, these results show that water saturations in our model are underestimated by roughly 6% in both the Bentheimer sandstone and the Ketton simulations presented in the previous section. This discrepancy can be corrected by using the experimental saturations, or direct simulations, to calibrate the network model parameters. Improving the pore-by-pore mean absolute differences, however, requires eliminating various sources of uncertainties, experimental or modelling; in other words, both the model and its input parameters (pore geometry and contact angle) need to be improved. Note, however, that all these cases are challenging, since an intermediate saturation is reached after primary drainage. In many situations, almost all the pores are filled after drainage, which inevitably leads to a low initial discrepancy.

5 Conclusions

We have quantified the experimental uncertainties in the pore-scale fluid occupancy and saturation for a set of carbonate and sandstone samples. This analysis shows that the uncertainty can vary from rock to rock, in the range of 5–17% for the case of simple sandstone and carbonate rocks. The network model predicts these parameters with a good accuracy, having a pore-by-pore mismatch of around 17–30%, accumulated over both the primary drainage and the imbibition cycles, while the average saturation and occupancies match with discrepancies less than 10%.

The workflow presented here can be considered as a starting point for the use of experimental data, and higher-fidelity simulation data, to validate and improve reliability of the upscaling models. Further improvements in the network model predictive capability can be achieved by using direct simulation on micro-CT images, on sample sizes that are sufficiently small for a limited number of direct simulations. These simulations have the advantage that in addition to occupancy and saturation, flow and electrical conductivities can be used in the validation as well. These validations, which make use of both experimental data and direct simulations, help to ensure that the network model produces reliable results for different rock types and wettabilities.