1 Introduction

Carbon dioxide (\(\text{ CO}_{2})\) is the most important greenhouse gas, being responsible for over 60 % of the increase in the greenhouse effect (Kiehl and Trenberth 1997). It is widely recognized that an excess of carbon dioxide in the atmosphere increases the average temperature on the earth (e.g., Karl and Trenberth 2003). Geological storage of \(\text{ CO}_{2}\) allows injecting large volumes of \(\text{ CO}_{2}\) into the ground at sites suitable for geological storage (e.g., oil and gas reservoirs, unmineable coal seams, and deep saline reservoirs), and thus contributes to the mitigation of an increased greenhouse effect (Hepple and Benson 2004; Orr and Stanford 2004; Baines and Worden 2001). In order to ensure that the geologically stored \(\text{ CO}_{2}\) remains isolated from the atmosphere in the long term effective site characterization and monitoring techniques are needed and are also being developed.

Typically the storage formations are at depths of 800 to 3,000 m below ground surface and access to these formations is limited to a small number of deep boreholes. In addition, significant uncertainty in the geological properties and their spatial variation between the boreholes usually exists. Consequently, accurate monitoring of the spatial distribution of the injected \(\text{ CO}_{2}\) and its migration and fate is highly challenging. At the same time, in-situ information of \(\text{ CO}_{2}\) migration and trapping processes are crucial both in terms of improving our understanding of the fundamental phenomena as well as in commercial \(\text{ CO}_{2}\) storage projects, in which monitoring of the injected \(\text{ CO}_{2}\) is an important requirement. As a part of the EU-FP7 MUSTANG project (Niemi et al. 2012), different tracers are being developed and tested, specifically for the purpose of characterization of geologically stored \(\text{ CO}_{2}\) and its phase partitioning and migration in deep saline formations. These tracers include both more traditional partitioning tracers used in oil reservoir applications (e.g., Tomich et al. 1973) and \(\text{ CO}_{2}\) storage research (e.g., Zhang et al. 2011), and a set of novel reactive, kinetic interface-sensitive (KIS) tracers (Schaffer et al. in press; Licha et al. 2011; Behrens et al. 2006). Due to reactive processes at the \(\text{ CO}_{2}\)–brine interface, these tracers transfer from the \(\text{ CO}_{2}\) phase to the aqueous phase and thereby carry with them information about the \(\text{ CO}_{2}\)–brine active interfacial area, its development during the migration of the \(\text{ CO}_{2}\) plume. Hence they constitute a potentially powerful tool for in-situ \(\text{ CO}_{2}\) monitoring and research.

To correctly interpret the tracer signals, a numerical simulator which incorporates two-phase flow of \(\text{ CO}_{2}\) and brine as well as tracer transport and kinetic mass transfer of tracers between the two fluid phases is needed. Kinetic models have been developed for geochemical reactions and interactions between dissolved species in the aqueous phase and the solid phase (e.g., TOUGHREACT, Xu et al. 2004) during two-phase flow. However, commonly used two-phase flow and transport codes (Xu et al. 2004; Pruess et al. 1999; Pruess 2005; Hoteit and Firoozabadi 2008; Geiger et al. 2004; Helming 1997; Bear and Bachmat 1991; Aziz and Settari 1979) do not incorporate kinetic mass transfer between the two fluid phases. In this paper, a new numerical model is presented which incorporates kinetic reactions and kinetic tracer mass transfer from one fluid phase to the other in a non-isothermal two-phase flow system of \(\text{ CO}_2\) and brine. The model can be used to interpret tracer signals obtained from field tests and subsequently aid the characterization of the geologically stored \(\text{ CO}_{2}\) including its phase partitioning and migration in deep saline formations.

The paper is organized as follows: First, we present the derivation of the governing equations for tracer transport in a non-isothermal two-phase flow system. The numerical discretization in space and time, and the solution strategies are introduced next (Sect. 3), followed by a discussion of the main constitutive models and parameters involved in the fourth section. Finally, the model verification against a semi-analytical solution and numerical simulations with the TOUGH2/ECO2N code (Pruess 2005) are presented along with model demonstration for the reactive tracer transfer over the phase interface.

2 Governing Equations

The medium is viewed as a mixed continuum of three independent overlapping phases where for every phase, their conservation equations can be obtained according to the principles of continuum mechanics (Bear and Bachmat 1991; Li et al. 1993). The general mass conservation equation for phase \(\alpha \) can be written as follows:

$$\begin{aligned} \partial _t (\rho _\alpha \phi ^{\alpha })+\nabla \cdot (\mathbf{v}_\alpha \rho _\alpha \phi ^{\alpha })-Q^{\alpha }=0, \end{aligned}$$
(1)

where \(\mathbf{v}_{\alpha }\), \(\rho _{\alpha }\), \( \phi ^{\alpha }\), and \(Q^{\alpha }\) are the velocity, the intrinsic density, the volume fractions, and the source of phase \(\alpha \), respectively.

2.1 Aqueous Phase (Liquid) Flow Equation

The flow of the liquid (aqueous) phase is driven by gravity and the pressure gradient. The relative velocity of the liquid phase is expressed as:

$$\begin{aligned} \mathbf{v}_\mathrm{l}^r =-\frac{k_\mathrm{l}^r k}{\mu _\mathrm{l} }(\nabla p_\mathrm{l} +\rho _\mathrm{l} \mathbf{g}), \end{aligned}$$
(2)

where \(p_\mathrm{l }\) is the pressure of the liquid phase, \(k\) is the intrinsic permeability, \(k_\mathrm{r}^\mathrm{l}\) is the relative permeability of liquid phase, \(\mu _\mathrm{l}\) is the liquid viscosity, g is the gravitational acceleration vector, and \(\rho _\mathrm{l}\) is the liquid density. The relative velocity of the liquid phase can be expressed as: \(\mathbf{v}_\mathrm{l}^\mathrm{r} =\phi ^\mathrm{l}\mathbf{v}_\mathrm{l} \), where \(\phi ^\mathrm{l}\) is the liquid content. The velocity of the liquid phase (\(\mathbf{v}_\mathrm{l})\) can then be written as:

$$\begin{aligned} \mathbf{v}_\mathrm{l} =\frac{1}{\phi ^{l}}\left[ {-\frac{k_r^l k}{\mu _\mathrm{l} }(\nabla p_\mathrm{l} +\rho _\mathrm{l} \mathbf{g})} \right] \end{aligned}$$
(3)

Substituting Eq. (3) as well as \(\phi ^{l}=nS_\mathrm{l}\) into Eq. (1), and then expanding, the following liquid flow equation is obtained:

$$\begin{aligned}&nS_\mathrm{l} \frac{\partial \rho _\mathrm{l} }{\partial t}+\rho _\mathrm{l} S_\mathrm{l} \frac{\partial n}{\partial t}+\rho _\mathrm{l} n\frac{\partial S_\mathrm{l} }{\partial t}+\rho _\mathrm{l} \nabla \cdot [-\frac{k_r^l k}{\mu _\mathrm{l} }\cdot (\nabla p_\mathrm{l} +\rho _\mathrm{l} \mathbf{g})]\\ \nonumber&\quad +\rho _\mathrm{l} \left[-\frac{k_r^l k}{\mu _\mathrm{l} }\cdot (\nabla p_\mathrm{l} +\rho _\mathrm{l} \mathbf{g})\right]\cdot \nabla \rho _\mathrm{l} -\text{ Q}_\mathrm{l} =0 \end{aligned}$$
(4)

Here, \(n\) is the porosity of porous medium and \(S_\mathrm{l}\) is liquid saturation. In the case of the liquid phase being water, the density gradient (\(\nabla \rho )\) is very small. Neglecting the smallest term: \(\rho _\mathrm{l} [-\frac{k_r^l k}{\mu _\mathrm{l} }\cdot (\nabla p_\mathrm{l} +\rho _\mathrm{l} \mathbf{g})]\cdot \nabla \rho _\mathrm{l} \), and dividing by\(\rho _\mathrm{l} \), finally, the aqueous (liquid) phase flow equation can be written as:

$$\begin{aligned} nS_\mathrm{l} \frac{\partial \ln \rho _\mathrm{l} }{\partial t}+S_\mathrm{l} \frac{\partial n}{\partial t}+n\frac{\partial S_\mathrm{l} }{\partial t}+\nabla \cdot \left[-\frac{k_\mathrm{r}^\mathrm{l} k}{\mu _\mathrm{l} }\cdot (\nabla p_\mathrm{l} +\rho _\mathrm{l} \mathbf{g})\right]-\frac{1}{\rho _\mathrm{l} }\text{ Q}_\mathrm{l} =\text{0}. \end{aligned}$$
(5)

2.2 Gas (\(\text{ CO}_2\)) Flow Equation

Similarly, the averaged advective velocity of gas phase (typically supercritical \(\text{ CO}_{2}\) in this study) with respect to the solid phase is driven by gravity and gas pressure, and is written as:

$$\begin{aligned} \mathbf{v}_\mathrm{g}^\mathrm{r} =-\frac{k_\mathrm{r}^{\mathrm{g}}k}{\mu _\mathrm{g}}(\nabla p_\mathrm{g} +\rho _\mathrm{g} \mathbf{g}), \end{aligned}$$
(6)

where \(\mu _\mathrm{g},\;\rho _\mathrm{g},\; {{\varvec{k}}}_r^g\) are the viscosity, density and relative permeability of the gas, respectively. The relative velocity of the gas phase can also be expressed as: \(\mathbf{v}_\mathrm{g}^r =\phi ^{g}\mathbf{v}_\mathrm{g}\), where \(\phi ^{g}\) is gas content, and then the velocity of the gas phase \((\mathbf{v}_\mathrm{g} )\) can be written as:

$$\begin{aligned} \mathbf{v}_\mathrm{g} =\frac{1}{\phi ^{g}}\left[ {-\frac{k_r^g k}{\mu _\mathrm{g} }(\nabla p_\mathrm{g} +\rho _\mathrm{g} \mathbf{g})} \right]. \end{aligned}$$
(7)

Inserting Eq.(7) as well as \(\phi ^{g}=n(1-S_\mathrm{l})\) into Eq. (1), expanding and then dividing by \(\rho _\mathrm{g}\), the following equation for gas flow in porous media is obtained:

$$\begin{aligned}&n(1-S_\mathrm{l} )\frac{\partial \ln \rho _\mathrm{g} }{\partial t}+(1-S_\mathrm{l} )\frac{\partial n}{\partial t}-n\frac{\partial S_\mathrm{l} }{\partial t}+\nabla \cdot [-\frac{k_r^g k}{\mu _\mathrm{g} }\cdot (\nabla p_\mathrm{g} +\rho _\mathrm{g} \mathbf{g})]\\&+[-\frac{k_r^g k}{\mu _\mathrm{g} }\cdot (\nabla p_\mathrm{g} +\rho _\mathrm{g} \mathbf{g})]\cdot \nabla \ln \rho _\mathrm{g} -\frac{1}{\rho _\mathrm{g} }Q_\mathrm{g} =0\nonumber , \end{aligned}$$
(8)

where \(Q_\mathrm{g}\) is the source term for the gas phase and other coefficients were defined previously.

2.3 Heat Transport Equation

The heat transport equation can be obtained based on the principle of thermal energy conservation. A detailed derivation was presented by Tong et al. (2010). The effects of deformation, thermal expansion (thermo-mechanical coupling between the solid, liquid and gas phases), and the effect of advection associated with the thermo-osmosis induced flow of the liquid and gas were ignored in the present analysis as they are not expected to be significant in tracer transport analyses. Basing the heat transport on heat conduction, heat capacity of the solid-fluid-gas system, and advective heat transfer associated with flow of liquid and gas, the final equation of heat transport can be simplified and expressed as:

$$\begin{aligned}&\frac{\partial [(1-n)\rho _\mathrm{s} c_\mathrm{s} T+nS_\mathrm{l} \rho _\mathrm{l} c_\mathrm{l} T+n(1-S_\mathrm{l} )\rho _\mathrm{g} c_\mathrm{g} T]}{\partial t}-\nabla \cdot \left[\rho _\mathrm{g} c_g T\frac{k_r^g k}{\mu _\mathrm{g} }(\nabla p_\mathrm{g} +\rho _\mathrm{g} \mathbf{g})\right] \\ \nonumber&\quad -\nabla \cdot \left[\rho _\mathrm{l} c_\mathrm{l} T\frac{k_r^l k}{\mu _\mathrm{l} }(\nabla p_\mathrm{l} +\rho _\mathrm{l} \mathbf{g})\right]-\nabla \cdot (k_T \nabla T)-Q_\mathrm{T} =0.\nonumber \end{aligned}$$
(9)

Here, \(\rho _\mathrm{s}\) is the density of solid, \(c_\mathrm{s}, c_\mathrm{l}, c_\mathrm{g}\) are the specific heat capacity of solid, liquid, and gas phase, respectively, \(k_\mathrm{T}\) is the thermal conductivity, and \(Q_\mathrm{T}\) is a heat source term.

2.4 Tracer Transport Equation

In field experiments on \(\text{ CO}_{2}\) transport and trapping in brine aquifers, tracers can be injected into the aqueous or the gas (supercritical \(\text{ CO}_{2})\) phase and their evolution in the two phases can be used as an indicator of partitioning between the phases.

In this study, we are especially focusing on a case where tracers are injected with the gas phase (supercritical \(\text{ CO}_{2})\), and their concentration in the liquid (water) is measured at later times. Therefore, it is necessary to distinguish between the tracer concentrations in gas and liquid phases. Here two independent variables of tracer concentration are needed (the concentration of tracer in gas (\(C_\mathrm{g})\) and the concentration of tracer in liquid (\(C_\mathrm{l}))\), and the movement of tracers in the gas and the movement of tracers in the liquid need to be described by their respective governing equations.

2.4.1 Transport Equation of Tracer in Gas (\(\text{ CO}_2\))

Mass conservation, described by Eq. (1), can be used as basis also when developing the governing equations for tracer transport. If the concentration of tracer in the gas phase (\(C_\mathrm{g})\) is defined as the total mass of the tracer in gas divided by the total mass of gas in a unit volume, the first term in Eq. (1) can be expanded as:

$$\begin{aligned} \partial _t [C_\mathrm{g} \rho _\mathrm{g} \phi ^{g}]\!=\!n(1\!-\!S_\mathrm{l} )\rho _\mathrm{g} \frac{\partial C_\mathrm{g} }{\partial t}\!+\!n(1\!-\!S_\mathrm{l} )C_\mathrm{g} \frac{\partial \rho _\mathrm{g} }{\partial t}+(1-S_\mathrm{l} )\rho _\mathrm{g} C_\mathrm{g} \frac{\partial n}{\partial t}-\rho _\mathrm{g} C_\mathrm{g} n\frac{\partial S_\mathrm{l} }{\partial t}. \end{aligned}$$
(10)

The movement of tracer in the gas phase includes diffusion and advection associated with gas flow. Then the real velocity of tracer in the gas phase can be expressed as:

$$\begin{aligned} \text{ v}_\mathrm{t-g} =\frac{1}{\phi ^\mathrm{g}}\left[ {-\frac{k_\mathrm{r}^\mathrm{g} k}{\mu _\mathrm{g} }\cdot (\nabla p_\mathrm{g} +\rho _\mathrm{g} \mathbf{g})-D_\mathrm{g} \nabla C_\mathrm{g} } \right], \end{aligned}$$
(11)

where \(D_\mathrm{g}\) is the dispersion coefficient for the tracer in the gas phase which includes the summed effects of mechanical dispersion and molecular diffusion.

Then the second item of Eq. (1) can be expanded as:

$$\begin{aligned}&\nabla [\text{ v}_{t-g} C_\mathrm{g} \rho _\mathrm{g} \phi ^{g}]=\rho _\mathrm{g} C_\mathrm{g} \nabla \cdot \left[-\frac{k_r^g k}{\mu _\mathrm{g} }\cdot (\nabla p_\mathrm{g} +\rho _\mathrm{g} \mathbf{g})\right]+C_\mathrm{g} \left[-\frac{k_r^g k}{\mu _\mathrm{g} }\cdot (\nabla p_\mathrm{g} +\rho _\mathrm{g} \mathbf{g})\right]\cdot \nabla \rho _\mathrm{g}\nonumber \\ \\ \nonumber&\qquad \qquad \qquad \qquad \qquad +\rho _\mathrm{g} \left[-\frac{k_r^g k}{\mu _\mathrm{g} }\cdot (\nabla p_\mathrm{g} +\rho _\mathrm{g} \mathbf{g})-D_\mathrm{g} \nabla C_\mathrm{g} \right]\cdot \nabla C_\mathrm{g} +\rho _\mathrm{g} C_\mathrm{g} \nabla \cdot \left[ {-D_\mathrm{g} \nabla C_\mathrm{g} } \right]\\ \nonumber&\qquad \qquad \qquad \qquad \qquad +C_\mathrm{g} \left[ {-D_\mathrm{g} \nabla C_\mathrm{g} } \right]\cdot \nabla \rho _\mathrm{g}\nonumber . \end{aligned}$$
(12)

Substituting Eqs. (11) and (12) into Eq. (1) while taking into account the mass conservation of gas flow (Eq. 8), the following transport equation for tracer in the gas phase is obtained:

$$\begin{aligned}&n(1-S_\mathrm{l} )\rho _\mathrm{g} \frac{\partial C_\mathrm{g} }{\partial t}+\rho _\mathrm{g} \left[-\frac{k_r^g k}{\mu _\mathrm{g} }\cdot (\nabla p_\mathrm{g} +\rho _\mathrm{g} \mathbf{g})\right]\cdot \nabla C_\mathrm{g} +\nabla \cdot \left[ {-\left( {\rho _\mathrm{g} C_\mathrm{g} } \right)D_\mathrm{g} \nabla C_\mathrm{g} } \right]\\ \nonumber&\quad +C_\mathrm{g} Q_\mathrm{g} -Q_{t-g} =0. \end{aligned}$$
(13)

The source term for tracer in the gas phase, \(Q_\mathrm{t-g}\), is used to express the amount of tracer that is transferred from the \(\text{ CO}_{2}\) phase to the aqueous phase. Therefore, it is a critical function in the simulation of kinetic tracer transport between the two fluid phases.

2.4.2 Transport Equation of Tracer in Liquid (Water)

The concentration of the tracer in the liquid phase \((C_\mathrm{l})\) is defined as the total mass of the tracer in the liquid divided by the total mass of liquid in a unit volume. Then, similarly to the derivation of the transport equation for tracer in the gas phase, the transport equation for tracer in the liquid phase can be obtained and written as:

$$\begin{aligned} nS_\mathrm{l} \rho _\mathrm{l} \frac{\partial C_\mathrm{l} }{\partial t}\!+\!\rho _\mathrm{l} \left[-\frac{k_r^l k}{\mu _\mathrm{l} }\cdot (\nabla p_\mathrm{l} +\rho _\mathrm{l} \mathbf{g})\right]\cdot \nabla C_\mathrm{l} +\nabla \cdot \left[ {-\left( {\rho _\mathrm{l} C_\mathrm{l} } \right)D_\mathrm{l} \nabla C_\mathrm{l} } \right]+C_\mathrm{l} Q_\mathrm{l} -Q_\mathrm{t-l}\! =\!0,\nonumber \\ \end{aligned}$$
(14)

where \(D_\mathrm{l}\) is dispersion coefficient in the liquid phase, which represents the summed effects of mechanical dispersion and molecular diffusion, and \(Q_\mathrm{t-l}\) is the source term for tracer in the liquid phase. Typically \(Q_\mathrm{t-l}\) is used to express the amount of tracer that transfers from the aqueous phase to the \(\text{ CO}_{2}\) phase, and thus it is equal to \(Q_\mathrm{t-g}\) in magnitude, but with opposite sign. The model for tracer transfer between the \(\text{ CO}_{2}\) and aqueous phases is defined in Sect. 3.5 Besides temperature and other factors, the rate of tracer mass transfer is also a function of specific fluid–fluid interfacial area; therefore, the tracer concentration gives information on the development of the interfacial area between the \(\text{ CO}_{2}\)– brine, which plays a key role in this research.

3 Main Constitutive Models and Parameters

3.1 Characteristic Curves

There are a number of relationships describing the relationship between capillary pressure and phase saturation as well as phase permeability and phase saturation (e.g., Brooks and Corey 1964; Mualem 1976; Van Genuchten 1980; Jury et al. 1991; Bachmann and van der Plog 2002), some of which take into account the hysteretic characteristics of these functions. In the preliminary simulations presented in this paper, we neglect effects of hysteresis and use the well-known Van Genuchten (1980) model for capillary pressure, \(p_\mathrm{c}\), which can be expressed as:

$$\begin{aligned} p_\mathrm{c} =-p_0 \left[ {\left( {\frac{s_\mathrm{l} -s_\mathrm{lr} }{1-s_\mathrm{lr}}} \right)^{-\frac{1}{\lambda }}-1} \right]^{1-\lambda }. \end{aligned}$$
(15)

For relative permeability to liquid, we use the Van Genuchten (1980)–Mualem (1976) model:

$$\begin{aligned} k_\mathrm{r}^\mathrm{l} =\sqrt{\frac{s_\mathrm{l} -s_\mathrm{lr} }{1-s_\mathrm{lr} }}\left\{ {1-\left[{1-\left( {\frac{s_\mathrm{l} -s_\mathrm{lr} }{1-s_\mathrm{lr} }} \right)^{\frac{1}{\lambda }}} \right]^{\lambda }} \right\} ^{2}. \end{aligned}$$
(16)

Finally, we express the relative permeability to gas using the model by Corey (1954):

$$\begin{aligned} k_r^g =\left( {1-\frac{s_\mathrm{l} -s_\mathrm{lr} }{1-s_\mathrm{lr} -s_\mathrm{gr} }} \right)^{2}\left[ {1-\left( {\frac{s_\mathrm{l} -s_\mathrm{lr} }{1-s_\mathrm{lr} -s_\mathrm{gr} }}\right)^{2}} \right]. \end{aligned}$$
(17)

3.2 Density

Density of water is defined as a function of temperature and pressure. It is calculated according to IAPWS (1994), issued by the International Association for the Properties of Water and Steam (IAPWS). Considering that the change in water density usually is very small, in the present model, a simplified formula is adopted (Tong et al. 2010), expressed as:

$$\begin{aligned} \rho _\mathrm{l} =\frac{K_\mathrm{l} \rho _\mathrm{T} }{K_\mathrm{l} -p_\mathrm{l} +1.01325}, \end{aligned}$$
(18)

where \(\rho _\mathrm{T} =1000.066219+0.0209229T-0.00602137T^{2}+0.0000163T^{3}\) is the density of water at atmospheric pressure, in units of \(\text{ kg}/\text{ m}^{3}\), \(T\) is the temperature in \(^\circ \text{ C}\), and \(K_\mathrm{l} (=2.15\times 10^{4}\) bar) is the bulk modulus of water.

The density of carbon dioxide is based on its equation of state as presented by Sterner and Pitzer (1994), applicable for temperatures from 215 to 2,000 K and for pressures from zero to over 10 GPa. For a given temperature and pressure, the equation of state of \(\text{ CO}_2\) can be simplified as a nonlinear function of the density of \(\text{ CO}_2\). Thereby, it can be directly solved in the presented model using the so-called dichotomy method by Allen and Isaacson (1997), which is a method for numerical solution of equations in a single unknown.

3.3 Viscosity

The dynamic viscosity of water used in the model is based on the following equation by Guvanasen and Chan (2000):

$$\begin{aligned} \mu _\mathrm{l} =1.984\times 10^{-6}\exp \left[ {1825.85/\left( {273+T} \right)} \right], \end{aligned}$$
(19)

where viscosity is in units of \(\text{ Ns}/\text{ m}^{2}\).

For the dynamic viscosity of \(\text{ CO}_{2}\), we use the model utilized in the TOUGH2 simulator (Pruess et al. 1999; Battistelli et al. 1997), where viscosity of \(\text{ CO}_{2}\) is a function of pressure and temperature and calculated using the correlation quoted by Pritchett et al. (1981). This formula is based on data tabulated by Vargaftik (1975).

3.4 Dissolution of Carbon Dioxide

The dissolution of carbon dioxide in pure water and sodium chloride brines is described using Henry’s law and the concept of salting-out is described following Battistelli et al. (1997). The concentration of carbon dioxide (in units: \(\text{ kg}/\text{ m}^{3})\) dissolved in water is a function of salt concentration and is expressed as follows:

$$\begin{aligned} C_{\mathrm{{CO}}_2 } =\frac{44}{18}\times \frac{p_{\mathrm{{CO}}_2 } }{(K_\mathrm{h} \times 10^{mK_\mathrm{b} })}. \end{aligned}$$
(20)

Here, \(P_{\mathrm{{CO}}_2}\) is the pressure of \(\text{ CO}_{2}\) in units of Pa, \(K_\mathrm{b}\) is the salting-out coefficient, and m is salt molality. \(K_\mathrm{h}\) is Henry’s constant for pure water (in units: Pa), and can be calculated as follows by a polynomial fit: \(K_\mathrm{h} =\sum _{i=0}^5 {B(i)T^{i}}\) (Cramer 1982). Here, T is temperature, and the coefficients \(B(i)\) have the following values: \(B(0)=78.3666, B(1)=1.96025, B(2)=8.20574 \times 10^{-2}, B(3)=-7.40974 \times 10^{-4}, B(4)=2.1838 \times 10^{-6},B(5)=-2.20999 \times 10^{-9}\).The salting-out coefficient is expressed as: \({K}_\mathrm{b} =\sum _{i=0}^4 {C(i)T^{i}} \), where the coefficients \(C(i)\) have the following values: \(C(0)=0.119784,C(1)=-7.17823 \times 10^{-4},C(2)=4.93854 \times 10^{-6}, C(3)=-1.03826 \times 10^{-8}, C(4)=1.08233 \times 10^{-11}\).

3.5 Tracer Transfer Between Liquid and Gas Phases

The key novelty of the numerical model presented in this paper is its ability to allow kinetic transfer of the tracer from one phase to another. Different models can be incorporated depending on the characteristics of the specific tracer in question. In the present demonstration, we consider a tracer for which the rate of mass transfer from the \(\text{ CO}_{2}\) to the aqueous phase follows the model by Miller et al. (1990):

$$\begin{aligned} Q_\mathrm{t-g} =-Q_\mathrm{t-l} =k_\mathrm{l} a_\mathrm{na} (C_\mathrm{s} -C_\mathrm{l} ). \end{aligned}$$
(21)

Here \({Q}_\mathrm{{t-g}}\) and \({Q}_\mathrm{{t-l}}\) are the source terms for tracer in the gas and liquid phases, respectively, \(k_\mathrm{l}\) is the average mass transfer coefficient, and \(a_\mathrm{na}\) is the specific interfacial area between the two fluid phases (specific here means area per unit volume of porous media). The specific interfacial area is a complex parameter in the case of porous media, but approaches for determining it from porous media data have been proposed, e.g., by Grant and Gerhard (2007a). \(C_\mathrm{l}\) is the molar concentration of tracer in liquid, and \(C_\mathrm{s}\) is the molar concentration of tracer in liquid that corresponds to the condition of thermodynamic equilibrium with the gas phase. In the case of chemically reactive tracers which undergo hydrolysis at the gas liquid interface, \(C_\mathrm{s}\) can be calculated with the following formula (Licha et al. 2011):

$$\begin{aligned} C_\mathrm{s} =C_\mathrm{g} k_\mathrm{a} =C_\mathrm{g} A \cdot \text{ Exp}\left[ {-\frac{E_\mathrm{a} }{R\left( {273+T} \right)}} \right], \end{aligned}$$
(22)

where \(C_\mathrm{g}\) is the molar concentration of tracer in gas, \(k_\mathrm{a}\) is the mass flux constant of the tracer (in this case the zero order rate constant which combines mass transfer to, across and away from the interface with the hydrolysis rate constant of the involved reaction at the interface), \(A\) and \(E_{a}\) are the pre-exponential factor and activation energy for the specific hydrolysis reaction, respectively, R is the universal gas constant, and T is temperature at the gas/liquid interface in \({^\circ }\text{ C}\). This specific approach extends common tracer methods (based on simple partitioning) by including the rate of a chemical reaction at the fluid–fluid interface and thus incorporates true kinetically controlled mass transfer from one phase to the other. This new model allows a preliminary assessment of the potential of such kinetic interface-sensitive tracers which constitute a novel investigation tool in multiphase flow applications (Schaffer et al. in press).

4 Numerical Discretization and Solution Strategy

4.1 Numerical Discretization

4.1.1 Spatial Discretization

The governing equations (5), (8), (9), (13), and (14) are nonlinear differential equations. To solve them, they must be appropriately discretized in space and time. A Galerkin finite element solution approach (Zienkiewicz and Taylor 2000) is used for the spatial discretization of Eqs. (5), (8), and (9). But for equations (13) and (14), the standard Galerkin method, in which interpolation functions themselves serve as weighting functions, cannot be directly used because this will generate numerical solutions with artificial and non-physical oscillations (Younes and Ackerer 2005). In the present numerical model, interpolation functions are linear function of space. In order to ensure local mass conservation, for a given Gauss integration point, the weighting functions of a node are set to zero when the gas (or water) pressure of the node is higher than the gas (or water) pressure of the Gauss integration point, and the sum of other nodes is equal to 1. Simulations show that this method performs well for eliminating any non-physical oscillations, thereby obeying local mass conservation and providing sufficiently accurate results.

When simulating \(\text{ CO}_{2}\) injection (migration of \(\text{ CO}_{2}\) in a brine aquifer), the first order derivative of water saturation with respect to the spatial coordinates is not continuous in the non-wetting phase (\(\text{ CO}_{2})\) front if the initial degree of water saturation is 1.0. Therefore, some numerical oscillations will occur if the interpolation functions themselves serve as weighting functions for spatial discretization (Helming 1997). One of methods adopted in this numerical model to eliminate the numerical oscillations is to set the weighting functions as constants. The numerical aspects of this model, developed for best computational performance, are further discussed in Tong et al. (2012).

4.1.2 Temporal Discretization

Within each time step, the primary variables are assumed to follow linear variations with time. For example, the degree of saturation (S) is assumed to be a linear function of time, and can be expressed as:

$$\begin{aligned} S=N_1 S^{t_\mathrm{k} }+N_2 S^{t_\mathrm{k} +\Delta t}, \end{aligned}$$
(23)

where \(N_{1}=1- \eta , N_{2}=\eta \), and \(\eta =(t-t_{k})/\Delta t, t\) is the time, and \(\Delta t\) is the length of each time step. The parameter \(\eta \) may take any value from 0 to 1, to generate different finite difference method (FDM) schemes. The values of \(\eta =0, \eta =0.5\), and \(\eta =1\) correspond to the three standard FDM schemes, i.e., forward difference (Euler), central-difference (Crank–Nicholson) and backward difference. In this numerical model, the value of \(\eta \) is 0.667, which corresponds to the Galerkin finite difference scheme.

4.2 Solution Strategies

To solve these nonlinear governing equations, convergence, numerical stability and computational efficiency are always the three key components in the numerical solution. When solving the above Eqs. (5), (8), (9), (13), and (14), the Eqs. (5) and (8) are strongly coupled and need to be solved iteratively, while the heat transport and tracer transport equations are relatively independent, at least in this preliminary application, and are therefore not solved simultaneously. The general route for iterative solution is to calculate the two-phase flow equations first, after which the temperature is obtained by solving heat transport equation, followed by solving the tracer transport equations.

For the solution of the two-phase flow equations, gas pressure and water saturation are chosen as primary variables. In order to improve the convergence, Eqs. (5) and (8) are added together to eliminate the item \(n\frac{\partial S_\mathrm{l} }{\partial t}\), yielding the following equation for total mass conservation:

$$\begin{aligned}&n(1-S_\mathrm{l} )\frac{\partial \ln \rho _\mathrm{g} }{\partial t}+nS_\mathrm{l} \frac{\partial \ln \rho _\mathrm{l} }{\partial t}+\frac{\partial n}{\partial t}+\nabla \left[-\frac{k_r^g k}{\mu _\mathrm{g} }\cdot (\nabla p_\mathrm{g} +\rho _\mathrm{g} \mathbf{g})\right]\\ \nonumber&\quad +\nabla \left[-\frac{k_r^l k}{\mu _\mathrm{l} }\cdot (\nabla p_\mathrm{g} +\rho _\mathrm{l} \mathbf{g})\right] -\nabla \left[-\frac{k_r^l k}{\mu _\mathrm{l} }\cdot \nabla p_c \right]\\ \nonumber&\quad +\left[-\frac{k_r^g k}{\mu _\mathrm{g} }\cdot (\nabla p_\mathrm{g} +\rho _\mathrm{g} \mathbf{g})\right]\cdot \nabla \ln \rho _\mathrm{g} -\frac{1}{\rho _\mathrm{g} }Q_\mathrm{g} -\frac{1}{\rho _\mathrm{l} }\text{ Q}_\mathrm{l} =0, \end{aligned}$$
(24)

where \(p_\mathrm{c}\) is capillary pressure, defined as \(p_\mathrm{g}-p_\mathrm{l}\). In Eq. (24), the coefficient of gas pressure is significantly bigger than that of water saturation. In this model, gas pressure and water saturation are calculated by solving Eqs. (24) and (8), instead of solving Eqs. (5) and (8) together, for improving convergence and numerical stability. Moreover, Eqs. (24) and (8) are still valid even in the case of single phase flow.

Besides the route of solving Eqs. (8) and (24) together, another available iterative route is to first calculate gas pressure by solving Eq. (24) and then calculate the water saturation by solving Eq. (8). This circulating iteration will be kept until the values of gas pressure and water saturation do not change in a given time step. Because the water saturation is mainly related to gas pressure in Eq. (8), and capillary pressure does not appear in Eq. (8), the numerical stability of solving Eq. (8) is better than that of solving Eq. (5). In the examples presented in this paper, the number of iterations is limited to 5 and the convergence criterion is a relative error for gas saturation of less than 0.0001 in every time step. Calculations show that the above described iterative method has a good convergence behavior and numerical stability.

5 Model Verification and Demonstration

The verification of the developed numerical model includes three parts. The first part concerns the validation of the heat transport, which was presented by Tong et al. (2009, 2010), and is not repeated here. The second part is the verification of two-phase flow model, which is presented through comparisons against a semi-analytical solution and against numerical simulation results obtained with the TOUGH2/ECO2N model (Pruess 2005). The third part is a comparison between simulated and analytical results for the validation of tracer transport.

5.1 Conceptual and Numerical Model

In the verification and demonstration simulations, we consider \(\text{ CO}_{2}\) injection into a brine aquifer, where \(\text{ CO}_{2}\) is spreading laterally and rising upwards due to buoyancy. A two-dimensional vertical cross-section representing the reservoir layer, where \(\text{ CO}_{2}\) is being injected has properties as summarized in Table 1. The permeable reservoir layer is bound above and below by impermeable layers and the injection takes place over the entire 10-m thickness of the reservoir. Tracer is injected in the \(\text{ CO}_{2}\) phase and its concentration in the \(\text{ CO}_{2}\) and in the brine is monitored over time. The initial and boundary conditions are summarized in Table 2.

Table 1 Material properties of the reservoir layer
Table 2 Initial conditions and boundary conditions

Quadrilateral elements are used to discretize the \(100\;\text{ m} \times 10 \;\text{ m}\) model. After a grid convergence test with different element sizes, the final calculation mesh consists of a total of 2,000 elements and 2,112 nodes.

5.2 Verification of the Two-Phase Flow Model

5.2.1 Verification Against a Semi-analytical Solution

For the verification, we first need an analytical or semi-analytical solution. Although the Buckley and Leverett (1942) solution is a well-known analytical solution, it cannot be adopted in this verification because it suppresses the capillary drive term and is only suitable for use when externally applied driving forces are large in relation to the gradient of capillary pressure. In common cases, capillary pressure can not be neglected because it has a significant effect on two-phase flow (Hoteit and Firoozabadi 2008). Until now, although there are still problems in purely analytical approaches, the capillary drive has been considered through numerical solution (Yortsos and Fokas 1983; Chen 1988; Van Duijn and De Neef 1998; McWhorter and Sunada 1990). Based on Fučīk et al. (2007), a semi-analytical solution was obtained for the validation of the new model. Note that, for this verification case, the gravity term is not included. This essentially renders the comparison to be one-dimensional, even though we still simulate the two-phase flow problem on the two-dimensional rectangular domain using the new model. Temperature is constant (\(50\,^\circ \text{ C}\)). The compression of gas was neglected and the flow rate of gas was set to \(1.0 \times 10^{-5}\) m/s on left injection boundary.

Figure 1 presents the comparison between the semi-analytical model and the new model developed here. In the figure, the simulated water saturation at \(Z=-5\) m is shown as a function of the distance to the \(\text{ CO}_{2}\) injection boundary on the left hand side for different times. It can be seen that the simulation slightly underestimates the water saturation in comparison to the semi-analytical solution at the \(\text{ CO}_{2}\) front, but in general the agreement can be considered very good. The reason for the above underestimation is that the numerical discretization homogenizes the distribution of water saturation, and leads to an under-prediction of the calculated gradient of water saturation at the front. The extent of underestimation is mainly related to the size of numerical elements and the real gradient of the water saturation. At the \(\text{ CO}_{2}\) front, the gradient of water saturation is bigger than in other areas, so the magnitude of under-prediction is bigger here than in other areas when the same size elements are used throughout the domain.

Fig. 1
figure 1

Comparison of water saturation as function of distance from the \(\text{ CO}_{2}\) source for different times after the start of \(\text{ CO}_{2}\) injection, as obtained with the new model and a semi-analytical solution

5.2.2 Verification Against TOUGH2/ECO2N

In this simulation, the flow rate of \(\text{ CO}_{2}\) was set to \(2.71\times 10^{-6}\) m/s on left boundary. Temperature is set constant as \(50^\circ \text{ C}\) (isothermal) for simplicity and convenience of comparison. The numerical mesh used for the computation of TOUGH2/ECO2H has 2,000 elements to ensure precision in these simulations. Figures 2, 3, and 4 show a comparison between the results from the new model and from TOUGH2/ECO2N in terms of simulated gas saturation at different times and as a function of distance from the injection boundary. The general behavior and trends match well, with only slight differences in exact position of the \(\text{ CO}_{2}\) front (Fig. 2.). Considering the differences in discretization method and numerical mesh, this small difference is acceptable.

Fig. 2
figure 2

Comparison of \(\text{ CO}_{2}\) saturation profiles (at \(Z = -5\) m in vertical direction) at different times as simulated using the new model and the numerical model TOUGH2/ECO2N

Fig. 3
figure 3

The distribution of \(\text{ CO}_{2}\) saturation 12 days after the start of the injection as calculated with a the new model and b with the numerical model TOUGH2/ECO2N

Fig. 4
figure 4

The distribution of \(\text{ CO}_{2}\) saturation 20 days after the start of the injection as calculated with a the new model and b with the numerical model TOUGH2/ECO2N

Figures 3 and 4 show the comparison between the spatial distributions of \(\text{ CO}_{2}\) saturation simulated with the new model and with TOUGH2/ECO2N at 12 and 20 days after the start of the injection, respectively. The results show a good agreement in most of the model domain, with only differences occurring in the region of the \(\text{ CO}_{2}\) front. The main reason for this difference is that different interpolation functions are adopted in the new model and in TOUGH2/ECO2N for the spatial discretization of the governing differential equations. In comparison to the finite volume method (FVM) used in TOUGH2/ECO2N, the finite element method (FEM) adopted in the new numerical model has a higher precision in the regions of large gradient of \(\text{ CO}_{2}\) saturation. Thus the gradient of \(\text{ CO}_{2}\) saturation simulated by the new model is bigger than that simulated by TOUGH2/ECO2N, in the area of \(\text{ CO}_{2}\) front. This indicates that the simulated \(\text{ CO}_{2}\) front (interface) is sharper in the new model than in TOUGH2/ECO2N. One the other hand, TOUGH2/ECO2N has a better numerical stability, and the distribution of \(\text{ CO}_{2}\) saturation simulated by TOUGH2/ECO2N at the front is smoother than that of the new model.

5.3 Verification of the Tracer Transport

Considering that the tracer transport, Eqs. (15) and (16) are similar in form, and same subroutines were used to solve the two equations in the new FEM code, we only need to verify the solution of one of them. Thus, if the solution of Eq. (15) can be verified, the solution of Eq. (16) will also be verified. For the convenience of comparison, gravity is neglected and the temperature is a constant set as \(50\,{^\circ }\text{ C}\). Two special one-dimensional examples are considered in this verification. In the first example, the water flow is ignored, and the flow rate of \(\text{ CO}_{2}\) is fixed as constant (\(1.0 \times 10^{-5 }\text{ m}/\text{ s}\)) everywhere. In this case, the analytical solution can be directly obtained from the time of injection and velocity of \(\text{ CO}_{2}\). Figure 5 shows the comparison between tracer concentrations as a function of distance and at different times, as simulated with the new numerical model and as determined by the analytical solution. The general agreement is good, with small differences (numerical dispersion) in the region of the front. The reason for these small differences is that the numerical mesh cannot be infinitely dense, and therefore the gradient in the model cannot approach the infinite gradient of tracer concentration at the front.

Fig. 5
figure 5

Comparison between numerically simulated and analytically determined tracer concentrations for single-phase flow of \(\text{ CO}_{2}\)

The second example concerns a two-phase flow simulation. In this calculation, \(\text{ CO}_{2 }\)is injected from the left hand side into brine, with a flow rate at the injection boundary being equal to \(2.71 \times 10^{-6}\) m/s. Figure 6 presents the comparison between simulated and analytically determined concentration of tracer in the \(\text{ CO}_{2}\) at different times and as function of distance from the injection boundary. Again, there is good agreement between simulated and theoretical results. Compared to the first case of single-phase flow, the distribution of tracer concentration in \(\text{ CO}_{2}\) matches the analytical solution better in the region of the front. This is because the \(\text{ CO}_{2}\) saturation downstream (on the right hand side) of the \(\text{ CO}_{2}\) front is equal to 0, and thus the tracer cannot be present in this region.

Fig. 6
figure 6

Comparison between numerically simulated and analytically determined tracer concentrations for two-phase flow of \(\text{ CO}_{2}\) and brine

5.4 Simulation of Tracer Transport in Two-Phase Flow Including Kinetic Transfer of the Tracer

As a whole, it is necessary to present a simulation of tracer transport in two-phase flow, including the tracer transfer from one phase to another. There are, however, no analytical or numerical models that can be used as basis for comparison, so the simulation at this point only provides a demonstration example. Eventually, our objective is to obtain experimental data that will form the basis of a validation. In the present simulation, the injection flow rate of \(\text{ CO}_{2}\) is \(2.71 \times 10^{-6}\) m/s. The concentration of tracer in \(\text{ CO}_{2}\) on the left hand side injection boundary is 0.52 mol/kg. The initial concentration of tracer in the water is zero. The other computational conditions were defined previously in Sect. 5.1 Based on Grant and Gerhard (2007b); Brusseau et al. (2006), and Miller et al. (1990), the main parameters related to the kinetic mass transfer of tracer between the \(\text{ CO}_{2}\) and and aqueous phases are set as follows. The average mass transfer coefficient is \(k_\mathrm{l}= 6.8 \times 10^{-7}\), the total specific interfacial area is \(a_\mathrm{na} =154.8 \times (1-S_\mathrm{l})\), the pre-exponential factor \(A = 2.02 \times 10 ^{13}\), the activation energy \(E_\mathrm{a} = 90.0\) and the universal gas constant R = 0.008314. In this simulation, we focus on advective transport and kinetic transfer of the tracer, thus we have neglected the dispersion effect.

Figure 7 shows the simulated \(\text{ CO}_{2}\) saturation at 16 days. The results show that the boundary line of the \(\text{ CO}_{2}\)-phase front is slanting up. For a given point in time, the inclination of the boundary line of the \(\text{ CO}_{2}\) front mainly depends on the water retention curve and the buoyancy of the \(\text{ CO}_{2}\). The simulated results for tracer concentration in \(\text{ CO}_{2}\) and tracer concentration in water at day 16 are shown in Figs. 8 and 9, respectively. Although there are no experimental results yet for comparison, these results indicate that the spatial distributions of tracer obtained with the presented model are realistic, given the preliminary nature of the tracer mass transfer model. Because the velocity of diffusion is far smaller than the velocity of advection, the tracer remains in the region between injection side and the \(\text{ CO}_{2}\) front. Simulation shows the distribution of tracer not only depends on the velocity of \(\text{ CO}_{2}\) flow, but also strongly depends on the rate of tracer mass transfer between the \(\text{ CO}_{2}\) and aqueous phases.

Fig. 7
figure 7

The distribution of \(\text{ CO}_2\) saturation calculated by new model at 16 days

Fig. 8
figure 8

The distribution of tracer concentration (mol/kg) in \(\text{ CO}_{2}\) calculated by new model at 16 days

Fig. 9
figure 9

The distribution of tracer concentration (mol/kg) in water calculated by new model at 16 days

Figure 10 presents a comparison of simulated tracer concentrations in the aqueous phase for different relationships between specific interfacial area and fluid saturation at 20 days. It can be seen that the tracer concentration in the aqueous phase monotonously increases with increasing interfacial area. This is expected because the rate of mass transfer of tracer from the \(\text{ CO}_{2}\) to the aqueous phase is proportional to the interfacial area as described in Eq. (21). Furthermore, the results presented in Fig. 10 show that the distribution of tracer concentration in the aqueous phase is sensitive to changes in interfacial area, which indicates that useful information about the interfacial area can be obtained from tracer data.

Fig. 10
figure 10

Comparison of simulated tracer concentrations (at \(Z=-5\) m in the vertical direction and at time 20 days) in water for different relationships between specific interfacial area and water saturation

6 Concluding Remarks

We present a new numerical model of tracer transport in a non-isothermal two-phase flow system of \(\text{ CO}_{2}\) and brine, adding capability to interpret tracer signals including tracers with kinetic/time-dependent interface transfer. The model consists of five different governing equations, describing liquid phase (aqueous) flow, gas (\(\text{ CO}_{2})\) flow, heat transport and the movement of the tracers within the two fluid phases, as well as allowing kinetic transport of tracers between the phases. Geochemical reactions and interactions between the dissolved species in the aqueous phase and the solid rock have been incorporated in some two-phase flow codes (e.g., Xu et al. 2004). However, kinetic reactions at the interface between the two fluid phases and kinetic mass transfer over the fluid–fluid interface are features which typically are not available in codes used for \(\text{ CO}_{2}\) storage simulation, and therefore the motivation for the presented model development.

Validation against existing analytical, semi-analytical, and numerical solutions shows good agreement, indicating that the model can simulate non-isothermal two-phase flow and tracer transport with confidence. The numerical model could have been also compared with similarity solutions of gravity-driven flow under various approximations (e.g., Huppert and Woods 1995; Nordbotten and Celia 2006; Hesse et al. 2007). However, given that (i) our numerical solution is shown to be in close agreement with those obtained by the widely used and accepted TOUGH2/ECO2N code and (ii) the TOUGH2/ECO2N code has been verified against similarity solutions (see Pruess 2005), it may not be necessary to perform the verification step with similarity solution for gravity currents.

Although the motivation to develop the model was characterization of geologically stored \(\text{ CO}_{2}\) and its phase partitioning and migration in deep saline formations, the model can easily be adapted for other two-phase flow applications, such as NAPL flow and transport.

The solution methodology for the two-phase flow is first to calculate the gas pressure using the equation for conservation of total mass, and then to calculate the water saturation using the gas flow equation. Simulations show that this iterative route is efficient for improving convergence and numerical stability of the two-phase flow calculations, while yet providing accurate results. The Galerkin FEM approach cannot directly be used to solve the tracer transport equations, as artificial and non-physical oscillations will be generated. To overcome this difficulty the weighting functions of a node are set to zero when the gas (or water) pressure of the node is bigger than the gas (or water) pressure of the Gauss integration point. The numerical mesh and the length of the time step also influence the numerical stability and the calculation precision. The numerical results can be further improved if the size of elements can adapt well to the gradient of the primary variables, particularly in the area of wetting front.

The main objective of this work has been to provide a basis for kinetic mass transfer of a tracer between the two fluid phases (the \(\text{ CO}_{2}\) and aqueous phases). The presented model further allows incorporation of a chemical reaction involving or producing a tracer at the fluid–fluid interface, thus allowing reaction-controlled kinetic mass transfer from one fluid phase to the other. In a demonstration example, we show that the tracer concentration in the aqueous phase is sensitive to the size of the interfacial area (\(\text{ a}_\mathrm{an})\) and monotonously increases for increasing \(\text{ a}_\mathrm{an}\). Consequently, a well-designed tracer can provide information about the evolution of the interfacial area over time. Different reactions and kinetic mass transfer models can be chosen and used with the flow and transport model. The mass transfer model presented here is preliminary in nature, as the work continues to find suitable KIS tracers whose specific mass transfer behavior can later be incorporated in our model.

It should be pointed out that the numerical model is not suitable for regimes with viscous instability as discussed in, e.g., Riaz and Tchelepi (2006) and Riaz et al. (2007) or flow with invalidity of volume-averaging (continuum description) as discussed in e.g., Xu et al. (1998) and Yortsos et al. (2001). Finally, non-equilibrium formulations for capillary pressure–interfacial area–saturation (e.g., Joekar-Niasar et al. 2010) have been proposed in the recent literature. Here, although we have adopted the conventional constitutive relationships (e.g., the van Genuchten model) in the numerical exercises, the numerical model is not limited by these constitutive relationships and it is possible to incorporate the non-equilibrium formulations in our numerical model. However, this is beyond the scope of the current study and motivates further research on this topic. Further work is also underway for continued improvements of the solution technique and additional code verification against laboratory- and field-scale experiments.