Volume 50, Issue 3 p. 2488-2517
Research Article
Free Access

A streamline splitting pore-network approach for computationally inexpensive and accurate simulation of transport in porous media

Yashar Mehmani

Yashar Mehmani

Department of Petroleum and Geosystems Engineering, University of Texas at Austin, Austin, Texas, USA

Search for more papers by this author
Mart Oostrom

Mart Oostrom

Pacific Northwest National Laboratory, Richland, Washington, USA

Search for more papers by this author
Matthew T. Balhoff

Corresponding Author

Matthew T. Balhoff

Department of Petroleum and Geosystems Engineering, University of Texas at Austin, Austin, Texas, USA

Correspondence to: M. T. Balhoff, [email protected]Search for more papers by this author
First published: 03 March 2014
Citations: 22


Several approaches have been developed in the literature for solving flow and transport at the pore scale. Some authors use a direct modeling approach where the fundamental flow and transport equations are solved on the actual pore-space geometry. Such direct modeling, while very accurate, comes at a great computational cost. Network models are computationally more efficient because the pore-space morphology is approximated. Typically, a mixed cell method (MCM) is employed for solving the flow and transport system which assumes pore-level perfect mixing. This assumption is invalid at moderate to high Peclet regimes. In this work, a novel Eulerian perspective on modeling flow and transport at the pore scale is developed. The new streamline splitting method (SSM) allows for circumventing the pore-level perfect-mixing assumption, while maintaining the computational efficiency of pore-network models. SSM was verified with direct simulations and validated against micromodel experiments; excellent matches were obtained across a wide range of pore-structure and fluid-flow parameters. The increase in the computational cost from MCM to SSM is shown to be minimal, while the accuracy of SSM is much higher than that of MCM and comparable to direct modeling approaches. Therefore, SSM can be regarded as an appropriate balance between incorporating detailed physics and controlling computational cost. The truly predictive capability of the model allows for the study of pore-level interactions of fluid flow and transport in different porous materials. In this paper, we apply SSM and MCM to study the effects of pore-level mixing on transverse dispersion in 3-D disordered granular media.

Key Points

  • Predictive method for simulating transport in pore networks developed
  • Method validated with experiments and shown to be computationally inexpensive
  • Mechanisms of transverse dispersion in 3-D granular porous media studied

1 Introduction

Pore-network modeling of solute transport has received special interest amongst many authors over the past few decades, and several methodologies have been proposed. Bryntesson [2002], Acharya et al. [2005], Li et al. [2006], Kim et al. [2011], Mehmani et al. [2012], and Nogues et al. [2013] are among those who have adopted the mixed cell method (MCM) at the pore scale where balance equations are written at each node (or pore) and the fluid is assumed to be perfectly mixed at the pores. Interpore diffusion is accounted for by assuming linear variance of concentration along the throat and using molecular diffusivity. Köhne et al. [2011] use the same method for soils, with interpore dispersion accounted for by the Taylor-Aris dispersion coefficient for tubes; however, validity of asymptotic behavior within throats was not verified. Varloteaux et al. [2012] and Algive et al. [2010] take one step further and solve the transport equation (including surface reactions) for the pores and throats in the network. They use moment theory to compute upscaled parameters for these elements depending on the reactive regime in place. This method is more suitable for transport accompanied by mineral surface reactions for which macroscopic parameters of upscaled transport need correcting. Bruderer et al. [2001], Bijeljic et al. [2004, 2007], and Jha et al. [2011] are among those who have utilized a Continuous-Time Random Walk (CTRW) method. In this Lagrangian approach, particles are injected through the inlet and transported via a deterministic convective step and a stochastic diffusive step. The particles are transported according to heuristic rules within the pores. At the solid-fluid interface within the throats bounce-back (or other boundary conditions) are typically used. Predictions of longitudinal dispersion coefficients have been made with this method that are in agreement with experimental data. Other authors have used more direct methods such as Smoothed Particle Hydrodynamics (SPH) [e.g., Zhu and Fox, 2002], Lattice Boltzmann (LB) [e.g., Kang et al., 2006], and Computational Fluid Dynamics (CFD) [e.g., Shen et al., 2011] simulations which are more computationally expensive; nevertheless capable of handling complicated geometries.

In order to perform simulations on representative elementary volumes (REV) of porous media, direct methods require vast amounts of parallel computational resources, and even then typical simulations take on the order of weeks/days on small portions of the domain of interest (M. Oostrom et al., Pore-scale and continuum simulation of solute transport micromodel benchmark experiments, submitted to Computational Geosciences, 2014). The simplicity and computational efficiency of MCM makes it a very attractive approach for modeling transport on pore networks in comparison to its more direct competitors. However, the method is prone to suffering from large inaccuracies in capturing pore-level concentration gradients due to its implicit perfect-mixing assumption at the pores; invalid at moderate to high Peclet regimes. The focus of this work, therefore, is directed toward lifting this limitation at a minimal increase in computational cost. We refer to this novel modeling approach as the streamline splitting method (SSM) and demonstrate that it restores the lost accuracy of MCM by comparing its predictions against experiments and direct CFD simulations. Furthermore, the more computationally expensive CTRW method has been successfully used by other authors in predicting dispersion coefficients for disordered granular media. In this paper, we demonstrate that previous approaches have failed to properly capture pore-level mixing; typically verging on the extremes of the Peclet spectrum. Therefore, we propose an improvement based on our findings to remedy this limitation. Finally, we apply SSM and MCM to study the effects of pore-level mixing on transverse dispersion in 3-D disordered granular media. The paper is organized as follows: in section 2, we present sufficient motivation for the development of SSM and its relevance to CTRW. Section 3 presents the mathematical formulation of SSM for flow and transport and a brief account on the MCM formulation. In sections 4.1 and 4.2, we present verification of SSM against direct CFD simulations and validations against micromodel experiments. Finally, section 4.3 discusses effects of pore-level mixing on transverse dispersion in 3-D disordered granular media.

2 Motivation

Transport problems in pore-network models are commonly solved using the mixed cell method (MCM) [Bryntesson, 2002; Acharya et al., 2005, etc.] due to its simplicity and computational efficiency. The mathematical details of this method are outlined later in section 3.2. The modeling proceeds by first solving a flow equation, which yields the velocity field inside the pore space. Then the MCM transport equation is solved, which yields the evolution of the concentration field within the pore space in time. Although the simplistic MCM transport equation is an adequate description of (non) reactive transport in many situations, it has a profound deficiency that comes at the cost of its simplicity. The model assumes, by default, that concentrations are perfectly mixed within each pore regardless of the flow regime. At low Peclet numbers (= vR/Dm, where v, R, and Dm are the throat fluid velocity, throat radius, and molecular diffusion coefficient, respectively), this assumption is a reasonable one because the solute particles diffuse much faster than they convect. However, at moderate to high Peclet numbers, such an assumption is no longer valid and large concentration gradients may exist within individual pores.

Figure 1 shows the steady state concentration fields and streamlines obtained for a typical pore from direct COMSOL simulations. Boundary conditions consist of constant concentrations at the inlets and zero concentration gradients at the outlets. The figures clearly demonstrate that at low Peclet numbers (<1), the contents within the pore are perfectly mixed. However, at moderate to high Peclet numbers (>1), large concentration gradients within the pore exist. Under such transport regimes, MCM could yield large errors in predicting transverse dispersion (as shown in section 4.2). This work presents a novel alternative approach for formulating the transport equation in a pore network, devoid of such restrictions to low Peclet regimes. The new formulation circumvents the perfect-mixing assumption by taking into account the distribution of streamlines within the pore (Figure 1d).

Details are in the caption following the image
(a–c) Schematic of steady state concentration fields for a typical pore at three different Peclet numbers. Inlet/outlet flow directions as well as inlet concentrations are annotated. (d) Streamline field obtained from flow equation.
One of the more common direct methods for solving flow and transport in pore networks (or voxelized media) is CTRW [e.g., Bruderer et al., 2001; Bijeljic et al., 2004, 2007; etc.]. In this method, given the velocity field, transport is solved by tracking individual solute particles. The tracking process consists of a deterministic advection step followed by a stochastic diffusion step. Within the throats, the particles have a well-defined advection pathway since the throat velocity profile can be accurately calculated. However, a problem arises when the particles arrive at the pores. One typical approach taken [e.g., Bijeljic et al., 2004] is that depending on the mechanism by which the particles arrive at the pores, either a “complete mixing” or a “stream-tube routing” method is employed. If the particle arrives at the pore via diffusion, it is assigned to a new throat based on an area-weighted probability rule (i.e., “complete mixing”). However, if the particle arrives at the pore via advection, it is assigned to a new (outflowing) throat based on a flow rate-weighted rule (i.e., “stream-tube routing”). This means that the probability the particle ends in an outflowing throat o is given by equation 1. It is shown, in section 3.3.2, that “stream-tube routing” in CTRW is equivalent to “perfect mixing” in MCM and therefore limited. Another approach is taken by Bruderer et al. [2001] and Jha et al. [2011] who recognized the importance of determinism of advection in pores. Bruderer et al. [2001] provided simple rules for the mapping of streamlines from the inflowing to the outflowing throats of a pore in a 2-D regular lattice network. Jha et al. [2011] generalized these rules for a 3-D disordered pack of equal spheres where each pore is connected to exactly four neighbors. However, both authors eliminated any mechanism responsible for randomness (characteristic of diffusion) within pores. Considering that fluid residence time is longer in pores than in throats, this assumption leads to the absence of a critical mechanism responsible for transverse dispersion, i.e., pore-level mixing (this is discussed further in section 4.2). Finally, the rule-based streamline mappings of Jha et al. [2011] are shown to neglect important physics rendering them incorrect even for simple 2-D pores. Therefore, it is proposed that the streamline splitting algorithm presented in this work could serve as a more realistic alternative to “stream tube routing” in the methodology employed by Bijeljic et al. [2004] (i.e., described above) for capturing pore-level mixing in CTRW.

3 Model Development

Pore-network models are composed of an assembly of pore bodies and interconnecting pore throats. Thus, the domain is naturally discretized into nodes (pores) and bonds (throats). Such simplification of the pore-space geometry significantly reduces the computational complexity of the flow and transport equations to be solved. In the following sections, we discuss the details of our pore-network model and compare to existing approaches in the literature.

3.1 The Flow Equation

Solving flow and transport in a network involves two steps: (a) solving the flow equation to obtain the velocity field, and (b) solving the transport equation using the computed velocity field. The flow equation is formulated by assuming a single pressure value per node and writing mass balance for each node (equation 1). The bulk fluid is assumed to be Newtonian with creeping flow (Re << 1), hence the constitutive relation describing flow inside a throat is given by urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0002; where g and µ are throat conductivity and viscosity, respectively. Thus, the resultant system arising from the balance equations is linear. At the pore scale, the flow equation is typically formulated in elliptic form for typical liquids present in the subsurface, since pressure pulses generally have negligible effects at small domain sizes. Therefore, we have assumed that the fluid of interest is incompressible. In the following mass balance, pi is pressure at pore i, μ is fluid viscosity, gij is the conductivity of the throat connecting pore i to j, and Nth is the number of throats connected to pore i (i.e., coordination number):

The resulting linear system of equations (i.e., equation 1) is solved using the mldivide routine in MATLAB which attempts Cholesky factorization for the resultant symmetric positive definite system.

3.2 The Traditional Mixed Cell Method

The transport equation (also known as the advection-diffusion-reaction (ADR) equation) for a pore network is traditionally written by imposing a species mass balance per node. Such formulation assumes a single concentration value per node, which is equivalent to assuming perfect mixing at the pores. However, this may not hold at moderate to high Peclet numbers which could give rise to high concentration gradients within a node. In the following, MCM formulation of species balance for node i (equation 3), Vp is the pore volume, ci the pore concentration, Dm the molecular diffusivity, R(ci) the reaction term, and qij, lij, and aij are the flow rate, length, and cross-sectional area of the throat connecting pore i to j, respectively. The throat flow rates come from solving the flow equation (equation 2) and the throat cross-sectional areas are calculated by assuming cylindrical tubes with equivalent throat conductivities.

The reaction term is ignored here since, throughout this work, we are merely interested in the pore-level competition between diffusion and advection. In equation 3, we have deterred from discretizing the time derivative for the benefit of using an adaptive time-stepping ODE solver. The transport equation (equation 3) is solved using the adaptive time stepping ode23tb solver in MATLAB which is an implementation of TR-BDF2, an Implicit Runge-Kutta formula.

3.3 The Streamline Splitting Method

The streamline-splitting method (SSM) is based on an a priori estimate of how the streamlines of an inflowing throat distribute among the outflowing throats of a pore. In particular, the inflowing stream is split into several portions, each of which enters one of the outflowing throats. Subsequent to “splitting” the streamlines, a species balance is written on each inflowing stream. Each stream is assumed to occupy a separate compartment within the pore, which we refer to as a “pocket.” Pockets consist of only one inlet (the inflowing throat) and several outlets (equal to the number of outflowing throats). Pockets within a pore are allowed to exchange mass between one another (which accounts for pore-level mixing). For this reason, SSM can be viewed as dividing the network into several interconnected subnetworks. Figure 2 shows an abstract schematic of the configuration of these pockets within a pore, and their connection to other neighboring pockets. Such a construct allows one to circumvent the perfect-mixing assumption in the formulation of the transport equation, which results in more accurate prediction of transverse dispersion at moderate to high Peclet numbers. In the following, we present the details of each step in the streamline splitting method (SSM).

Details are in the caption following the image
Schematic of the pockets within pore 0 in connection with the pockets inside the neighboring pores (1, 2, 3, and 4). Here each pocket is an abstract representation of an inflowing stream (it does not represent the actual stream nor its configuration). Dark arrows indicate flow directions within throats. Note that throats have the same indices as the pockets they flow into.

3.3.1 Streamline Splitting Algorithm

The algorithm developed in this section is based on two physical principles regarding the flow field: (1) inflowing streams are conserved (sum of the split substreams equals the original stream), and (2) streamlines cannot intersect. It also relies on an important observation made from numerous CFD simulations on single pore geometries: the splitting of streamlines is generally independent of throat radii, velocities, pore shape, and size. The splitting depends primarily on throat orientations and their flow rates. This is plausible since regardless of the origin of the inflowing streams (throat size and velocity) they all expand into a common larger space (i.e., the pore). Pore shapes also have a negligible effect in the splitting of inflowing streams. That said, the authors have observed rare cases in which concave structures (protruding inward from the pore wall) cause the creation of vortices which promote mixing. Such occurrences are deemed rare in the typical porous media encountered in hydrology/biology/petroleum and chemical engineering (e.g., sandstones, carbonates, microfluidic devices, etc.). Pores are typically convex as they are larger openings connected by narrower paths.

Consider pore p0 with N throats connecting it to its neighboring pores; denoted by pk (k = 1,…, N). We assume that the flow system given by equation 2 is already solved. Therefore, the total inflowing flow rate into pore p0 equals the total outflowing flow rate. We identify the inflowing throats by indexing them with i = 1 to Ni and the outflowing throats by indexing them with o = 1 to No (note that N = Ni + No). Note the difference in the indexing convention compared to that used for MCM (section 3.2). The objective is to determine how the inflowing stream (or flow rate) from a throat is to be distributed among the outflowing throats. We denote the fraction of the outflowing flow rate of throat o, originated from the inflowing flow rate of throat i by xio (equation 4a). Let qi and qo denote the flow rates of the inflowing and outflowing throats, respectively. Equations 4b and 4c must be satisfied for pore p0. Equation 4b simply states mass balance for an inflowing stream.

The system (i.e., equations 4b and 4c written for all throats) consists of Ni + No (= N) equations in Ni × No unknowns (i.e., xio). One of these equations is redundant because summing up equation 4b over i = 1 to Ni, and combining with equation 4c yields the overall mass balance equation in the pore which was assumed to hold in the first place. Therefore, the number of independent equations is N – 1. Depending on the total number of inflowing and outflowing throats, there may exist more than one solution to this system. If (N − 1) = (Ni × No), the system has only one solution (in the case of one inflowing or one outflowing throat). However, if (N − 1) < (Ni × No), the system has more than one solution and is underdetermined (the other direction for the strict inequality is not possible for a flowing pore). In this case, an optimization problem must be solved, the details of which are outlined in the following.

The optimization problem must take into account the preference of an inflowing stream toward a select subset of the outflowing throats. This is because the inflowing stream is assumed to be deflected as a result of the influence of other inflowing streams. Therefore, any inflowing stream is inclined to exit the pore through a few select throats while avoiding others. To this end, the orientation of the opposing inflowing streams needs to be taken into account (which was neglected by Jha et al. [2011]). The interaction of the opposing influx on any given inflowing stream results in an imaginary barrier which the streamlines cannot intersect. Such a barrier surface (denoted by Sbar hereafter) exists whenever two (or more) laminar streams merge or coincide. A schematic of the barrier surface is presented in Figure 3a. One can certainly envision such a barrier in the streamline field given in Figure 1d as well. In pores with large numbers of inflowing throats, the complexity of the barrier surface increases. However, one can account for most of the complexities using the approach outlined later in the section.

Details are in the caption following the image
Schematic of a pore with two inflowing and three outflowing throats. (a) 3-D schematic of the pore, projection of the outflowing throats onto the flowing plane, the barrier surface, and the transverse angle corresponding to the twisting of the barrier surface. (b) 2-D projection of all throats on the flowing plane (on Pfl) with annotations of the interior region, exterior region, Li, Lop, Lbi, urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0008, urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0009, urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0010, and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0011.
For now, assume that the preferred outlets for inlet i have been identified (denote them by the set Pri). Subsequently, the xio values corresponding to these outlets must be maximized and the xio values for the outlets in urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0012 (i.e., complement of Pri) must be minimized (for all i); all while satisfying equations 4b and 4c. However, since some of the xio values are to be maximized and others minimized, it is difficult to define an objective function for optimization. Therefore, the xio values that correspond to the throats in Pri are replaced by (1 − yio) in equations 4b and 4c, and those for the throats in urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0013 are simply renamed to yio (equation 7). Now, all yio values can be minimized by minimizing the objective function given by equation 5 constrained by the conditions given by equations 6a and 6b. The right-hand-side constants Ci and Co in equations 6a and 6b are determined by substituting equation 7 into equations 4b and 4c.
Constrained by,

The ωio coefficients in equation 5 are weighting factors and their significance is described at the end of the section. In this work, we use ωio = |qo| for all values of i and o. Thus, the streamline splitting algorithm (referred to as such hereafter) for pore p0 involves solving a bounded (i.e., 0 ≤ yio ≤ 1) and constrained (i.e., equations 6a and 6b) optimization problem. Here we use the quadprog routine in MATLAB, to perform the optimization. Once the yio (and hence xio) values are determined, an estimate of how each of the inflowing streams distributes among the outflowing throats is obtained. In the following, the process for selecting outlet throats that an inflowing stream has preferred access to (i.e., members of the set Pri), is explained.

We first differentiate between the three ways an inlet may access an outlet: (a) the inlet stream is the only stream that flows into an outlet (referred to as full access), (b) the inlet stream is not the only stream flowing into an outlet (referred to as partial access), and (c) limited access which is discussed later in the section. If an inflowing stream i has full access to an outflowing throat o, then its corresponding xio value is equal to one. Consequently, the xjo values for any other inflowing stream j are equal to zero. Note that this reduces the number of unknowns in the system represented by equations 6a and 6b and, thus, greatly simplifies the optimization problem to be solved. Considering the inflowing stream i, the barrier surface (Sbar) determines which outlets are accessible to the inlet (i.e., ϵ Pri). Namely, these are the outlets that fall on the same side of the barrier surface as the inlet itself. A schematic of the barrier surface is shown in Figure 3a, and it can be seen that the surface can bend and twist depending on the orientation and magnitude of the outflowing streams and the opposing inflowing stream. The following procedure attempts to capture the approximate orientation of the barrier surface, and thus allowing us to determine the members within each Pri set (for all i).

Let ui be the unit vector in the direction of inlet i, and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0018 the unit vector in the direction of its opposing inlet which is calculated using equation 8. Note that if there are more than one opposing inlets, an effective (flow rate weighted) opposing direction is computed.

First, we introduce a few frequently used definitions and Figure 3 can be used as a schematic reference: we denote the centroid of pore p0 with O and draw ui and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0020 from this point. We refer to the plane that goes through the two vectors (and O) as the flowing plane and denote it by Pfl. The rays (or halflines) that contain O and are in the opposite directions of ui and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0021 are denoted by Li and Lop, respectively. The ray bisecting the angle between Li and Lop is referred to by Lbi (which lies also on Pfl). On the flowing plane Pfl, we refer to the region between Li and Lop (where the rays build an angle <180°) as the interior region and to the region outside as the exterior region. We also consider two imaginary rays urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0022 and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0023 drawn from the center of the pore O toward the exterior and interior regions, respectively (also on Pfl). urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0024 and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0025 are used to mimic the behavior of the barrier surface in the exterior and interior regions, respectively (for now the barrier surface is assumed to be perpendicular to the flowing plane, i.e., Sbar in Figure 3a). We also refer to the region between urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0026 and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0027 (on Pfl and containing Li) as the territory of inlet i. Finally, let the angles that urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0028 and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0029 make with Li be denoted by urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0030 and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0031 in order; and initialized to zero.

The following main steps are taken to identify preferred outlets (i.e., ϵ Pri) and their accessibility (full or partial) for inlet i of pore p0:

1. Project all outlet throats onto the flowing plane Pfl (see Figure 3a).

2. Keep increasing both urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0032 and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0033 from zero (by rotating urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0034 and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0035) until the sum of the outlet flow rates in the territory of inlet i exceeds (or becomes equal to) its own inflowing rate. Hereafter, we refer to this condition as reaching overflow.

3. In the process of expanding the inlet's territory by increasing urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0036 and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0037, label the outlets prior to overflow as full-access outlets, and at the moment of overflow, as partial-access outlets.

The details of the algorithm used for achieving these three steps are summarized in the flowchart presented in Figure A1 (in Appendix Appendix AA). As mentioned earlier, once the full-access outlets of any inlet i are identified, the optimization problem given by equations 5 and (6) can be greatly simplified and reduced in unknowns. This is because if inlet i has full access to outlet o, then xko will be equal to one for k = i and zero for all k ≠ i. The reduced optimization problem can then be solved for (the xio values corresponding to) the remaining partial-access outlets. In short, the streamline splitting algorithm expands the territory of any given inlet i until the inlet can access enough outlets that have the capacity to accommodate its inflowing rate. In the process, generally, outlets well within the inlet's territory are accessed fully and outlets that verge on the boundaries of the barrier surface are accessed partially (refer to Figure A1 for a more detailed description). The above procedure is performed for all inlets, and special notes need to be made which are discussed at the end of this section.

Finally, an inlet may additionally have limited access to an outlet outside its territory. This is only possible for 3-D pores and is due to the twisting of the barrier surface, as shown with the dotted surface urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0038 in Figure 3a. In the foregoing, we had implicitly assumed that the barrier surface is perpendicular to the flowing plane and thus we were able to represent it with its projection onto Pfl; namely the halflines urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0039 and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0040. However, the barrier surface may twist as shown in Figure 3a by urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0041, in which case we may need to grant limited access to one more outlet (along with imposing an inequality condition on the optimization as discussed next). We proceed by example: consider the pore schematized in Figure 3, its inlet i and its three outlets. Let Sbar, in this figure, be the barrier surface obtained from following the aforementioned three steps. From Figure 3b, it is seen that outlets #3 and #2 are within the inlet's territory. However, it is possible for inlet i to have limited access to outlet #1 as well. This depends on the transverse angle (ζ), which is the complement of the angle the plane going through outlets #1 and #2 (and O) makes with the flowing plane Pfl (indicated in Figure 3a). The following expresses the condition under which inlet i is granted limited access to outlet #1:

If urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0042,

Equation 9 states: if we consider the total amount of fluid entering outlets #2 and #1 combined, the fraction that enters outlet #1 is bounded above by M ϵ [0, 0.5]. This upper bound, M, depends on how far deviated the plane going through outlet #1 and #2 (and O) is from vertical (i.e., magnitude of ζ). If ζ ≥ 45°, limited access to outlet #1 is not granted and we need not concern ourselves with this condition. However, if ζ < 45°, outlet #1 will “steal” some of the fluid (originating from inlet i) that enters outlet #2 (i.e., due to the twisting of the barrier surface). The stealing is maximized when ζ = 0° (i.e., outlets #1 and #2 are on top of one another when projected onto the flowing plane), where outlet #2 may lose up to half of its flow rate to outlet #1. This dependence on transverse angle was investigated via numerous CFD simulations and it was observed that beyond a transverse angle of 45°, the “stealing effect” is negligible; and it is maximal at 90°. One important remark is that, in this work, we only consider the stealing effect in the exterior and not in the interior region. This is because generally pores with more than one outlet in the interior region are rare (since flow is unidirectional in most cases). Additionally, CFD simulations showed that the stealing effect was much more pronounced in the exterior compared to the interior region.

Equations 9 and 10 in the example given above can be adapted to any other pore with the correct choice of outlets (instead of #1 and #2 above). See the flowchart in Figure A1 for a detailed depiction of where in the algorithm limited accesses are granted. Note that once inlet i is granted limited access to an outlet o, outlet o belongs to the Pri set. Thus, the change of variable, given by equation 7, from xio to yio is needed (both in the optimization problem and in the condition given, i.e., equations 5, (6), and 9). Furthermore, if limited access is granted to any outlet the condition given by equation 9 needs to be included as yet another restriction in the optimization (here we use the quadprog routine in MATLAB which accommodates inequality restrictions as well). Lastly, note that for a 2-D pore (or pores with transverse angles larger than 45°) the condition given by equation 9 is not required and the optimization problem is simpler.

We conclude this section with a few important remarks: (a) full access to an outlet cannot be granted if another inlet has any kind of access to that outlet. In this case, partial access is granted instead. (b) In the process of granting full, partial, or limited access to an outlet, any inlets having full access on that outlet need to be changed to partial access. (c) One of the additional advantages of formulating the problem as an optimization is that the coefficients of the objective function, ωio, can be chosen in such a way to yield desired effects. In this work, we have chosen ωio = |qo| for all i and o, and we demonstrate in Appendix Appendix BB that this leads to a flow rate-weighted distribution of the remaining influx (after subtracting the portion dedicated to full-access outlets, and in the absence of limited access outlets) among the remaining partial-access outlets. Other choices include ωio = 1 and ωio = |qo|2 (for all i and o) in which low-flow-rate inlets have a tendency toward low-flow-rate and high-flow-rate outlets, respectively. However, our choice in this work produced the best results and seemed to be the most reasonable. A verification of the methodology presented in this section against direct CFD simulations (both in 2-D and 3-D) is presented in section 4.1.

3.3.2 Streamline Splitting and CTRW

The foregoing streamline splitting algorithm is also very useful in a more direct (and computationally expensive) method for solving transport in pore networks (or voxelized media) called Continuous-Time Random Walk (CTRW). As mentioned in section 2, “stream-tube routing” is what is commonly used for redistributing solute particles arriving at a pore via the advection step. Particles are assigned to a new (outflowing) throat via a flow rate-weighted rule given by equation 1. This entails that an inflowing stream distributes among the outflowing throats in proportions given by equation 1. Therefore, xio values for the “stream-tube routing” method can be computed as follows:

The last equality in equation 11 comes from the continuity of the total in/out flow rates in a pore. Note that, in “stream-tube routing,” xio is equal to the fraction of the total inflowing rate comprised by stream i. This is precisely what “perfect mixing” entails: all inflowing streams are mixed within the pore in proportion to their flow rates. Furthermore, although the flow rate-weighted rule assigns more particles to outflowing throats with larger flow rates, the number of particles per outflowing volume remains constant. Hence, a “perfectly mixed” concentration is what exits the pore through every outflowing throat. Therefore, it is proposed that particles arriving at a pore via the advection step in CTRW be redistributed using the streamline splitting algorithm discussed in section 3.3.1. This serves as a much more accurate pore-level criterion that would increase the accuracy of CTRW for pore networks.

Bruderer et al. [2001] and Jha et al. [2011] had proposed simple streamline splitting rules in their work as well. Jha et al. [2011] attempted to generalize the method proposed by Bruderer et al. [2001] to 3-D pores with a maximum of four neighbors. However, in their work they had neglected the orientation of the throats in splitting the inflowing streams. In Appendix CAppendix C, we provide counter examples to the rules postulated by them to demonstrate the importance of taking into account throat orientations in splitting streamlines. A comparison of the predictions made by their method and our streamline splitting algorithm versus CFD simulations is also provided. The results show that their method is limited even for simple 2-D pore geometries as a result of the foregoing deficiency, whereas the streamline splitting algorithm of this work performs considerably better.

3.3.3 The Formulation of the SSM Transport Equation

Once the distribution of inflowing streams among outflowing throats (in every pore) is calculated, species balance can be written on each inflowing stream. We assume that each inflowing stream occupies a separate space within the pore, which we refer to as a “pocket.” The number of pockets for a given pore is, thus, equal to the number of inflowing streams (or throats). Therefore, each pocket has only one inlet but multiple outlets (equal to the number of outflowing throats). For this reason, we enumerate throats with the same index as the pockets they flow into (Figure 2). Figure 2 is an abstract schematic of the pockets within pore 0 connected to the pockets in the neighboring pores (i.e., pores 1, 2, 3, and 4). In this section, we proceed by example and form the species balance equation for pocket 1 of pore 0 in Figure 2. We then provide a general species balance expression for the streamline splitting method.

In Figure 2, pocket 1 is connected from its inlet to pockets 3, 4, and 5 (in pore 1), each of which has a different concentration value. However, the concentration in pocket 1 is assumed to be homogeneous. This is a sound assumption, since streamlines from the three pockets (i.e., 3, 4, and 5) must converge to pass through throat 1. The large reduction in flow area causes an even larger reduction in the diffusion time scale. According to Einstein's equation for Brownian motion (i.e., x2 = 2Dt), diffusion time reduces quadratically with reduction in diffusion distance. Therefore, it is quite reasonable to assume that contents of different pockets mix almost completely in passing through the throats (this can also be seen in the concentration fields of Figure 1). Using the streamline splitting algorithm of section 3.3.1, we know the proportion in which pocket 1 distributes among throats 9 and 10. Moreover, note that there is mass transfer between pockets 1 and 2 as a result of concentration differences. This mass transfer is strictly diffusive, since streamlines from two pockets do not intersect. The mass transfer is taken into account as a source terms in the species balance equation. Species balance for pocket 1 can, thus, be written as follows:

In equations 12 and 13, qk, ak, and lk are the flow rate, cross-sectional area and length of throat k, respectively. Concentration and volume of pocket k are denoted by ck and Vk, respectively. Dm is the molecular diffusion coefficient and xio (refer. section 3.3.1) is the fraction of the flow rate of throat o that flows out of pocket i (or throat i). Ψ21 is the interpocket mass transfer rate from pocket 2 to 1, which is a function of their concentrations. Finally, R represents the (homogeneous or heterogeneous) reaction rate in pocket 1. Throughout this work, R is assumed to be zero.

The general form of the SSM transport equation can now be written as follows. Consider pore pk with its connecting throat indices inside the set Sk. We refer to its neighboring pores by pl. We denote the throat connecting pores pk and pl by tkl. To distinguish inflowing from outflowing throats, we define urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0048 and urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0049 as the sets of inflowing and outflowing throats of pore pk, respectively (note urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0050). Once again, pockets are labeled with the same index as their corresponding inflowing throats, i.e., pkkl = tkl and tkl ϵ urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0051. The following (equation 14) is the species balance equation for pocket pkkn (= tkn ϵ urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0052) within pore pk:

Equation 14 is solved using the adaptive time stepping ode23tb solver in MATLAB which is an implementation of TR-BDF2, an Implicit Runge-Kutta formula. Usually pocket sizes vary widely in a pore network, thus an explicit formulation becomes rather expensive and severely limited by time step size (i.e., the CFL condition). Therefore, an implicit formulation is of great advantage in solving the above transport problem. Finally, for no-flow throats, two pockets are assigned, one in each of the connecting pores (called stagnant pockets versus flowing pockets). If a pore contains only stagnant pockets then the volume of the pore is evenly divided among the pockets. However, if the pore contains flowing pockets as well, then an imaginary volume equal to 10% of the pore volume is assigned to the stagnant pocket, and the volume of the flowing pockets are kept unaltered. This volume is assigned so that the system resulting from equation 14 is solvable. Finally, the SSM formulation typically increases the number of transport unknowns by a factor of ∼2 in comparison with MCM. This is because each pore typically contains two pockets on average (this is true for both the micromodels and 3-D granular media studied in section 4). The increase in the number of unknowns is minimal compared to the significant gain in predictive accuracy (section 4.2). Finally, in section 3.3.4, we present a condition for checking the validity of the perfect-mixing assumption within each pore. If the condition holds, no splitting of streamlines is required and a single transport unknown is sufficient for the pore. This leads to a further decrease in the number of transport unknowns and hence computational cost.

The formulation of the SSM transport equation (i.e., equation 14) takes into account both the splitting of streamlines as well as the amount of pore-level mixing within the pore (via the interpocket mass transfer term). However, pore-level mixing is typically treated at its extremes in the literature. For instance, Bijeljic et al. [2004] use “stream-tube routing” (shown to be equivalent to perfect mixing), which is only valid at very low Peclet numbers, whereas Bruderer et al. [2001] and Jha et al. [2011] apply rules that eliminate any mechanism responsible for randomness (characteristic of diffusion) within the pores which is valid only at very high Peclet numbers. Considering that fluid residence time is longer in pores than in throats, this assumption leads to the absence of a critical mechanism responsible for transverse dispersion, i.e., pore-level mixing (discussed further in section 4.2). Therefore, solute particles must be allowed to switch streamlines within pores (in addition to within throats); an exact point-to-point mapping of streamlines from one throat to another (as was done by Jha et al. [2011]) may not be necessary. The next section focuses on computing the mass transfer term in equation 14.

3.3.4 Interpocket Mass Transfer

The mass transfer term Ψ in equation 14 can be calculated by solving something analogous to a Riemann problem for the interdiffusion of two bounded bodies (i.e., pockets 1 and 2 in equation 12). Assuming an idealized geometry (a cuboid) for the pore and the containing pockets, this term can be quantitatively approximated. The details of the derivation can be found in Appendix Appendix DD of this paper. Here we only present the final expression for Ψ. The average mass transfer rate from pocket 2 to 1 (i.e., Ψ21) can, therefore, be obtained as:
Equation 16 is the rate of mass transfer between pockets 1 and 2 (within the same pore), and equation 17 is the cumulative mass transferred between the two pockets in a given time (i.e., T). Equation 17 is obtained from solving a bounded Riemann problem in the idealized cuboid geometry (see Appendix Appendix DD). In equations 16 and 17, dimensions of the idealized pockets (i.e., L, W, H, and a) are required (see Figure D1). If an a priori knowledge of these parameters is known from the network and flow geometry (as is the case in section 4.2), then they can be used in the computations. Otherwise, one can use the following approximations:
In equation 18, V1 and V2 are the pocket volumes obtained from equation 13 and Vp is the pore volume. It is noteworthy that simply assuming L = γ and a = 0.5 (instead of equation 18) did not cause a significant difference in the final results of the cases studied in this work. In equation 16, T is the transport time scale and is very important in calculating Ψ21. Here we only present the final expression for computing T, however, a detailed analysis can be found in the Appendix D Appendix D:

In equations 19 and 20, Qp is the total flow rate through the pore, and ni is the ith components of the urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0060 vector. The values for X, Y, and α are determined through comparisons against direct pore-level simulations and were found to be 6, 0.5, and 0.1, respectively (see Appendix Appendix DD for details). ta is fluid residence time in the pore and td is the time required for a Brownian particle, starting from the interpocket interface, to traverse the shortest of the two lateral dimensions of the pockets. Therefore, the transport time scale, T, varies from an advection-dominated value (i.e., ta) to a diffusion-dominated one (i.e., αtd), and r represents the competition of the two transport mechanisms within the pore. If r ≤ Y the pore can be safely assumed to be perfectly mixed, which could further reduce the number of transport unknown in SSM.

A remark should be made about the applicability of the current interpocket mass transfer term in the presence of reactions. There are two kinds of reactions that may occur within the pore space: homogeneous and heterogeneous. Homogeneous reactions occur within the bulk of the fluid and are typically instantaneous and in equilibrium at all times, whereas heterogeneous reactions occur at the mineral-fluid interface and are kinetically controlled (i.e., time dependent). Homogeneous reactions occurring within the fluid bulk (e.g., radioactive decay) are not expected to cause large concentration gradients within the pockets and can simply be accounted for by a source term in equation 14 (i.e., R(c)). Homogeneous reactions that occur due to mixing of two separate species between two neighboring pockets may affect the applicability of the currently derived mass transfer term in equations 16 and 17. Moreover, fast heterogeneous reactions at mineral-fluid interfaces may cause concentration gradients within individual pockets, rendering the applicability of equations 16 and 17 questionable. In these cases, one can solve the appropriate local problem, similar to the Riemann problem in Appendix DAppendix D, and derive a modified interpocket mass transfer term. For heterogeneous reactions appropriate boundary conditions, as opposed to the currently used no-flux boundary conditions, at the pore walls needs to be imposed (see Appendix Appendix DD). Naturally, approximations are inevitable in such analyses and they are currently under investigation by the authors.

4 Results and Discussion

4.1 Verification of Streamline Splitting Algorithm Against Direct Simulation

In this section, we present examples (both in 2-D and 3-D) for the verification of the streamline splitting algorithm discussed in section 3.3.1. In particular, we attempt to compare the xio values obtained from the streamline splitting algorithm to those obtained from direct simulations; specifically CFD modeling. For this purpose, one 2-D pore (two inlets and three outlets) with different boundary conditions and three distinct 3-D pores are considered (see Figure 4). Since there is no direct way of computing xio from direct simulations, a dummy tracer is injected through one of the inlet throats in the absence of diffusion. It should be reemphasized that diffusion must be ignored in the following CFD simulations (by assigning it a very small value) in order to be able to draw a comparison. This is because the xio values only quantify the splitting of streamlines, and not the amount of intrapore diffusion (for which Ψ in equation 14 is responsible). The Stokes flow as well as the purely convective steady state transport equations, with boundary conditions summarized in Table 1, were then solved in COMSOL for each case. Since xio is dimensionless, only the relative magnitudes of the flow rates are important; thus, the boundary conditions listed in Table 1 are presented without units. Figure 4 demonstrates the concentration fields obtained. The streamline fields for the 2-D pore are also shown for clarity. The concentration fields show a sharp separation between the two injected fluids, that clearly delineates the boundaries of each pocket. In the presence of diffusion, this interpocket interface would provide a zone for mass transfer between the two fluids. The concentration fields of the dummy tracer were then used to indirectly compute xio for the direct simulations using the following simple equation. Here we denote the inlet throats with and without the dummy tracer by a and b, respectively. Thus we have:
Details are in the caption following the image
Concentration fields of a dummy tracer (injected through one inlet) obtained from COMSOL simulations on one 2-D pore (different boundary conditions) and three distinct 3-D pores. Inlet and outlet throats are annotated for each case and streamline fields are provided for the 2-D pore only (for clarity).
Table 1. Flow and Transport Boundary Conditions for Inlet/Outlet Throats of the Pores Depicted in Figure 4
Throat #1 Throat #2 Throat #3 Throat #4 Throat #5
Case I qi = 2 qi = 1 qo = −1 qo = −1 qo = −1
ci = 1 ci = 0 ∂c/∂n|o=0 ∂c/∂n|o=0 ∂c/∂n|o=0
Case II qi = 2 qi = 1 qo = −0.5 qo = −2 qo = −0.5
ci = 1 ci = 0 ∂c/∂n|o=0 ∂c/∂n|o=0 ∂c/∂n|o=0
Case III qi = 2 qi = 1 qo = −0.5 qo = −0.5 qo = −2
ci = 1 ci = 0 ∂c/∂n|o=0 ∂c/∂n|o=0 ∂c/∂n|o=0
Case IV qi = 1.5 qo = −0.5 qo = −0.5 qi = 1.5 qo = −2
ci = 0 ∂c/∂n|o=0 ∂c/∂n|o=0 ci =1 ∂c/∂n|o=0
Case V qi = 1 qi = 1 qo = −1 qo = −1 -
ci = 0 ci = 1 ∂c/∂n|o=0 ∂c/∂n|o=0
Case VI qi = 2 qi = 1 qo = −1 qo = −2 -
ci = 1 ci = 0 ∂c/∂n|o=0 ∂c/∂n|o = 0
Case VII qi = 2 qi = 1 qo = −1 qo = −0.5 qo = −1.5
ci = 0 ci = 1 ∂c/∂n|o=0 ∂c/∂n|o=0 ∂c/∂n|o=0

Table 2 summarizes the xio values obtained from direct simulations (i.e., equation 21), the streamline splitting algorithm (presented in section 3.3.1) and the “stream-tube routing” method (discussed in section 3.3.2). It is evident from Table 2 that the predictions made by the streamline splitting algorithm are in excellent agreement with direct simulations, whereas, the “stream-tube routing” predictions are poor in comparison. Thus, we conclude that the streamline splitting algorithm accurately captures the realistic distribution of inflowing streamlines among outflowing throats even for relatively complex pore geometries. Lastly, it should be noted that for cases V, VI, and VII the twisting of the barrier surface was taken into account via equation 9.

Table 2. xio Values Obtained From COMSOL, Streamline Splitting, and “Stream-Tube Routing” for the Pores in Figure 4
COMSOL Simulations Streamline Splitting Stream-Tube Routing
Case I x13 x14 x15 x13 x14 x15 x13 x14 x15
0.98 0.91 0.05 1 1 0 0.66 0.66 0.66
Case II x13 x14 x15 x13 x14 x15 x13 x14 x15
0.98 0.73 0 1 0.75 0 0.66 0.66 0.66
Case III x13 x14 x15 x13 x14 x15 x13 x14 x15
0.98 0.98 0.48 1 1 0.5 0.66 0.66 0.66
Case IV x42 x43 x45 x42 x43 x45 x42 x43 x45
0 0.52 0.59 0 0.6 0.6 0.5 0.5 0.5
Case V x23 x24 x23 x24 x23 x24
0.67 0.33 0.72 0.28 0.5 0.5
Case VI x13 x14 x13 x14 x13 x14
0.92 0.54 0.9 0.55 0.66 0.66
Case VII x13 x14 x15 x13 x14 x15 x13 x14 x15
0 0.37 0.52 0 0.41 0.53 0.33 0.33 0.33

4.2 Validation Against Micromodel Experiments

In this section, we compare simulation results from SSM and MCM to data obtained from nonreactive tracer micromodel experiments, which were conducted in the Environmental Molecular Sciences Laboratory (EMSL) at the Pacific Northwest National Laboratory. The 2 × 1 cm2 micromodels were manufactured in the EMSL clean room using standard photolithography and plasma dry etching techniques [Willingham et al., 2008; Chomsurin and Werth, 2003]. A general schematic of the micromodels used in the experiments is given in Figure 5. The micromodels consist of cylindrical posts, comprising the grain space, bound between two transparent glass plates and are equipped with two inlet ports and one outlet port (Figure 5). During the experiments, micromodels were placed in a horizontal position and deionized water and an Alexa 488 dye solute were coinjected into the first and second inlet ports, respectively (Figure 5). After injection, the two fluids come into contact and subsequently mix inside the micromodel. The micromodels were then given enough time to reach steady state. As Figure 9 shows, the line of contact between the two fluids grows progressively more diffuse as the fluids travel further away from the inlet toward the outlet. Transect concentration profiles of the fluorescent tracer along the 0.25, 0.5, 0.75, 1, 1.25, 1.5, and 1.75 cm lines (shown in Figure 5) were measured.

Details are in the caption following the image
General schematic of the micromodels used in the experiments. Inlet and outlet ports are annotated and the transect lines, along which concentration profiles were obtained, are delineated.

A total of eight experiments were performed. Table 3 summarizes the details of the parameters used in each experiment. For comparison purposes, the experiments are divided into sets 1–5, based on the physical micromodel used in the experiments. The first three experimental sets are completed in periodic micromodels with a single post size, as illustrated in Figure 6a. Experiment 4 is conducted in a periodic micromodel with two distinct post sizes (Figure 6b). A nonperiodic model (Figure 7) is used in experiment 5. These sets were designed to focus on investigating the effects of changing (a) Darcy velocity (sets 1 and 3), (b) grain diameter (comparison of experiments 1a and 2), (c) aspect ratio (comparison of experiments 1a and 3a), and (d) heterogeneity (comparison of experiments 1a, 4, and 5) on model predictions. The molecular diffusion coefficient of Alexa 488 in water is 4.3 × 10−10 m2/s [Nitsche et al., 2004] and the viscosity of water was taken to be 1.002 mPa·s. In all experiments, water and Alexa 488 were injected with equal flow rates into the inlet ports 1 and 2 (see Figure 5).

Table 3. Summary of the Experiments Including Micromodel Parameters, Calculated Throat Conductivities, and Calculated/Measured Micromodel Permeabilities
Experiment Postdiameter (µm) A–B (µm) (refer Figure 6) Thickness (μm) Darcy Velocity (×10−3 cm/s) Porosity (%) Conductivity Calculated (×10−12 cm3) Permeability Calculated (×10−7 cm2) Permeability Measured (10−7 cm2) Peclet Number
1a 300 180.8–40 29 4.52 39.0 308.7 1.0 1.3 11.9
1b 300 180.8–40 29 45.24 39.0 308.7 1.0 1.3 119.0
2 600 361.7–80 29 4.52 39.0 385.5 1.3 1.5 14.6
3a 300 152.5–20 39 6.56 31.2 215.5 0.52 0.48 28.0
3b 300 152.5–20 39 0.656 31.2 215.5 0.52 0.48 2.8
3c 300 152.5–20 39 0.0656 31.2 215.5 0.52 0.48 0.28
4 large: 300 180.8–40 39 5.76 26.7 large: 723.5 0.62 0.59 13.8
small: 135 small: 378.0
5 large: 300 180.8–40 39 14.56 26.7 large: 723.5 1.0 0.84 34.9
small: 135 small: 378.0
Details are in the caption following the image
Close-up schematic of the single-post and double-post micromodel structures. The pore space is divided into pores and throats. Dimensions of the micromodels are annotated.
Details are in the caption following the image
Schematic of the nonperiodic (heterogeneous) micromodel used in experiment 5 (Table 3). The single-post and dual-post areas of the model are identical to the configuration used in experiments 1 and 4, respectively.
The micromodels are divided into pores and throats as indicated in Figure 6. The throat conductivities (i.e., g) were obtained by solving the Stokes equation, in COMSOL, on individual throat geometries and using urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0062. Since the micromodels have regular patterns, only one (or two in the case of experiments 4 and 5) representative throat had to be considered. Note that the top and bottom plates of the micromodels provide additional no-slip boundary conditions in calculating throat conductivities. Once the conductivities are calculated, the flow system (equation 2) can be solved to obtain the velocity field and the permeabilities of each micromodel (using Darcy's law, i.e., urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0063). Subsequently, transport was simulated using both SSM and MCM until steady state was reached. Table 3 summarizes the calculated throat conductivities, and the calculated versus measured micromodel permeabilities. Note that there is good agreement between the computed and measured permeabilities. For solving the SSM transport equation, the following parameters (except for pores in the dual-post regions) were used as a result of an a priori knowledge of the pore/flow geometries:

Figure 8 demonstrates the simulated (MCM and SSM) and the experimental concentration profiles along the 0.5, 1, and 1.5 cm transects (concentration profiles along the 0.25, 0.75, 1.25, and 1.75 transect lines are not shown for brevity, however, similar results were obtained for these lines as well). It should be noted that the “oscillations” in the experimental data are due to the fact that the concentration values over the grain space (i.e., posts) are measured as zero. On the other hand, the simulation results are expressed in pore concentrations and the values over the grain space is interpolated. Therefore, the simulated concentration profiles appear smooth and devoid of any such “oscillations.” Thus, correct comparison of the simulated results should be made against the “peaks” of the experimental data (i.e., disregarding data points inside the peak envelope).

Details are in the caption following the image
Concentration profiles along the 0.5, 1, and 1.5 cm transect lines including experimental data (dots), SSM transects (solid blue line), and MCM transects (dashed red line).
Details are in the caption following the image
Comparison of 2-D concentration fields obtained using SSM and MCM for the micromodels in experiments 1b, 2, 3a, and 5. The smooth concentration fields were obtained by interpolation over the grain space.

Figure 8 shows excellent agreement between SSM simulations and the experimental data. The agreement remains very close in all sets, in which (a) Darcy velocity (sets 1 and 3), (b) grain diameter (experiments 1a versus 2), (c) aspect ratio (experiments 1a versus 3a), and (d) heterogeneity (experiments 1a, 4, and 5) are subject to change. The predictions cover a large range of Peclet numbers (= vR/Dm, where v, R, and Dm are the average throat fluid velocity, average throat radius, and molecular diffusion coefficient, respectively) from 0.28 to 119.0 as summarized in Table 3. On the other hand, predictions made by MCM are generally poor and largely overpredict transverse dispersion. This is to be expected, since the implicit perfect-mixing assumption naturally aids the dispersion of the solute in the transverse direction. MCM predictions are poorer when pore sizes are larger (leading to mixing of more fluid, e.g., experiment 2) and Peclet number is higher (greater than approximately 1). The only cases in which MCM yields accurate predictions are experiments 3c and 4. The MCM solution for experiment 3b appears acceptable, however, the two methods deviate further as the distance from the inlet increases; thus for longer domains MCM predictions would become inaccurate. Experiment 3c is in the diffusion-dominated regime (Pe ≈ 0.28), therefore, the perfect-mixing assumption in MCM becomes appropriate and the two methods yield similar result. Furthermore, the agreement in experiment 4 is merely due to the specific symmetric structure of the dual-post micromodel. The pores in this network consist of three throats (thus a maximum of one flowing pocket), one of which has a zero flow rate (this is the throat perpendicular to the flow direction). Transverse dispersion in this network is, therefore, solely due to diffusion through the nonflowing throats. Finally, note that in experiment 5, MCM predictions do not even follow the correct trend of the transect concentration profiles. This is due to the fact that the single-post region of the micromodel (Figure 6a) consists of fewer but larger pores, thus leading to more lateral mixing; whereas the dual-post region (Figure 6b) consists of more pores per bulk volume of the micromodel, thus resulting in less lateral dispersion.

Figure 9 compares 2-D concentration field plots obtained from SSM and MCM for the micromodels in experiments 1b, 2, 3a, and 5. These field plots also clearly show that MCM largely overpredicts transverse dispersion. Similar behavior was observed for all other experiments (except experiments 4 and 3c where SSM and MCM results agree). It should be noted that the concentration fields appear smooth because the simulated pore concentrations were interpolated over the grain space. The ripples in the SSM concentration field of experiment 2 in Figure 9 are not numerical artifacts and are the result of adjacent pore layers with very different concentration values. Therefore, we conclude that SSM provides a much more accurate description of solute transport (in particular transverse dispersion) than MCM which is in excellent agreement with experimental data. Finally, the number of SSM and MCM transport unknowns for each of the experiments is listed in Table 4. Note that, on average, the number of SSM unknowns is ∼2 times the unknowns of MCM. This is generally also true in realistic 3-D granular media as shown in section 4.3. It is also noteworthy that the longest SSM simulation time was ∼2 min (for experiment 4) which is less than any direct method known to the authors for the domain sizes considered. In closing, we would like to note that if these problems were solved using CTRW with pore-level rules as the ones used by Bijeljic et al. [2004] (i.e., “stream-tube routing” for the advection step and “complete mixing” for the diffusion step), the resultant predictions would have been the same as the ones obtained by MCM. Moreover, if the pore-level rules were adopted from Bruderer et al. [2001] and Jha et al. [2011], no transverse dispersion would have been observed in their corresponding predictions. This means that the pore-level rules currently used in CTRW verge on the extremes of the pore-level Peclet spectrum and the propositions made in section 3.3.2 could rectify this deficiency.

Table 4. Number of SSM and MCM Transport Unknowns for Each Experiment
Experiment Number of MCM Unknowns Number of SSM Unknowns
1a 1370 2824
1b 1370 2824
2 349 740
3a–c 1914 3918
4 6888 10,500
5 4126 6798

4.3 Transverse Dispersion in 3-D Disordered Media

In this section, we examine transverse dispersion in 3-D disordered granular media. Specifically, we attempt to simulate transverse dispersion at high Peclet regimes using SSM and MCM (since this is when the two methods diverge the most) in 3-D disordered networks and draw comparisons between them. We utilize pore networks extracted from two different types of porous media: (a) a 3-D sphere pack obtained from using a collective rearrangement algorithm [Jodrey and Tory, 1985]; and (b) a real and naturally occurring sandstone [Gani and Bhattacharya, 2003] imaged using X-ray computed microtomography [Thompson et al., 2008]. Both networks were extracted using a modified Delaunay tessellation algorithm [Al-Raoush et al., 2003]. The sphere pack consists of 4094 pores and 10,184 throats with permeability and porosity of 24 D and 0.38, respectively. The sandstone consists of 9463 pores and 15,555 throats with permeability and porosity of 0.19 D and 0.17, respectively. Both networks have dimensions of 1 × 1 × 1 mm3.

In each network, the flow problem (equation 2) was solved by imposing a constant pressure drop in the x direction and sealing all other boundaries. For transport, the concentration at the inlet was kept at a constant value of one for y ≥ 0.5 mm and at a constant value of zero for y < 0.5 mm. At the outlet, a zero-concentration-gradient boundary condition was imposed. The transport problem was then solved both using SSM and MCM until steady state was reached. Here we define the characteristic Peclet number by vR/Dm, where v is the interstitial fluid velocity (= U/φ, where U is Darcy velocity and φ is porosity), R is the average throat radius, and Dm the molecular diffusion coefficient. The simulations were carried out at a characteristic Peclet number of ∼60 for both the sphere pack and sandstone networks (which is advection dominated). The number of transport unknowns in SSM is ∼2 times the number of unknowns in MCM for both networks (i.e., sphere pack: 9949 for SSM versus 4094 for MCM; sandstone: 16,486 for SSM versus 9463 for MCM). This is similar to the micromodels studied in section 4.2.

Figure 10 shows a 2-D plane view of the steady state concentration fields obtained using SSM and MCM, and the difference field plots calculated via equation 23. The difference field plots quantify the divergence of the two methods from one another relative to the maximum inlet concentration value (i.e., one). Figure 10 shows that the average difference between the two methods is ∼5% and ∼7% of the maximum concentration value (i.e., one) in the sphere pack and sandstone networks, respectively (with some pores registering differences close to ∼10%). Furthermore, the difference between the two methods is more pronounced in the sandstone in comparison to the sphere pack. Despite the fact that such errors could ultimately become important in obtaining transverse dispersion coefficients via upscaling for these media, the difference is nevertheless not substantial. Similar observations were made for different and much (up to 10 times) larger sphere packs. This is contrary to the observations made for the micromodels in section 4.2, where the difference between the two solutions ranged from 25% to 45%. In order to explain the foregoing observation made for the 3-D networks, we distinguish between six types of pores:

Details are in the caption following the image
(a, b, d, and e) Plane view of the steady state concentration fields obtained using SSM and MCM for the sphere pack and sandstone networks. (c and f) The difference field plots between the two methods obtained via equation 23.

1. Type I: more than one inlet but only one outlet

2. Type II: more than one outlet but only one inlet

3. Type III: one inlet and one outlet

4. Type IV: more than one inlet and more than one outlet with the xio values differing by <0.1 from the “stream-tube routing” method values

5. Type V: more than one inlet and more than one outlet with the xio values differing by >0.1 from the “stream-tube routing” method values

6. Type VI: nonflowing pores, i.e., flow rate in all connecting throats is equal to zero

Pores of type I act as mixers, in which several inlet streams converge into a single throat. The convergence reduces the diffusion distance which, in turn, causes a quadratic reduction in the diffusion time scale (via Einstein's equation) greatly enhancing diffusive mixing. Type II pores act as distributors; in other words, they divide and dispense a single inflowing stream among many other throats. Type III pores simply act as transmitters of a single stream from one throat to another. Type IV pores essentially act as mixers as well because, as shown in section 3.3.2, “stream-tube routing” is equivalent to assuming perfect mixing in pores, where the actual mixing occurs in the outflowing throats. The 0.1 deviation of the xio values from the “stream-tube routing” method was chosen arbitrarily, nevertheless was considered sufficiently close for the qualitative arguments presented next. Only pores of type V keep different inflowing streams sufficiently segregated, therefore, allowing for possible differences between the two methods to emerge. Finally, type VI pores are connected to throats with zero flow rates. Type VI pores are common in tree-type networks where large clusters of pores become off-shoots from a main flowing branch (e.g., the sandstone network is of this type as shown next). Transport in these pores is only through diffusion. Table 5 summarizes the percentage of the pores belonging to each of the aforementioned six categories for both the sphere pack and sandstone networks.

Table 5. Percentage of Each Pore Type in the 3-D Granular Pore Networks Studied
Pore Type Sandstone (% Pores) Sandstone Type VI Omitted (% Pores) Sphere Pack (% Pores) Sphere Pack Flattened (% Pores)
Type I 12 17 18 18
Type II 12 17 18 18
Type III 14 20 4 4
Type IV 9 13 33 7
Type V 23 33 27 53
Type VI 30 - 0 0

Note from Table 5 that 27% of the pores in the sphere pack are of type V and the remaining 73% are mixer, distributor or transmitter pores. Additionally, all type V pores are evenly distributed across the network because the porous medium is disordered and well connected (percentage of type VI pores is zero). Therefore, any stream flowing into a pore has only a probability of 27% for remaining segregated, which reduces geometrically if a short succession of pores is considered. Additionally, not all the pores within this 27% make equally significant contributions. Some pores have one or more inlets/outlets that carry very low flow rates, thus creating insignificant differences in the final concentration field. In the sandstone network, however, 30% of the pores are of type VI (Table 5), indicating that a large number of pores belong to off-shoot clusters from a main flowing branch. To make the percentages comparable to the sphere pack network, we exclude type VI pores (Table 5, second column) in our analysis. Having excluded type VI pores, we compare the recalculated sandstone percentages with that of the sphere pack. From Table 5, it is evident that the two have similar percentages (except for type III and IV, which have similar combined percentages). Moreover, the percentage of type V pores in the sandstone (i.e., 33%) is only slightly higher (by 6%) than that of the sphere pack (i.e., 27%), which is partially responsible for the slightly larger discrepancy between SSM and MCM in the sandstone (i.e., Figures 10c and 10f). Another reason for this discrepancy is the special placement of type V pores within the sandstone network. Since 30% of the pores in the sandstone are nonflowing (i.e., type VI), all other pore types are located on the main flowing branch of the tree-type network; thus, influencing larger segments of the domain. Therefore, we conclude that the segregation of inflowing streams by type V pores is not effective in causing substantial differences between the SSM and MCM solutions in 3-D granular media (compared to the micromodels studied in section 4.2). Nevertheless, these differences could still prove to be important in obtaining transverse dispersion coefficients for these media (via upscaling).

From the foregoing observations, one can categorize two dominant mixing mechanisms responsible for transverse dispersion: pore-level mixing (due to intrapore mass transfer) and structural mixing (due to network tortuosity and structure). Interpore diffusion/dispersion is another mechanism but becomes only dominant at very low Peclet regimes. In the micromodels of section 4.2, pore-level mixing was the dominant mechanism, whereas in the 3-D granular pore networks studied here structural mixing appears to be the dominant mechanism. The dominance of one mechanism over the other is a strong function of the network structure. In this context, there are three important components to structure: connectivity, geometry, and orientation. Connectivity (i.e., determining the neighbors of each pore) is a graph property and is the most important morphologic parameter influencing the competition between pore-level and structural mixing. Both connectivity and geometry are the only structural inputs required for solving the flow equation given by equation 2. The result consists of only the magnitude of the in/outflowing rates within each throat. Orientation determines, in addition, how the streamlines split within the pores. In order to demonstrate the effect of orientation on transverse dispersion, consider the feasibility of squeezing and “flattening” the sphere-pack network along its z dimension into a two-dimensional network (ignoring for now the topological/geometric possibility of doing this). Figure 11 compares the difference field plots obtained (via equation 23) for the “flattened” and original sphere-pack networks. It is evident from Figure 11, that pore-level mixing is more dominant in the “flattened” network in comparison to the original network. The average difference between SSM and MCM in the “flattened” network is ∼10% versus ∼5% in the original network. This is a direct consequence of altering the network structure by reducing randomness in its throat orientations. Furthermore, the very special throat orientations in a single pore of a 3-D granular medium (i.e., the tetrahedron configuration; similar to case V in Figure 4) allows for the twisting of the barrier surface (refer section 3.3.1) ultimately resulting in a reduction in the number and efficiency of type V pores. Therefore, it is the structure of a medium (i.e., connectivity, geometry, and orientation) that determines the percentage and distribution of its type V pores, ultimately dictating the competition between pore-level and structural mixing for transverse dispersion. A quantitative description of this competition is currently outside the scope of this work, but a possible parameter candidate may be identified. Imagine a swarm of observer particles released from a single point at the inlet. The trajectories of these particles, in moving from the inlet toward the outlet, would be bound by a cone (particles move away from each other due to tortuosity). The rate of growth of such a cone may be an appropriate parameter for classifying porous media in terms of their dominant mixing mechanisms. The faster the aforementioned cone grows, the more structural mixing dominates over pore-level mixing and vice versa. However, further study regarding this is needed.

Details are in the caption following the image
Plane view of difference field plots of the (a) “flattened” and (b) original sphere pack.
Details are in the caption following the image
Flowchart of the algorithm used for determining the preferred outlets of a given inlet i (i.e., members of Pri). Subscripts or superscripts i, out, in, and ex refer to the inlet, outlet, interior, and exterior, respectively. qi is the flow rate of the given inlet i.

5 Conclusions

In this work, a novel Eulerian approach for modeling species transport in pore networks, referred to as the streamline splitting method (SSM), was presented. The new method lifts the limitation of the relatively simple and computationally attractive mixed cell method (MCM) to diffusion-dominated regimes at a minimal increase in computational cost. The following is a summary of our findings:

1. The streamline splitting algorithm developed in section 3.3.1 was shown to be in excellent agreement with direct CFD simulations. The method was considerably more accurate than both the “stream-tube routing” method and the method proposed by Jha et al. [2011].

2. The commonly used “stream-tube routing” method in CTRW (for redistributing solute particles at the end of the advection step) was shown to be equivalent to pore-level perfect mixing. On the other hand, the approach taken by Bruderer et al. [2001] and Jha et al. [2011] eliminates any mechanism responsible for pore-level mixing. Thus, both methods are only valid at the extremes of the Peclet spectrum. Therefore, it was proposed that the streamline splitting algorithm (in section 3.3.1) be used instead of “stream-tube routing” in the methodology employed by Bijeljic et al. [2004]. This would potentially preserve the determinism of the advection step (i.e., reversibility) while incorporating a mechanism for randomness (characteristic of diffusion).

3. The streamline splitting method (SSM) was validated against several micromodel experiments designed to focus on investigating the effects of (a) Darcy velocity, (b) grain diameter, (c) aspect ratio, and (d) heterogeneity on model predictions. In all cases, excellent agreement was obtained against experiments. On the contrary, MCM predictions were shown to be poor and largely overpredicting transverse dispersion except at diffusion-dominated regimes.

4. The relative increase in the computational cost of SSM compared to MCM is minimal in regards to the level of accuracy gained. The difference involves a factor of ∼2 increase in the number of transport unknowns and a streamline splitting step following the solution of the flow equation. The number of transport unknowns and computational cost of SSM can be further decreased a priori by evaluating the perfect-mixing condition in each pore (i.e., r ≤ Y; this was not done in this work) (refer sections 3.3.4 and 3.3.3). Maximum wall-clock time of all simulations (until steady state) within this work was ∼4 min for the sandstone (with 16,486 unknowns for SSM and 9463 unknowns for MCM).

5. The difference between the SSM and MCM solutions was found to be insubstantial in 3-D disordered granular media (i.e., sphere pack: ∼5%, and sandstone: ∼7% deviation relative to maximum concentration value) in comparison to the micromodels studied in section 4.2. This was attributed to the relatively small percentage of type V pores and their uniform distribution within these media. Nevertheless, these differences could still prove to be important in obtaining transverse dispersion coefficients for these media (via upscaling).

6. Two important mechanisms responsible for transverse dispersion were isolated: pore-level mixing and structural mixing. The dominance of either mechanism was attributed to three facets of the pore-space structure: connectivity, geometry, and orientation. It was shown that these structural parameters affect the percentage and distribution of type V pores, ultimately dictating the importance of one mechanism over the other in various porous materials.


This material is based upon work supported as part of the Center for Frontiers of Subsurface Energy Security, an Energy Frontier Research Center funded by the U.S. Department of Energy, Office of Science, and Office of Basic Energy Sciences under award DE-SC0001114. The micromodel experiments were performed using EMSL, a national scientific user facility sponsored by the Department of Energy's Office of Biological and Environmental Research and located at Pacific Northwest National Laboratory.

    Appendix A: Streamline Splitting Algorithm Flowchart

    Figure A1 presents the details of the algorithm used for identifying preferred outlets for a given inlet i (i.e., member of the Pri set) and the kind of access the inlet (i.e., full, partial, or limited) is granted to these outlets.

    Appendix B: Equivalence of Flow Rate-Weighted Distribution of Inflowing Streams and Choosing urn:x-wiley:00431397:media:wrcr20817:wrcr20817-math-0302io = |qo| as the Coefficients of the Objective Function Given by Equation 5

    Consider, for simplicity, a pore with two inlets and two outlets. Let the flow rates of the two inlets be denoted by q1 and q2 and similarly for the two outlets by q3 and q4 (all positive values). Note that since the flow equation (equation 2) is solved, mass balance (i.e., q1 + q2 = q3 + q4) applies. We assume that both inlets have partial access to both outlets (no full or limited access). We begin by writing the restrictions given by equations 4b and 4c:
    Since no full-access outlets exist the above system cannot be reduced any further. Note that both outlets belong to both Pr1 and Pr2, thus the change of variable given by equation 7 needs to be applied (e.g., x13 = 1 − y13). Subsequently, we obtain the following system (we make use of q1 + q2 = q3 + q4):
    Converting the above system to reduced-row-echelon form, we obtain:
    The following is the general solution of the above system:
    Forming the objective function (given by equation 5) with ωio = |qo| we have:
    Substituting equation B4 into B5 and taking the derivative with respect to t and equating the resulting expression to zero, we obtain the following value for t that minimizes the objective function:
    Finally, by substituting equation B6 into B4 and transforming back to xio we get:

    This is precisely the result one would get using “stream-tube routing” (i.e., equation 11) or a flow rate-weighted distribution of the inflowing rates q1 and q2 among the outlets. The proof for two inlets and any number of outlets is identical to the proof given here, but this simple case was chosen for clarity. For more than two inlets, the above procedure remains the same; however, the objective function could easily become multivariate, and therefore, a general mathematical proof becomes cumbersome and was thus not attempted. Instead, the claim was numerically verified for a large number of cases with more than two inlets.

    Appendix C: Counter Examples for a Previously Proposed Streamline Splitting Method

    Jha et al. [2011] proposed deterministic rules for splitting streamlines which was a step toward capturing reversibility of advection within pores. However, the rules were limited to pores with less than or equal to four neighbors. A major limitation of the method is that it neglects throat orientations. In their method, throats are displaced away from the pore center by a fixed amount to remove overlap, and rules were devised based on only the distance between the inlets and outlets. Since throat orientations determine the relative positions of opposing streams with respect to any given inlet, neglecting throat orientations renders their method invalid (refer section 3.3.1). Figure C1 consists of simple counter examples for the rules proposed by Jha et al. [2011] for two-inlet-two-outlet configurations. We have followed their convention in labeling the throats and configurations. Figure C1 demonstrates concentration fields of a dummy tracer in the absence of diffusion at steady state. Boundary conditions for each throat are also depicted in the figure (units are not necessary in the calculation of xio values for reasons mentioned in section 4.1). Table 6 summarizes predictions made using the method proposed by Jha et al. [2011] and the streamline splitting method of section 3.3.1 against COMSOL simulations. Table 6 shows that the predictions made using their method results in large errors (even for the simple 2-D pore geometries of Figure C1), whereas the streamline splitting method makes very accurate predictions. The large inaccuracies are a direct consequence of neglecting throat orientations in their proposed rules.

    Details are in the caption following the image
    Counter examples for the streamline splitting rules proposed by Jha et al. [2011]. Their conventions for labeling throats/configurations are followed. Boundary conditions are annotated.
    Details are in the caption following the image
    An idealized cuboid pore containing two pockets with a concentration discontinuity at the interface at time t0, which diffuses slowly with time. Thick arrows denote flow direction.
    Table 6. Comparison of the Predictions Made Using the Method Proposed by Jha et al. [2011] and the Streamline Splitting Method Proposed in This Work Against COMSOL Simulations
    COMSOL Simulations Jha et al. [2011] Method Streamline Splitting
    x13 x14 x13 x14 x13 x14
    Configuration 3 0.99 0.39 0.00 0.8 1.00 0.4
    Configuration 4 0.99 0.49 0.33 1.00 1.00 0.5
    Configuration 5 0.00 0.79 1.00 0.4 0.00 0.8

    Appendix D: Interpocket Mass Transfer Term

    D1 Derivation

    Assume a pore that contains two pockets sharing an interface. If we idealize the shape of the pore and the containing pockets as cuboids (as shown in Figure D1), the species mass transfer term can be quantitatively approximated. Consider that at time t0 the pockets have initial concentration values of c1 and c2 creating a discontinuity at the interface (Figure D1). The heat equation with homogeneous Neumann boundary conditions (given by equation D1) describes the interdiffusion of two bounded bodies. The Neumann boundary conditions represent the impenetrability of the pore walls and H(x) represents the Heaviside step function.
    Equation D1 can be solved by the method of separation of variables to obtain the concentration field given by equation D2:
    The solution can then be differentiated and multiplied by Dm to obtain the instantaneous flux at x = a. Integrating this flux on t ϵ [0, T] and over the interfacial area yields the cumulative mass transfer in this time interval (equation D3):
    The average mass transfer rate can, thus, be defined by equation D4:
    In equations D3 and D4, dimensions of the idealized pockets (i.e., L, W, H, and a) are required. If an a priori knowledge of these parameters is known from the network and flow geometry (as is the case in section 4.2), then they can be used in the computations. Otherwise, one can use the approximations given by equation D5, where V1 and V2 are the pocket volumes (obtained from equation 13) and Vp is the pore volume. Note that a pore may contain more than two pockets, in which case each will be exchanging mass with the rest of the pockets in the pore. Thus, the same methodology can be used by considering the pockets pairwise.

    T is the transport time scale and is very important in calculating Ψ21.The smaller T is, the larger the interpocket mass transfer rate will be. At high Peclet numbers, it is reasonable to assume that, at the pore level, advection (fast) and diffusion (slow) are mathematically decoupled. Therefore, one can envision advection and diffusion taking place sequentially over the course of the time required for the pore fluid to be fully recycled. This is the fluid residence time in the pore and is denoted by ta in equation D6. Therefore, after each advection step the pocket concentrations would become completely uniform, and the diffuse interface between the pockets would be resharpened. This, then, justifies solving a Riemann problem for the diffusion step, as is done to obtain ΔN in equation D3.

    At low Peclet numbers, a similar mathematical decoupling of advection and diffusion holds. However, the argument for solving a Riemann problem in the diffusion step is not as rigorous. Nevertheless, we intend to use the same equation (i.e., equations D3 and D4) here as well. To that end, we define td (in equation D6) as the diffusion time scale, which is the time required for a Brownian particle, starting from the interpocket interface, to traverse the shortest of the two lateral dimensions of the pockets. This is when the presence of the pore boundaries is felt by the particles. The value for T can then be taken as αtd. The need for α (<1) comes from the fact that T = td produces the right trend with respect to Peclet number but a slight underprediction of the interpocket mass transfer rate (when compared to CFD simulations; refer Appendix D2).
    We refer to the ratio of td over ta as r, which quantifies the pore-level competition between advection and diffusion. Note that ta is the fluid residence time, and thus is defined based on the longitudinal length scale of the pore, and td is based on the lateral length scale of the pore. Therefore, r embeds characteristics of both the transport regime (i.e., Peclet number) and pore geometry (i.e., pore aspect-ratio). We denote the range for the validity of T = ta as r ≥ X (where X must be a value larger than one), and the range for the validity of T = αtd as r ≤ Y (where Y must be a value <1). The physical interpretation for X is based on considering how far a Brownian particle would travel in the lateral dimension from the time it enters the pore till the time it exits it. The interpretation for Y follows from considering the fact that the time at which the presence of the lateral pore boundaries is felt by a Brownian particle must be much smaller than the residence time of the particle within the pore at the onset of diffusion-dominated regime. For moderate Peclet numbers (i.e., X > r > Y), a continuous interpolation is performed to obtain the appropriate values for T. Figure D2 summarizes the selection of the transport time scale, T, for different transport regimes. The interpolation consists of the plane going through vectors b1 and b2 given by equation D7 (and shown in Figure D2).
    Details are in the caption following the image
    Map for choosing the transport time scale, T in equations D3 and D4, based on values of the advection and diffusion time scales (i.e., ta and td).

    D2 Determining X, Y, and α From Direct Simulations

    The exact values for X, Y, and α were determined through direct COMSOL simulations on three pore geometries with very different pore aspect ratios (= Lp1/Lp2); shown in Figure D3. Pore aspect ratios were equal to 1, 2, and 4 for geometries shown in D3a, D3b, and D3c. Subsequently, SSM simulations were run for these pores as well. Inlet #1 and #2 boundary conditions consisted of (constant) one-concentration and zero-concentration values, respectively. Concentration gradients at both outlets were set to zero. The steady state outlet concentrations were then recorded while altering Peclet number (i.e., fluid velocity). Figure D4 shows the SSM and directly simulated outlet concentration values plotted against r for all three geometries. The SSM simulations correspond to employing: X = 6, Y = 0.1, and α = 0.5. Note that these parameters provide good estimates of outlet concentration values for all three geometries. X was determined by plotting SSM predictions, using T = ta in equations D3 and D4 for all transport regimes, against direct simulations and determining the point at which the two plots were within 5% of each other relative to the maximum concentration value (i.e., one). Y was obtained by simply determining the point at which the difference between the two outlet concentrations, obtained from the direct simulations, was within 5% of the maximum concentration value. Once X and Y were determined, α (<1) was altered in such a way that SSM and the direct simulation predictions for Y agreed. Note that for all three pore aspect ratios, the graphs collapse onto one another when plotted against r (indicating proper scaling). This is because r is a dimensionless combination of Peclet number and pore aspect ratio. Note that the only two necessary metrics here are the lateral and longitudinal dimensions of the pore, thus the X, Y, and α found herein could be applied to other geometries as well with reasonable accuracy. It is noteworthy, however, that the value for Y depended slightly on pore aspect ratio and varied between 0.1 and 0.3; however, a value of 0.1 was deemed as appropriate since it appeared to produce good results for all three pore geometries.

    Details are in the caption following the image
    (a–c) Three pore geometries with aspect ratios equal to 1, 2, and 4, respectively. Flow direction is annotated.
    Details are in the caption following the image
    SSM and directly simulated steady state outlet concentration values versus r for the pore geometries shown in Figure D3.