1 Introduction

Multiphase flows are ubiquitous in a large number of bio-geo-chemical engineering and medical applications which include extraction of hydro-carbons (Lake 1989) and sequestration of carbon dioxide in the sub-surface (Pruess and Garcia 2002; Metz et al. 2005; Benson and Cole 2008), ground water remediation (Mercer and Cohen 1990; Gavaskar et al. 1998), inkjet printing (Singh et al. 2010), performance of fuel cells (Vielstich et al. 2003; Andersson et al. 2016), preparing emulsions for drug delivery (Zhao 2013). In a multiphase flow environment, there exists a pressure difference at the interface between the wetting and non-wetting fluids as a consequence of surface tension (Dullien 1998). This pressure difference is referred to as the capillary pressure \(p_{c}\). The capillary pressure is part of the flow governing equations in the porous medium (Helmig et al. 1997; Blunt 2017) and hence plays a vital role in predicting the nature of fluid displacements that are capillary driven. Traditionally, empirical relations based on experimental observations are used to determine the capillary pressure as a function of saturation based on the works of Brooks (1965); Van Genuchten (1980). The proposed empirical relations rely on a set of heuristic parameters which are a function of the porous media properties. From a modeling perspective, these heuristic parameters are not known a priori. In fact, Li et al. (2013) numerically investigated the possibilities of carbon dioxide solubility trapping in the sub-surface and noticed that the choice of capillary pressure–saturation models and the set of heuristic parameters used can result in predicting different flow physics.

One way of approaching this challenging problem to establish more rigorous relationships between capillary pressure and saturation is to simplify the problem and analyze multiphase flows at the pore scale comprising of a finite number of pores. Conventionally at the macroscopic scale, the capillary pressure–saturation relationships are determined under equilibrium conditions. From a pore scale perspective, this signifies that all the fluid–fluid interfaces that exist do maintain a static configuration. That is, the interface equilibrates itself with respect to the surface of the solid wall according to the contact angle boundary condition. The difference in pressures between the non-wetting and wetting phases computed at such equilibrium conditions is referred to as the static capillary pressure \(p_{c}^{s}\). There exist sufficient numerical (Dahle et al. 2005; Joekar-Niasar et al. 2010; Ferrari and Lunati 2013; Pavuluri et al. 2019) and experimental (Kalaydjian 1992; Oung et al. 2005; Camps-Roach et al. 2010) evidences which show that the capillary pressure determined under equilibrium conditions is not accurate. In addition to the static capillary pressure, the dynamics of fluid flows have to be considered while predicting the capillary pressure–saturation relationships. Fluid dynamics includes the numerous ways by which the invading fluid can occupy the available pore spaces. Lenormand et al. (1983); Zacharoudiou et al. (2017) provides a review regarding various pore filling events. The capillary pressure determined by also taking into account the dynamic effect of flows is referred to as the dynamic capillary pressure \(p_{c}^{d}\).

The difference between static and dynamic capillary pressures in a 2D superficial porous medium is highlighted in Fig. 1. The superficial porous medium comprises of two rectangular pore throats and a single square pore body, see Fig. 1c, d for information related to the dimensions of the flow medium. Though the existence of such symmetrical porous media having sharp transition between pore body and throat in the reservoirs are rare (hence we refer to the considered geometry in Fig. 1 as a superficial porous medium), the numerical study provides a basic evidence on the dynamic capillary pressure during multiphase flows. The non-wetting phase in red displaces the wetting phase in blue representing piston-like displacement during drainage (Lenormand et al. 1983; Willhite 1986).

Fig. 1
figure 1

Direct numerical simulation (DNS) of drainage in a two-dimensional superficial pore space showcasing the impact of flow dynamics on the capillary pressure. a Profiles for the total pressure that accounts for the viscous pressure and the capillary pressure along the length of the model (from center of the inlet pore throat to the center of the outlet pore throat) at different times t, b capillary pressures (dynamic and static) against normalized non-wetting phase saturation \(S_{n}^{*}\) computed during the pore filling event. The color of markers corresponds to the time shown in the legend, and cf show the stages of the pore filling event during drainage. Refer to Appendix 1 for brief description regarding the simulation and boundary conditions used

The observations are based on direct numerical simulations (DNSs). More information about the simulation can be found in Appendix section 1. Figure 1c–f shows snapshots of drainage at different times t. The non-wetting fluid commences to invade the pore space from the left pore throat. Later, the non-wetting phase enters the pore body and finally exits through the right pore throat leaving residual water trapped in the pore body. Figure 1a shows the profile of total pressure–pressure drop caused due to viscous and capillary effects along the model length. The steep pressure gradients seen as vertical lines in the total pressure profile represent the capillary pressure. The gentle gradients of pressure that lie before and after the capillary pressure represent pressure drop due to viscous dissipation during flow. Figure 1b shows the comparison of the numerically computed dynamic capillary pressure and the static capillary pressure against normalized non-wetting phase saturation \(S_{n}^{*}\). \(S_{n}^{*}\) is computed by dividing the non-wetting phase saturation at different times with non-wetting phase saturation at breakthrough, i.e., when the non-wetting fluid initially reaches the outlet boundary. The dynamic capillary pressures \(p_{c}^{d}\) (all colored markers in Fig. 1b except the green marker) have been computed from Fig. 1a by taking the difference in the total pressure values \(p_{c}^{d} = p_{n} - p_{w}\) (\(p_{n}\) refers to the pressure of the non-wetting phase, and \(p_{w}\) refers to the pressure of the wetting phase) at the location of the interface. The static capillary pressure \(p_{c}^{s}\) has been computed by relaxing the interface in the pore throat at \(t = 0.015~\text {s}\) (Fig. 1e). During the entire drainage process, we notice a maximum difference of \(9\%\) between the static (green marker in Fig. 1b) and the dynamic capillary pressure (red marker in Fig. 1b).

The pore-scale analysis presented above provides significant evidence that the flow dynamics do play a vital role in defining the capillary pressures. Though at the macroscopic scale, flow governing parameters such as the capillary pressure are averaged over a representative elementary volume (REV), the effect of flow dynamics has to be integrated into the capillary pressure equations to predict realistic fluid displacements within the sub-surface. In Hassanizadeh et al. (2005), it has been noticed that numerical models which did not account for the dynamic capillary pressure predicted faster displacement of fluids compared to experiments. Additionally, O’Carroll et al. (2010) have concluded that the dynamic capillary pressure is more sensitive at water-wet conditions and could be neglected at intermediate-wet conditions. Hanspal and Das (2012) have investigated the impact of temperature on the dynamic capillary pressure and concluded that the dynamic effects on the capillary pressure are prominent at higher temperatures. Li et al. (2016) investigated experimentally the effect of adding surfactants on the dynamic capillary pressure in systems having low permeability. Their observations concluded that the heterogeneities and tight pore structures within the porous medium have a strong impact on the dynamic capillary pressure. Further they also concluded that adding surfactants vary the capillary pressure as a consequence of change in the contact angle and surface tension. Adding surfactants resulted in reducing the dynamic capillary pressures in a low permeable reservoir.

In the literature, the non-equilibrium and the dynamic nature of flows are linked to the rate of change in wetting phase saturation \(\partial S_{w}/\partial t\). Hassanizadeh and Gray (1990) have provided the following expression to account for the flow dynamic aspects while determining the capillary pressure,

$$\begin{aligned} p_{c}^{d} = p_{c}^{s} - \tau \frac{\partial S_{w}}{\partial t}. \end{aligned}$$
(1)

In the above equation, \(p_{c}^{d}\) is the dynamic capillary pressure, \(p_{c}^{s}\) is the static capillary pressure, \(\tau \) is the dynamic capillary pressure coefficient and \(\partial S_{w}/\partial t\) is the rate of change in the wetting phase saturation. A significant research effort has been put over the past few decades to quantify the dynamic capillary pressure coefficient \(\tau \). It has been observed that the dynamic capillary pressure coefficient has a broad range of values (Mirzaei and Das 2007). The dynamic capillary pressure coefficient has been observed to be highly sensitive especially in tight reservoirs (Li et al. 2022). To study the effectiveness of surfactant flooding in carbonate reservoirs, Rabbani et al. (2019a) performed laboratory experiments on core plugs having low porosity. Rabbani et al. (2019a) observed that the flow dynamics during surfactant flooding were relatively pronounced in oil-wet conditions than in weakly oil-wet conditions. Efforts have also been made to compute the dynamic capillary pressure coefficient using dynamic pore network model (Joekar-Niasar and Hassanizadeh 2011) considering different flow regimes during drainage and imbibition and in fractured porous medium (Abbasi et al. 2018). Although there exist many investigations where the dynamic capillary pressure–saturation relationships have been determined via experimental investigations or by numerical simulations, to the authors knowledge there exist no analytical or semi-analytical models yet which could assist in determining the dynamic capillary pressure. In this paper, we make a first effort to predict the dynamic capillary pressure–saturation curves for a porous medium using a semi-analytical model. The proposed semi-analytical model is an extension to the prior work of Rabbani et al. (2019b) who developed an analytical model to predict the static capillary pressure using concepts of volume averaging and by simplifying the geometrical complexities of the porous medium. The authors believe that the proposed semi-analytical model can be integrated easily into any existing simulators. Furthermore, the computation of the dynamic capillary pressure as a function of saturation is rather fast that would potentially cut down the simulation run times substantially.

The manuscript is structured as follows. In Sect. 2, we derive the semi-analytical expression used to determine the dynamic capillary pressure as a function of saturation. We then briefly elaborate regarding the sequence of steps followed in the implemented model while solving for the dynamic capillary pressure. In Sect. 3, we validate the results predicted by the proposed semi-analytical model against the experimental and numerical data sets available in the literature. In Sect. 4, we perform sensitivity analysis on several parameters such as the contact angle and the aspect ratio to analyze variations in the dynamic capillary pressure–saturation curves. Finally, we end the paper with conclusions in Sect. 5.

2 Semi-analytical Solution for Predicting the Dynamic Capillary Pressures

In this section, we derive the semi-analytical expression that can be used to predict the dynamic capillary pressure \(p_{c}^{d}\) as a function of saturation of the wetting phase \(S_{w}\) in a heterogeneous porous medium. The semi-analytical expression developed in this work is a continuation to the work of Rabbani et al. (2019b) in which an analytical expression has been derived for predicting the static capillary pressure \(p_{c}^{s}\) as a function of saturation at the Darcy scale. The equations presented in this section have been implemented by the authors in Python, and the code is released as an open source that can be retrieved from https://github.com/MicroFluidFlow/Dynamic_CapillaryPressure.

2.1 Derivation of the Static Capillary Pressure

We commence this section by briefly outlining the work of Rabbani et al. (2019b) on which the current derivation is based. In Rabbani et al. (2019b), an analytical expression has been derived for predicting the pore throat sizes \(R_{t}\) occupied by the fluid–fluid interfaces as the interfaces invade through the porous media, as a function of non-wetting phase saturation \(S_{n}\) at the reservoir scale. For a more detailed explanation regarding the background concepts and derivation to compute \(R_{t},\) we refer to Rabbani et al. (2019b). Rabbani et al. (2019b) used the concepts of volume averaging to bridge the pore scale physics to the Darcy scale. At the pore scale, the solid grains are considered to be spherical having a uniform grain radius \(r_{g}\). At the macroscopic scale, the radius of the pore throats (\(R_t\)) that are occupied by the fluid–fluid interfaces are a function of saturation and can be determined using the following equation (Rabbani et al. 2019b)

$$\begin{aligned} R_t(S_n) = R_t(S_{n-1}) + \frac{\partial R_t}{\partial S_{n-1}} (S_n - S_{n-1}), \end{aligned}$$
(2)

where

$$\begin{aligned} \frac{\partial R_{t}}{\partial S_{n}} = {-} \Bigg [\frac{\root 3 \of {\phi S_{n} (1 - tan (\beta ))^3 r_g^3}}{3} \cdot \frac{8+27(1 - tan (\beta ))^3}{S_{n}(8+27(1 - tan (\beta ))^3) - \phi S_{n} (8+27(1 - tan (\beta ))^3)^\frac{4}{3}}\Bigg ]. \end{aligned}$$
(3)

In Eq. (2) considering that there exist n data values for the saturation (\(S_1, S_2,..., S_n\)), the pore throat radius at a specific saturation \(R_t(S_{n})\) depends on \(R_{t}\) at the previous value of saturation, i.e., \(R_{t}(S_{n-1})\) and an additional term that accounts for the rate of change in the pore throat radius occupied by the fluid–fluid interfaces at equilibrium as a function of saturation \(\partial R_t/\partial S_{n-1}\). \(\partial R_t/\partial S_{n-1}\) can be predicted using Eq. (3). In Eq. (3), \(\phi \) refers to the porosity of the medium, and \(\beta \) refers to the orientation angle which is the angle made between the pore throat and pore body computed as \(\beta ~=~tan^{-1}(1~-~(r_{t}/r_{b}))\) (Rabbani et al. 2019b) where \(r_{b}, r_{t}\) are the radius of the pore body and pore throat at the pore scale, respectively. We define the aspect ratio of the pore as \(f = r_{b}/r_{t}\). To account for the surface roughness and other heterogeneities present within the porous medium, Eq. (2) is further modified as

$$\begin{aligned} R_t^{'} = \frac{R_t(S_n)}{(S_w^a + S_n^2) exp(S_w)}, \end{aligned}$$
(4)

where a is a heuristic parameter that depends on the rugosity of the porous medium (Rabbani et al. 2019b). The grain radius \(r_g\) introduced earlier in Eq. (3) is determined using,

$$\begin{aligned} r_g = min \Bigg (\frac{(r_t - R_t^{'}(S_n = i))^{2}}{r_t}\Bigg ). \end{aligned}$$
(5)

In the above equation, \(R_t^{'}(S_n = i)\) refers to the modified pore throat radius occupied by the interfaces at saturation of the non-wetting phase at an intermediate value between 0 and \(1 - S_{wr}\). \(S_{wr}\) refers to the residual water saturation. A minimization algorithm is used to solve the above equation to obtain a value for the grain radius \(r_g\) and the heuristic parameter a introduced in Eq. (4). Note that for the initial computation of \(R_{t}\) by Eqs. (3), (4), we use an initial guess values for the grain radius \(r_{g}\) and the heuristic parameter a. The newly computed data of the grain radius \(r_{g}\) and the heuristic parameter a are re-substituted to compute the new pore throat radius \(R_t^{'}\) occupied by the interfaces from Eq. (4). With this data, the static capillary pressure \(p_{c}^{s}\) can be computed as

$$\begin{aligned} p_{c}^{s} = \frac{2 \sigma cos(\theta )}{R_t^{'}}, \end{aligned}$$
(6)

where \(\sigma \) is the surface tension between the wetting and non-wetting phase and \(\theta \) is the contact angle that the wetting fluid makes with the solid grains.

2.2 Derivation of the Viscous Pressure Drop of Fluids and the Dynamic Capillary Pressure

In this section, we discuss the procedure followed to determine the pressure drop of the wetting and non-wetting fluids. We derive the expressions making use of some of the fundamental concepts of fluid mechanics. The Darcy’s two-phase flow equation (Helmig et al. 1997) is given by

$$\begin{aligned} \triangle p_{\alpha } = \frac{U_{\alpha } \mu _{\alpha } L_{\alpha }}{\kappa _{\alpha }}, \end{aligned}$$
(7)

where subscript \(\alpha \) refers to the fluid phases-wetting, non-wetting, \(\triangle p_{\alpha }\) refers to the pressure drop along the length \(L_{\alpha }\) of the porous medium occupied by the fluid \(\alpha \), \(U_{\alpha }\) is the velocity, \(\mu _{\alpha }\) is the viscosity, and \(\kappa _{\alpha }\) is the effective permeability of fluid \(\alpha \). The effective permeability of a phase \(\kappa _{\alpha } = K k_{r,\alpha }\) where K is the absolute permeability of the porous medium and \(k_{r,\alpha }\) is the relative permeability of fluid \(\alpha \). In Eq. (7), the length occupied by fluid phase \(\alpha \) can be considered to be \(L_{\alpha } = L_{T}S_{\alpha }\) where \(L_{T}\) is the total length of the porous medium and \(S_{\alpha }\) is the saturation of fluid \(\alpha \). Incorporating the above into Eq. (7) gives

$$\begin{aligned} \triangle p_{\alpha } = \frac{U_{\alpha } \mu _{\alpha } L_{T} S_{\alpha }}{\kappa _{\alpha }}. \end{aligned}$$
(8)

Taking derivative of \(\triangle p_{\alpha }\) with respect to \(S_{\alpha }\) and dividing the numerator and denominator on the right-hand side with \(S_\alpha \) give

$$\begin{aligned} \frac{\partial \triangle p_{\alpha }}{\partial S_\alpha } = U_{\alpha } \mu _{\alpha } L_{T} \Bigg [ \frac{\frac{\kappa _{\alpha }}{S_\alpha } - \frac{S_{\alpha }}{S_{\alpha }} \frac{\partial \kappa _{\alpha }}{\partial S_{\alpha }} }{\frac{\kappa _{\alpha }^{2}}{S_\alpha }} \Bigg ]. \end{aligned}$$
(9)

In the above equation, we consider only the effective permeability \(\kappa _{\alpha }\) to be a function of saturation. In general, fluid velocity \(U_{\alpha }\) depends on \(S_{\alpha }\). As it can be seen later in Eq. (20), \(U_{\alpha }\) includes complex nonlinear terms making it difficult to derive the analytical expression proposed here. Hence, we assume \(U_{\alpha }\) to be a constant while deriving the above equation. Rearranging the above equation gives

$$\begin{aligned} \frac{\partial \triangle p_{\alpha }}{\partial S_\alpha } = \frac{U_{\alpha } \mu _{\alpha } L_{T} S_{\alpha }}{\kappa _{\alpha }^{2}} \Big [ \frac{\kappa _\alpha }{S_{\alpha }} - \frac{\partial \kappa _\alpha }{\partial S_{\alpha }} \Big ], \end{aligned}$$
(10)

and solving for \(\kappa _{\alpha }/S_{\alpha }\) gives

$$\begin{aligned} \frac{\kappa _{\alpha }}{S_{\alpha }} = \frac{\partial \triangle p_{\alpha }}{\partial S_{\alpha }} \frac{\kappa _{\alpha }^{2}}{U_{\alpha }\mu _{\alpha }L_{T}S_{\alpha }} + \frac{\partial \kappa _{\alpha }}{\partial S_{\alpha }}. \end{aligned}$$
(11)

In conventional reservoirs, the absolute permeability is approximately of order \(K\approx ~1\times ~10^{-10}~\text {m}^{2}\) (Weger et al. 2009) and \(k_{r,\alpha }~<~1\) (Helmig et al. 1997; Blunt 2017) which results in \(\kappa ^{2}\) having values lesser than \(\kappa _{\alpha }~\approx ~10^{-20}~\text {m}^{4}\). Therefore, the first term in the right-hand side of Eq. (11) is neglected resulting in the following equation for \(\triangle p_{\alpha }\) based on Eq. (8)

$$\begin{aligned} \triangle p_{\alpha } \approx U_{\alpha } \mu _{\alpha } L_{T} \frac{\partial S_{\alpha }}{\partial \kappa _{\alpha }}. \end{aligned}$$
(12)

To determine the pressure drop \(\triangle p_{\alpha }\) from Eq. (12), there exist two unknowns. The first unknown being \(\partial S_{\alpha } / \partial \kappa _{\alpha }\) that describes how the saturation varies as a function of effective permeability and the second unknown being the velocity \(U_{\alpha }\).

For the sake of simplicity, we initially determine \(\partial \kappa _{\alpha } / \partial S_{\alpha }\) and substitute the inverse of the result in Eq. (12). For drainage during which the invading non-wetting phase prefers to drain through pore bodies—using the chain rule gives, \(\partial \kappa _{n} / \partial S_{n} = \frac{\partial \kappa _{n}}{\partial R_{b}} \frac{\partial R_{b}}{\partial S_{n}}\) where \(R_{b}\) are the radius of the pore bodies at the Darcy scale. As discussed in Sect. 2.1, at the pore scale, the radius of the pore throats \(r_{t}\) is related to the radius of the pore bodies \(r_{b}\). We assume that this relation holds true at the Darcy scale. Therefore, \(\partial R_{b} / \partial S_{n}\) can be further expanded using chain rule as \(\partial R_{b} / \partial S_{n} = \frac{\partial R_{b}}{\partial R_{t}} \frac{\partial R_{t}}{\partial S_{n}}\). Substituting the above relations gives

$$\begin{aligned} \frac{\partial \kappa _{n}}{\partial S_{n}} = \frac{\partial \kappa _{n}}{\partial R_{b}} \frac{\partial R_{b}}{\partial S_{n}} = \frac{\partial \kappa _{n}}{\partial R_{b}} \frac{\partial R_{b}}{\partial R_{t}} \frac{\partial R_{t}}{\partial S_{n}} = \frac{\partial \kappa _{n}}{\partial R_{t}} \frac{\partial R_{t}}{\partial S_{n}}. \end{aligned}$$
(13)

The effective permeability is \(\kappa _{n} = K k_{r,n}\). According to Walsh and Brace (1984); Gueguen and Dienes (1989); Martys and Garboczi (1992), the absolute permeability K of the porous medium can be approximated as \(K \approx j \phi R_{t}^{2}\) where j accounts for the geometric properties of the considered porous medium that includes the aspect ratio of the pores, shape and orientation of the pores, connectivity and tortuosity. In this work, we consider j to additionally account for the description of flows when two phases exist in the porous medium thereby accounting for the relative permeability of fluids \(k_{r,\alpha }\). Substituting the above relation in Eq. (13) gives \(\partial \kappa _{n} / \partial R_{t} = 2 j \phi R_{t}\). Substituting \(\partial \kappa _{n} / \partial R_{t}\) in Eq. (13) gives

$$\begin{aligned} \frac{\partial \kappa _{n}}{\partial S_{n}} = -2 j \phi R_{t} \frac{\partial R_{t}}{\partial S_{n}}. \end{aligned}$$
(14)

As effective permeability of fluid increases with saturation of a specific phase, Eq. (14) has a negative sign as \(\partial R_{t} / \partial S_{n}\) is negative. Repeating the same procedure shown above for the wetting phase, i.e., (i) using the chain rule \(\partial \kappa _{w} / \partial S_{w} = \frac{\partial \kappa _{w}}{\partial R_{t}} \frac{\partial R_{t}}{\partial S_{w}}\), and (ii) substituting the expression for effective permeability gives

$$\begin{aligned} \frac{\partial \kappa _{w}}{\partial S_{w}} = 2 k \phi R_{t} \frac{\partial R_{t}}{\partial S_{w}}. \end{aligned}$$
(15)

jk in Eqs. (14), (15) respectively are used as fitting parameters in this study.

To determine the Darcy flow velocity \(U_{\alpha }\) in Eq. (12), we use the capillary number Ca. Ca is a dimensionless number that describes the ratio of viscous to the capillary forces. The macroscopic scale capillary number \(Ca_{M}\) can be expressed as,

$$\begin{aligned} Ca_{M} = \frac{\text {viscous forces}}{\text {capillary forces}} = \frac{\triangle {p_{io}} - p_{c}^{s}}{p_{c}^{s}}, \end{aligned}$$
(16)

where \(\triangle {p_{io}}\) refers to the pressure difference between the inlet and outlet boundaries of the porous medium. \(\triangle {p_{io}}\) includes contributions from both the viscous and the capillary effects. Therefore, \(p_{c}^{s}\) is removed from \(\triangle p_{io}\) to obtain exclusively the viscous contributions as shown in the numerator of Eq. (16). On the other hand, at the pore scale, the viscous forces are pronounced in the pore throats rather than in the pore bodies. Assuming that the pore throats are cylindrical, Hagen–Poiseuille’s equation (Sutera and Skalak 1993) can be used to describe the viscous forces. The capillary forces can be described using the Young–Laplace equation (Blunt 2017). The capillary number at the pore scale can be written as

$$\begin{aligned} Ca_{m} = \frac{\text {viscous forces}}{\text {capillary forces}} = \frac{\frac{8 \mu _{n} \ell _{n} \tilde{U}}{r_{t}^2} + \frac{8 \mu _{w} \ell _{w} \tilde{U}}{r_{t}^2}}{\frac{2 \sigma cos (\theta )}{r_{t}}}. \end{aligned}$$
(17)

In the above equation, \(\ell _{\alpha }\) refers to the length of the pore throat occupied by the fluid \(\alpha \), \(\tilde{U}\) refers to the fluid velocity at the pore scale and \(r_{t}\) refers to the radius of the pore throat at the pore scale. Note that within a pore throat, both the wetting and non-wetting fluids are displaced at the same velocity meaning that there exists only a single velocity field \(\tilde{U}\) as in Eq. (17). As Ca is defined at the micro and macroscales, we now use techniques of upscaling to bridge the definition of Ca across the scales. The Darcy velocity \(U_{\alpha }\) is linked to the pore-scale velocity \(\tilde{U}\) as \(\tilde{U} = \frac{U_{\alpha }}{\phi }\). The occupancy of the non-wetting fluid in the pore throat \(\ell _{n}\) can be written as \(\ell _{n} = L_{T} S_{n},\) and the wetting phase occupancy can be written as \(\ell _{w} = L_{T} S_{w}\) where \(L_{T}\) is the length of the flow medium over which the pressure drop is applied. Substituting the above-mentioned scaling parameters in Eq. (17) gives an upscaled capillary number \(Ca_{us}\),

$$\begin{aligned} Ca_{us} = \frac{\frac{8 \mu _{n} L_{T} S_{n} \frac{U_{\alpha }}{\phi }}{r_{t}^2} + \frac{8 \mu _{w} L_{T} S_{w} \frac{U_{\alpha }}{\phi }}{r_{t}^2}}{\frac{2 \sigma cos (\theta )}{r_{t}}}. \end{aligned}$$
(18)

Assuming that the capillary number defined at the macroscale by Eq. (16) is approximately equal to the upscaled capillary number in Eq. (18) gives,

$$\begin{aligned} \frac{\triangle {p_{io}} - p_{c}^{s}}{ p_{c}^{s}} = \frac{\frac{8 \mu _{n} L_{T} S_{n} \frac{U_{\alpha }}{\phi }}{r_{t}^2} + \frac{8 \mu _{w} L_{T} S_{w} \frac{U_{\alpha }}{\phi }}{r_{t}^2}}{\frac{2 \sigma cos (\theta )}{r_{t}}}. \end{aligned}$$
(19)

Reorganizing the above equation gives an expression for the Darcy velocity \(U_{\alpha }\),

$$\begin{aligned} U_{\alpha } = \frac{\triangle {p_{io}} - p_{c}^{s}}{p_{c}^{s}} \frac{\sigma cos (\theta ) \phi r_{t}}{4 L_{T} (\mu _{n} S_{n} + \mu _{w} S_{w})}. \end{aligned}$$
(20)

Substituting (i). change of saturation as a function of effective permeability \(\partial S_{\alpha } / \partial \kappa _{\alpha },\) i.e., inverse of Eqs. (14), (15), and (ii). the Darcy velocity \(U_{\alpha }\) of Eq. (20) in Eq. (12) gives,

$$\begin{aligned} \triangle p_{n} = \frac{\triangle {p_{io}} - p_{c}^{s}}{p_{c}^{s}} \frac{\sigma cos (\theta ) r_{t}}{4 (\mu _{n} S_{n} + \mu _{w} S_{w})} \frac{\mu _{n}}{2 j R_{t}} \Bigg ( \frac{r_{g} \root 3 \of {\phi }}{3fS_{n}\root 3 \of {(1-\phi )^{4}}} \Bigg ). \end{aligned}$$
(21)

Similarly, the pressure drop for the wetting phase is

$$\begin{aligned} \triangle p_{w} = \frac{\triangle {p_{io}} - p_{c}^{s}}{p_{c}^{s}} \frac{\sigma cos (\theta ) r_{t}}{4 (\mu _{n} S_{n} + \mu _{w} S_{w})} \frac{\mu _{w}}{2 k R_{t}} \Bigg ( \frac{r_{g} \root 3 \of {\phi }}{3fS_{w}\root 3 \of {(1-\phi )^{4}}} \Bigg ). \end{aligned}$$
(22)

Finally, the dynamic capillary pressure \(p_{c}^{d}\) is determined considering the contributions from \(p_{c}^{s}\)—Eq. (6), \(\triangle p_{n}\)—Eq. (21), and \(\triangle p_{w}\)—Eq. (22) as

$$\begin{aligned} p_{c}^{d} = p_{c}^{s} + \triangle p_{n} + \triangle p_{w}. \end{aligned}$$
(23)

2.3 Solving the Semi-analytical Model to Compute Dynamic Capillary Pressure

In this section, we briefly describe the sequential order of steps followed to compute the dynamic capillary pressure as a function of saturation based on the derivation presented in Sects. 2.1, 2.2. The source code of the developed semi-analytical model can be retrieved from https://github.com/MicroFluidFlow/Dynamic_CapillaryPressure.

Figure 2 shows a flowchart illustrating the sequential order of steps followed to compute the dynamic capillary pressure. We commence the model by setting up all the essential and available data. These include the parameters related to the properties of the porous medium, properties of the fluids, properties of the macroscopic medium and properties of the solid–fluid interactions. The number of saturation data points (d) required is specified such that \(S_{0} = S_{wr}, S_{1} = S_{0} + \frac{(1 - S_{wr})}{d}, S_{2} = S_{1} + \frac{(1 - S_{wr})}{d}, S_{3},..., S_{d-1}\). Information related to the pressure difference between inlet–outlet boundaries \(\triangle p_{io}\) is also required to be specified as an input parameter.

Fig. 2
figure 2

Flowchart showcasing the sequential order of steps followed to solve for the dynamic capillary pressure as a function of water saturation using the semi-analytical model presented in Sect. 2

We prepare a kernel to compute the pore throat radius occupied by the interfaces \(R_{t}\) by solving Eqs. (2), (3), (4) and (5). We commence this step by using initial guess values for the grain radius \(r_{g}\)—used in Eq. (3), and for the heuristic parameter a—used in Eq. (4). We use the Nelder–Mead’s (Nelder and Mead 1965) minimization algorithm to update the values of the grain radius and the heuristic parameter. These updated parameters are then used to compute the values of \(R_{t}\) as a function of water saturation. The computed modified pore throat radius occupied by the interfaces \(R_{t}^{'}\) in Eq. (4) is used to compute the static capillary pressure \(p_{c}^{s}\) using Eq. (6).

Using the data of \(R_t\), \(\partial R_{t}/\partial S_{i}\) can be computed using Eq. (3). This computed data can be used to calculate the rate of change in permeability of fluids as a function of saturation using Eqs. (14), (15). The Darcy flow velocity \(U_{\alpha }\) is solved using Eq. (20). The computed Darcy flow velocity and rate of permeability change as a function of saturation are used in Eq. (12) to determine the pressure drop of fluids \(\triangle {p_{\alpha }}\). Finally, the dynamic capillary pressure is computed using Eq. (23).

The proposed semi-analytical model is in general simple to implement, and the users may tune the input parameters according to the specific porous medium under investigation. The semi-analytical model is computationally inexpensive to solve and thus leverages the advantage of being amenable toward integration within existing continuum-scale modeling frameworks.

3 Validation of the Proposed Semi-analytical Model

In this section, we validate the semi-analytical model presented in Sect. 2 to predict the dynamic capillary pressure as a function of saturation for drainage flow displacements. The validations are made against literature data sets which comprises of the information related to the static and dynamic capillary pressures determined using numerical and experimental investigations. The comparisons have been made considering different viscosity ratios \(M = \mu _{n}/\mu _{w}\) and for different applied flow pressure differences \(\triangle p_{io}\) between the inlet and outlet boundaries of the macroscopic porous medium.

3.1 Validation Against Dynamic Pore Network Model

Joekar-Niasar and Hassanizadeh (2011) developed a dynamic pore network model accounting for the non-equilibrium effects that occur during drainage and imbibition. Joekar-Niasar and Hassanizadeh (2011) have noticed that when the applied pressure differences between the boundaries of the domain \(\triangle p_{io}\) are greater, the computed dynamic capillary pressures were significantly different compared to the static capillary pressures. Furthermore, the authors noticed that the difference between static and dynamic capillary pressures is significant when the fluid displacement occurs as a stable displacement compared to displacement patterns that cause fingering.

For validation, we compare the results of the dynamic pore network model from Joekar-Niasar and Hassanizadeh (2011) with the results predicted by the proposed semi-analytical dynamic capillary pressure model presented in Sect. 2 for three different applied flow pressure differences \(\triangle p_{io}~=~45~\text {kPa}, ~60~\text {kPa}\) and  \(90~\text {kPa}\). For the mentioned pressure differences, we compare the results at three different viscosity ratios \(M~=~\mu _{n}/\mu _{w}~=~0.1,~1\) and  10. The viscosity of the non-wetting phase is always kept constant \(\mu _{n}~=~0.001~\text {kg}/\text {ms},\) and the viscosity of the wetting phase \(\mu _{w}\) is varied accordingly. The porosity of the medium investigated is \(\phi ~=~0.14,\) and the surface tension between fluids is \(\sigma ~=~0.0725~\text {kg/s}^{2}\). The contact angle is considered to be \(\theta = 0^{\circ }\).

Figure 3 compares the static capillary pressure \(p_{c}^{s}\) computed from Eq. (6) against the literature data.

Fig. 3
figure 3

Comparison of the static capillary pressure \(p_{c}^{s}\) computed from Eq. (6) shown by continuous blue lines with the literature data shown by green circular markers against the water saturation \(S_{w}\). The literature data are taken from Joekar-Niasar and Hassanizadeh (2011). We curtail our investigations for water saturation in the range of \(S_{w} = 0.2 - 1\) to avoid any apparent comparisons subjected to boundary effects. For sub-figures a, b, c, the discrepancy (%) enclosed in boxes corresponds to the discrepancies calculated at exact \(S_{w}\) values shown in the boxes directly beneath the discrepancy

We take into account the information of the residual water saturation \(S_{wr}\) for each case specifically from the literature and use it as an input parameter for the semi-analytical model. On an average, the residual water saturations are typically around \(S_{wr} = 0.06\). The pore throat radius at the pore scale \(r_{t}\) is adapted in such a way that we match the capillary pressure values (entry pressure for imbibition) from the literature at residual water saturation \(S_{wr}\). Though the viscosity of fluids has no direct impact on the static capillary pressure Eq. (6), we notice a difference in the static capillary pressure due to the difference in the pore throat sizes \(r_{t}\). In the comparison, we investigate and display the capillary pressure profiles in the range of water saturation \(S_{w} = 0.2 - 1\) to avoid potential comparisons subjected to boundary effects. In Fig. 3, we also showcase the discrepancies in % against saturation. The discrepancy (in %) is computed as 100*abs(SA-LD)/(LD) where the abbreviations abs refers to absolute values, SA for data obtained from semi-analytical model and LD for the literature data.

In general, from Fig. 3a–c we notice that the results predicted by the semi-analytical model match well with the literature data. Particularly, the semi-analytical model is capable to predict the trends of the static capillary pressure confirming the accuracy in the predictions of the pore throat radius occupied by the interfaces \(R_{t}^{'}\) as a function of saturation using the set of Eqs. (2), (3), (4) and (5). The maximum differences between the results predicted by the semi-analytical model and the literature data are around \(25\%\) seen at \(S_{w}\approx 0.2\) and/or at \(S_{w}\approx 1\). At intermediate saturation values, the discrepancies are typically less than \(10\%\).

Figure 4 compares the results of the dynamic capillary pressure \(p_{c}^{d}\) as a function of water saturation \(S_{w}\) at different viscosity ratios M and at different applied flow pressure differences \(\triangle p_{io}\). Note that for \(M~=~0.1\) and \(\triangle ~p_{io}~=~45~\text {kPa}\) there are no literature data available; hence, we display the results from the semi-analytical model only. For reference, \(p_{c}^{s}\) are also shown in Fig. 4.

Fig. 4
figure 4

Comparison of the dynamic capillary pressure \(p_{c}^{d}\) as a function of water saturation \(S_{w}\) at different viscosity ratios M and at different applied flow pressure differences \(\triangle p_{io}\). Results predicted by the semi-analytical model, for the dynamic capillary pressure \(p_{c}^{d},\) are shown by the black lines, and the static capillary pressure \(p_{c}^{s}\) is shown by the blue line. The literature data are taken from Joekar-Niasar and Hassanizadeh (2011) and is shown by green circular markers. The discrepancy in the results between the semi-analytical model and the literature data is shown for reference. In all sub-figures (except a), the discrepancy (%) enclosed in boxes corresponds to the discrepancies calculated at exact \(S_{w}\) values shown in the boxes directly beneath the discrepancy

We also showcase the discrepancies obtained between the results computed by the proposed semi-analytical model and the literature data for all the cases. In Eqs. (14), (15), there exist fitting parameters jk, respectively. The values for these fitting parameters are obtained through the trail-and-error method such that the discrepancy between literature data and the semi-analytical model is minimal. For this specific validation study, we found decent agreement between the results of the semi-analytical model and the dynamic pore network model when \(j=k\) and the values for the constants have a range 0.55–0.6. The GitHub repository that provides the code for the proposed semi-analytical model comprises of a text file that indicates the values of jk for all the cases investigated. From Fig. 4, we observe that the trends followed by \(p_{c}^{d}~ \text {vs}~S_{w}\) and \(p_{c}^{s}~\text {vs}~S_{w}\) are almost parallel except at extreme saturation values, i.e., at \(S_{w}\approx S_{wr}\), \(S_{w}\approx 1\). Upon accounting for the flow dynamics, \(p_{c}^{d}\) is seen to be always greater than \(p_{c}^{s}\). In general, from Fig. 4, the results predicted by the proposed semi-analytical model match well with the literature data especially for \(M~=~0.1\) in Fig. 4a–c, \(M~=~1\) in Fig. 4d–f at all investigated \(\triangle ~p_{io}\). For \(M~=~10\) at moderate applied pressure differences \(p_{io}~=~45~\text {kPa}, 60~\text {kPa},\) we obtain satisfactory matches. However, at \(M~=~10, \triangle ~p_{io}~=~90~\text {kPa}\) we have seen the largest discrepancy among the investigated set of cases. On an average, the discrepancies noticed between the semi-analytical model and the literature data are within 20%. The maximum discrepancies between the semi-analytical model and the literature data are generally observed at extreme saturation values, i.e., at \(S_{w}~\approx ~S_{wr},~S_{w}~=~1\).

For few cases such as (i.) \(M=0.1, \triangle p_{io}=90~\text {kPa}\) and (ii.)\(M=10, \triangle p_{io}=90~\text {kPa},\) the literature data show an unconventional drop in \(p_{c}^{d}\) at \(S_{w}~<~0.4\) and an unconventional rise in \(p_{c}^{d}\) at \(S_{w}~<~0.6,\) respectively. These trends could potentially be a consequence of the flow dynamics/instabilities that may arise due to events such as cooperative pore body filling, Haynes jumps, snap-off during drainage incorporated in the dynamic pore network model of Joekar-Niasar and Hassanizadeh (2011). However, these specific trends could not be captured by the proposed semi-analytical model as it would require a better and sophisticated equations to better define the fitting parameters jk. Comparison of the results of semi-analytical model with the dynamic PNM shows that the proposed model has the capability to approximately compute the magnitudes of \(p_{c}^{d}\) that can aid in improving the predictions of reservoir simulators.

3.2 Validation Against Experiment

We now validate the proposed semi-analytical model against experimental results. The experimental data set considered for comparison is from the work of Abidoye and Das (2014). In Abidoye and Das (2014), the authors investigated scale dependency effects on the dynamic capillary pressure and noticed that the dynamic effects were prominent in larger flow domains and at higher viscosity ratios. The authors further made efforts to link the experimental observations at various flow conditions with the dynamic capillary pressure using Eq. (1) by determining the dynamic capillary pressure coefficients \(\tau \).

The porosity of the medium was measured to be \(\phi ~=~0.38,\) and the experiments were conducted at various viscosity ratios \(M~=~\mu _{n}/\mu _{w}~=~200, ~500\) and  1000. The viscosity of water is kept constant for all the investigated cases \(\mu _{w}=8.9\times 10^{-4}~\text {kg}/\text {ms}\). The viscosity of the non-wetting fluid is adapted accordingly to achieve the corresponding viscosity ratios. For the above-mentioned viscosity ratios, investigations are performed at applied flow pressure differences of \(\triangle p_{io}~=~10~\text { kPa}, 15~\text { kPa}\) and \(20~\text {kPa}\). Compared to the case discussed in Sect. 3.1, the range for the viscosity ratios under investigation are much larger \(M>> 10;\) however, the range of applied pressure differences \(p_{io}\) are low. The surface tension between fluids is considered to be \(\sigma = 0.021~\text {kg}/\text {s}^{2},\) and the contact angle is \(\theta = 40^{\circ }\).

Figure 5 compares the results of the static capillary pressure \(p_{c}^{s}\) as a function of water saturation \(S_{w}\) at different viscosity ratios. We curtail our analysis for water saturations in the range of \(S_{w} = 0.2 - 1\) to avoid any comparisons subjected to boundary effects.

Fig. 5
figure 5

Static capillary pressure \(p_{c}^{s}\) values as a function of water saturation \(S_{w}\) for different viscosity ratios a \(M~=~200\), b \(M~=~500\) and, c \(M~=~1000\). The continuous blue lines represent the static capillary pressures computed using the semi-analytical model. The experimental data are shown by green circular markers taken from Abidoye and Das (2014). For sub-figures a, b, c, the discrepancy (%) enclosed in boxes corresponds to the discrepancies calculated at exact \(S_{w}\) values shown in the boxes directly beneath the discrepancy

From Fig. 5, we notice that the trend of the static capillary pressures predicted by the semi-analytical model matches well with the experimental data set. The discrepancies of \(p_{c}^{s}\) between the semi-analytical model and experimental data are within 20% as shown in Fig. 5. The residual water saturation is an input parameter taken from the literature. The pore throat radius at the pore scale is adapted accordingly so that the capillary pressures match at residual water saturations for the semi-analytical model and the experimental data. Results from Fig. 5 once again affirm the accuracy in computation of the pore throats radius occupied by the interfaces \(R_{t}\) as a function of water saturation. Compared to the previous analysis presented in Sect. 3.1, the static capillary pressure values for this case are approximately ten times lower as a consequence of relatively larger sizes of the pore spaces.

Figure 6 compares the results of the dynamic capillary pressure as a function of water saturation at different viscosity ratios M and at different applied flow pressure differences \(\triangle p_{io}\).

Fig. 6
figure 6

Comparison of the dynamic capillary pressure \(p_{c}^{d}\) as a function of water saturation \(S_{w}\) at different viscosity ratios M and different applied flow pressure differences \(p_{io}\). Results predicted by the semi-analytical model for the dynamic capillary pressure are shown by the black lines, and the static capillary pressure is shown by the blue line. The literature data taken from Abidoye and Das (2014) are shown by green circular markers. The discrepancy in the results between the semi-analytical model and the literature data is shown for reference. In all sub-figures, the discrepancy (%) enclosed in boxes corresponds to the discrepancies calculated at exact \(S_{w}\) values shown in the boxes directly beneath the discrepancy

The values used for fitting parameters jk in Eqs. (14), (15), respectively, are specified in the text file of the provided GitHub repository. For \(M~=~200\), in Fig. 6a–c we notice that \(p_{c}^{d}\) computed by the semi-analytical model is marginally greater than the experimental data especially at \(0.6< S_{w} < 1\). We interestingly notice from the experimental data set that for \(M~=~200\) at \(\triangle ~p_{io}~=~10~\text {kPa}, 15~\text {kPa}\) at \(S_{w}~\approx ~1,\) the static capillary pressure and dynamic capillary pressure are almost equal. This is also seen for \(M~=~500, 1000\), \(\triangle ~p_{io}~=~10~\text {kPa}\) among the investigated data set. On the other hand, the semi-analytical model always predicted \(p_{c}^{d}\) greater than \(p_{c}^{s}\) at all \(S_{w}\). In general, from the validated test sets, we find that the discrepancy between the experimental data and the semi-analytical predictions is within 20%. A potential cause for the discrepancies could also be due to the numerous complexities that arise in the measurements while performing experiments.

Once again, this validation test case gives us confidence that the proposed semi-analytical model is capable to predict the magnitudes of the dynamic capillary pressures with reasonable ranges of accuracy.

4 Sensitivity Analysis Considering Parameters that Impact Dynamic Capillary Pressure

We perform a sensitivity analysis to investigate the trends of the dynamic capillary pressure–wetting phase saturation curves considering different contact angles \(\theta \) and aspect ratios f at a fixed applied pressure difference \(\triangle p_{io}\). The aspect ratio is defined as the ratio of the radius of the pore body \(r_{b}\) to that of the pore throat \(r_{t}\) at the pore scale, \(f = r_{b}/r_{t}\). The reason for performing sensitivity analysis considering the above-mentioned parameters—\(\theta , f\) is based on the final form of the expressions in Eq. (23).

4.1 Impact of Contact Angle on Dynamic Capillary Pressure

The aspect ratio considered for this investigation is \(f = 1.5\) with the radius of the pore throat set to \(r_{t}~=~8.4~\mu \text {m}\). The applied pressure drop for flow is set to \(\triangle p_{io}~=~45~\text {kPa},\) and the porosity is set to \(\phi ~=~0.14\). The contact angles investigated are \(\theta ~=~20^{\circ }, 40^{\circ }\) and \(60^{\circ }\). We investigate the trends of the dynamic capillary pressure at a viscosity ratio of \(M~=~1\) with \(\mu _{\alpha }~=~0.001~\text {kg/ms}\). The surface tension between fluids is considered to be \(\sigma = 0.0725~ \text {kg}/\text {s}^{2}\). The fitting parameters jk used in Eqs. (14), (15), respectively, are kept equal \(j = k = 0.6\).

Figure 7a shows the trends for \(p_{c}^{s}, p_{c}^{d}\) against wetting phase saturation \(S_{w}\). As \(p_{c}^{s}\) is directly proportional to \(cos(\theta )\) by Eq. (6), we notice an increase in \(p_{c}^{s}\) as the contact angle reduces.

Fig. 7
figure 7

Impact of contact angle \(\theta = 20^{\circ }, 40^{\circ }, 60^{\circ }\) on the dynamic capillary pressure \(p_{c}^{d}\) and static capillary pressure \(p_{c}^{s}\). a \(p_{c}^{d}, p_{c}^{s}\) against wetting phase saturation \(S_{w}\) at different \(\theta \), b impact of flow dynamics on \(p_{c}^{d}\) shown by continuous lines obtained by taking the difference between \(p_{c}^{d}, p_{c}^{s}\). The ratio of viscous to capillary pressure drop is shown by dashed line \((\triangle p_{io} - p_{c}^{s})/p_{c}^{s}\) where \(\triangle p_{io} = 45~\text {kPa}\) indicates the pressure drop between the inlet and outlet boundaries of the porous medium

For all the \(\theta \) investigated, \(p_{c}^{d} > p_{c}^{s}\) at all times. However, the contribution of the flow dynamics on the dynamic capillary pressure is seen to be relatively significant at intermediate contact angles as shown in Fig. 7b indicated by the data \(p_{c}^{d} - p_{c}^{s}\). During drainage, the capillary forces resist the invasion processes of the non-wetting phase. This indicates that at lower contact angles (\(\theta = 20^{\circ }\)) there exists relatively more capillary resistance against invasion of the non-wetting phase than at \(\theta = 60^{\circ }\). Hence, we do expect relatively greater flow velocities at intermediate wetting conditions than at more wet conditions which consequently results in relatively greater dynamic capillary pressure at intermediate wetting conditions. Figure 7b also shows the trend of \((\triangle p_{io} - p_{c}^{s})/p_{c}^{s}\) at different \(\theta \) against \(S_{w}\). This dimensionless term exclusively indicates the ratio of viscous to capillary pressure drops and is part of Eq. (23). Note that \(\triangle p_{io} = 45~\text {kPa}\). In general, \((\triangle p_{io} - p_{c}^{s})/p_{c}^{s}\) shows a decreasing trend as wetting phase saturation reduces due to the increase in \(p_{c}^{s}\) as \(S_{w}\) reduces. As discussed earlier, when contributions from the capillary forces commence to increase, this results in a contribution to decrease the dynamic flow effects.

4.2 Impact of Aspect Ratio on Dynamic Capillary Pressure

For this case, we keep the contact angle fixed at \(\theta ~=~20^{\circ }\) and the applied pressure drop is set to \(\triangle p_{io}~=~45~\text {kPa}\). The radius of the pore body is set to \(r_{b}~=~50~\mu \text {m},\) and the radius of the pore throat \(r_{t}\) is varied to have aspect ratios of \(f~=~r_{b}/r_{t}~=~1.66, 2.5\) and 5. The porosity is set to \(\phi = 0.6\). All other essential parameters such as the fluid, solid and fluid–solid properties are similar to the parameters used in Sect. 4.1. Figure 8a shows \(p_{c}^{s}, p_{c}^{d}\) computed using the semi-analytical model for different f.

Fig. 8
figure 8

Impact of aspect ratio \(f = r_{b}/r_{t} = 5, 2.5, 1.67\) on the dynamic capillary pressure \(p_{c}^{d}\) and static capillary pressure \(p_{c}^{s}\). a \(p_{c}^{d}, p_{c}^{s}\) against \(S_{w}\) at different f, b impact of flow dynamics on \(p_{c}^{d}\) shown by continuous lines obtained by taking the difference between \(p_{c}^{d}, p_{c}^{s}\). The ratio of viscous to capillary pressure drop is shown by dashed line \((\triangle p_{io} - p_{c}^{s})/p_{c}^{s}\) where \(\triangle p_{io} = 45~\text {kPa}\) indicates the pressure drop in-between the inlet and outlet boundaries of the porous medium

We notice that at higher aspect ratios, i.e., when the pore throat sizes are small, \(p_{c}^{s}\) is greater. This is expected as the capillary pressure is inversely proportional to \(r_{t}\) according to Eq. (6). Further, as contact angle is maintained constant for all the cases and the minimum pore throat radius at the pore scale is kept constant \(r_{t, min} = 4.5~\mu m\), we notice that \(p_{c}^{s}\) commences to converge to similar values around \(p_{c}^{s} \approx 30~\text {kPa}\) at \(S_{wr}\). \(p_{c}^{d} > p_{c}^{s}\) for all \(S_{w}\). The difference between \(p_{c}^{d}\) and \(p_{c}^{s}\) continue to decrease as wetting phase saturation reaches residual levels as shown in Fig. 8b. Though the capillary forces are relatively greater in smaller pore throats, i.e., at higher aspect ratios, smaller pore throats act as the hot spots where the viscous forces are significant as well. This explains why we notice greater dynamic effects for higher aspect ratios. The observations presented here are in line with the results shown in Li et al. (2022) where the authors also noticed an increase in the dynamic effects in tight reservoirs.

5 Conclusions

The capillary pressure is an important parameter that governs the nature of fluids displacement in the porous medium. Often the capillary pressure is quantified at equilibrium conditions, and there exist numerous experimental and numerical evidences that have shown that the flow dynamics additionally play a vital role in defining the capillary pressure supplementing the values of the static capillary pressures. Earlier, much of the research has been driven to predict the dynamic capillary coefficients as a function of fluid and porous media parameters. Though many investigations could successfully predicted this parameter, the range within which this parameter lies is broad and seen to vary over several orders of magnitude. In this work, we make a first attempt to address the dynamic capillary pressures as a function of saturation by developing a semi-analytical model. The derivation is based on the basic concepts of volume averaging, fluid mechanics and several geometrical assumptions. The proposed semi-analytical model is derived considering that the non-wetting phase displaces the wetting phase, i.e., for drainage displacements. We validated successfully the proposed semi-analytical model against data sets available in the literature. We observed that the proposed semi-analytical model could predict the trends in the dynamic capillary pressure curves with reasonable accuracy. This study gives us confidence to integrate the proposed model into macroscale multiphase flow simulators. The computation of the dynamic capillary pressure from the semi-analytical model is computationally inexpensive. By performing a sensitivity analysis, we observed that the dynamic capillary pressure is sensitive to the aspect ratio of the pore spaces and the contact angle. Particularly during drainage, flow dynamics are seen to be significant at intermediate-wet conditions and in tight reservoirs.