Optimizing carbon dioxide trap** for geological storage
Abstract
Carbon dioxide (CO) trap** in capillary networks of reservoir rocks is a pathway to long-term geological storage. At pore scale, the CO trap** potential depends on injection pressure, temperature, and the rock’s interaction with the surrounding fluids. Modeling this interaction requires adequate representations of both capillary volume and surface. For the lack of scalable representations, however, the prediction of a rock’s CO storage potential has been challenging. Here, we report how to represent a rock’s pore space by statistically sampled capillary networks (ssCN) that preserve morphological rock characteristics. We have used the ssCN method to simulate CO drainage within a representative sandstone sample at reservoir pressures and temperatures, exploring intermediate- and CO-wet conditions. This wetting regime is often neglected, despite evidence of plausibility. By raising pressure and temperature we observe increasing CO penetration within the capillary network. For contact angles approaching 90, the CO saturation exhibits a pronounced maximum reaching 80 of the accessible pore volume. This is about twice as high as the saturation values reported previously. For enabling validation of our results and a broader application of our methodology, we have made available the rock tomography data, the digital rock computational workflows, and the ssCN models used in this study.
IBM Research, Av. República do Chile, 330, CEP 20031-170, Rio de Janeiro, RJ, Brazil.
IBM Research, Rd J Fco Aguirre Proenca Km 9 Sp101, Hortolandia, Sao Paulo, 13186-900, SP, Brazil.
IBM Research, Rua Tutóia, 1157, São Paulo, Sao Paulo, 04007-005, SP, Brazil.
To achieve global targets for mitigating greenhouse gas emission, efficient carbon capture and storage technologies are needed.[metz2005ipcc] Captured and purified CO can be injected into subsurface rock formations, providing a pathway to long-term geological storage at scale. Encouragingly, estimates of the connected void space in reservoir rock of suitable geological formations exceed the volume required for satisfying the global CO storage needs.[kramer2020negative] The physical and chemical processes underlying CO geological storage are: (i) structural storage under impermeable cap rocks; (ii) residual or capillary trap**; (iii) dissolution in water/brine and (iv) mineralization. Processes (i) and (ii) occur at shorter time scales - typically within a few years - but carry an elevated risk of CO leakage[Krevor2015]. Water-wet reservoir conditions lower the risk of CO leakage in both structural and residual trap**, either by lowering the CO permeability of the cap rock, or by raising the capillary pressures for increased CO trap** efficiency at pore scale.[CHIQUET2007, Saraji2013, Al-Khdheeawi2017] The processes (iii) and (iv) carry a lower risk of CO leakage, however, they occur at longer time scales, ranging from decades to centuries[Krevor2015]. Capillary trap** of CO has been reported to achieve saturation levels of 10-30 of the rock’s pore volume[Krevor2015] and is a promising candidate process for low-risk CO storage at scale.
The efficiency of trap** CO in deep geological formations is determined by the microscopic properties of the rock’s connected pore space and depends on its interaction with supercritical CO (scCO) and brine[AlMenhali2016, Krevor2015, Krevor2012, Shi2011, Bennion2010, Bennion2008, Hu2017, Gooya2019, Kalam2020, Hinton2021, Guo2022]. Extensive research has been carried out for investigating the role of surface wettability on fluid displacement[Guo2022]; the relative permeability and trap** of CO in sandstone[Krevor2012, Shi2011, Bennion2008], as well as in carbonate[Bennion2010, Bennion2008], in shale and in anhydrite rocks[Bennion2008]. In the case of sandstones, which are promising candidates for CO storage at field scale[Krevor2015], experimental studies of CO capillary trap** at reservoir conditions yielded maximum CO saturation values of 46-59% of rock pore volume[Krevor2012]. CO is injected into subsurface porous formations during drainage, displacing the resident fluid as it migrates withing the pore space as the non-wetting reservoir in response to the pressure gradients.[Krevor2015, Alhosani2020] While strongly water-wet reservoirs are characteristic of residual CO trap**, the maximum saturation achievable is limited.[Krevor2012] Recent studies have, therefore, investigated the potential of intermediate- and CO-wet reservoir conditions[PLUG2007, Saraji2013, CHIQUET2007], including a wide range of wettability values from strongly water-wet to CO-wet.[Iglauer2017] However, for determining optimum CO trap** conditions, the evaluation would benefit from controlled interrogation of the parameter space.
Suitable numerical modeling approaches for simulating flow in reservoir rock at pore scale include mesh- or lattice-based direct simulation methods[huang2005, Hu2017, Pan2004] for achieving high fidelity, and network based methods[Valvatne2004, Raeini2017, Neumann2021] with improved computational efficiency. For optimizing the CO capillary trap** in a given rock, it is necessary to screen for pressure and temperature conditions as a function of wettability, i.e., the contact angle at the interface between the rock, scCO and brine. While prior studies have demonstrated the dependence of a rock’s CO storage potential on both the capillary network and its surface wetting properties[Guo2022], map** the relevant parameter space with lab experiments in a controlled manner is impractical.
In the following, we report a method designed to overcome these limitation by balancing accuracy and computational cost in simulations of liquid-solid interactions in capillary networks of reservoir rock. We apply the new method to simulate CO trap** in sandstone under realistic reservoir conditions, tightly map** the relevant parameter space for identifying optimum storage conditions.
Simplified Network Methodology
We have developed a pore-scale flow simulator for studying injection and saturation of porous rock samples modeled as a network of capillaries[Neumann2021, TirapuGHGT]. Specifically, we have simulated the injection of supercritical CO into the capillary network model of a Berea Sister Gray sandstone sample filled with water as the resident fluid. Computationally, we track the displacement in time of the fluid interface between scCO and water within each capillary of the connected pore space. To overcome the computational limitations, we have developed a sampling technique in which the assessment is performed with the aggregate result of multiple flow simulations performed with sets of much smaller but statistically equivalent capillary network models taken from the same digital rock sample. Importantly, each sub-sample matches statistically the morphlogical and geometrical properties of the original capillary network.
In Fig. 1 we display the methodological workflow. As input, we have used grayscale rock images acquired with X-ray CT scans[lucas2022micro, Esteves2023], and that we made publicly available as a digital rock dataset.[NeumannDataset2020, Esteves_Ferreira2023] A sequence of image processing steps are applied to the image for reducing noise, increasing contrast and for separating solid and void spaces (see Supplementary Information section S2 and Supplementary Fig. S1). As a representative rock sample, we have chosen a sandstone referred to as “Berea Sister Gray”. We have used the Centerline algorithm to create a CNM of the binarized digital rock image[Neumann2021]. The CNM extracts from the pore space a voxel-wide line at the center of the pore channels, annotated with the pore radii at each point in space. The pore space is represented as a sequence of short cylinders with gradually changing radii. Each cylinder radius is defined as the radius of inscribed circle into the pore space centered at the point belonging to the line at the center of the pore channel (more details can be found in section Methods and in section S3 of the Supplementary Information). An example of the resulting CNM for a REV-sized sandstone sample is shown in Fig. 1. Supplementary Fig. S3 displays the induced pressure field inside the network when an external 10 kPa/m pressure gradient is imposed along each axis.
![Refer to caption](extracted/5306524/figures/Fig1_SimplifiedCNM_methodology_DiameterMatching_CO2trap**_Connectivity_newColor.png)
We have built sets of statistically sampled capillary network (ssCN) representations preserving the following properties: (i) porosity; (ii) capillary diameter distribution; and (iii) node coordination number distribution. As a result, we obtain morphologically equivalent networks containing only a small fraction of the capillaries, i.e., capillaries are reduced to capillaries. Each simplified network in the set begins as a random distribution of nodes and capillaries. Following an optimization routine that aims to match the properties of capillary connectivity, length, diameter, and general porosity of the original rock sample, it is then transformed into a network of capillaries with equivalent morphological properties as the original one. The result is an ensemble of simplified network models with significantly reduced number of capillaries that maintains the original CNM properties.
This equivalence is seen by comparing the distributions of capillary diameters and capillary connectivities displayed in Fig. 1b and c, respectively, as percentage of the total number of capillaries between the original rock sample and the algorithmically generated one. The final step in our workflow consists of collecting the flow properties of the original rock sample from the average of the results taken from the set of -ssCN simplified equivalent networks. We find that 1500 capillaries per ssCN, about of the original number, provides a good balance between computational accuracy and cost. As a result, the computed permeability averaged over an ensemble of 50 ssCN instances falls within of the original value. Increasing the number of capillaries in the simplified representation reduces the variability of the results, however, it does not significantly improve the accuracy of the average estimate when compared to the original. More details can be found in Section S6 of the Supplementary Information.
Simulation of CO Capillary Trap**
Following the method outlined above, we have performed a sensitivity analysis with respect to multiple fluid parameters, such as temperature, contact angle, pressure gradient, and quantified their influence on the infiltration and retention of CO inside an ensemble of simplified capillary networks that is representative of the target Berea Sister Gray sandstone sample. To determine under which conditions CO storage through capillary trap** is maximized, we have considered temperature scenarios from 323 K to 473 K, at 50K intervals. For each temperature scenario, we have studied a range of pressure gradients and contact angles (see Table S1). Rock wettability shows a large variability from water-wet to CO-wet[Iglauer2017]. Clean mineral surfaces, such as quartz, calcite, feldspar, and mica are water-wet (CO contact angle ranges between 120 and 180) due to their hydrophilic character. In subsurface systems at reservoir conditions, the presence of organic matter is very likely. Typically, these surfaces were aged in crude oil or coal and are CO-wet or intermediate-wet, with CO contact angles ranging from 10 to 110.[Iglauer2017] In the following, we define the contact angle with respect to the injected fluid (scCO), which is the complementary of the angles normally defined in the literature[Iglauer2017, Hu2017, CHIQUET2007], see Table S3.
Another parameter with large variability is temperature. Low-temperature reservoirs range from 293 K to 363 K, intermediate-temperature reservoirs from 363 K to 423 K, and high-temperature reservoirs from 423 K to 573 K.[ZARROUK201913] In our studies, we have considered temperatures ranging from 323 K to 473 K, see Table S1, assumed a fixed absolute pressure of 10 MPa, and set a range of pressure gradients between 1 and 1 Pa/m for driving the flow. Parameters of viscosity for the resident and injected fluids as well as the interfacial tension between the fluids, necessary to perform two-phase flow simulations, were extracted from the literature[Huber2009, HEIDARYAN2011, Bachu2009]. At the temperatures considered in this work, we have applied the correlating equation for the viscosity of water as extracted by Huber et al.[Huber2009] in terms of the product of a temperature-dependent zero-density limit term, and a residual viscosity term that depends of both temperature and density as its value increases. The density of water at each value of temperature and pressure was calculated according to Wagner et al.[Wagner2002]. We have computed the viscosity of CO under supercritical conditions of pressure and temperature following the correlation extracted by Heidaryan et al.[HEIDARYAN2011]. Finally, we have deduced the interfacial tension between supercritical CO and water at the reservoir pressure for the various temperature scenarios from the work of Bachu and Bennion[Bachu2009] as provided in Table S1.
![Refer to caption](extracted/5306524/figures/Fig2_MaxSaturation_MaxSat_heatmap_Allcutlines_noTitles.png)
Fig. 2a shows the maximum scCO saturation curves at T = 473 K plotted as function of fluid interface contact angle. The maximum scCO saturation was extracted from the saturation as a function of time, as shown in Fig. S10. Each point in Fig. 2a represents the maximum value of CO saturation from the average across 150 simulations (set of 50 simplified capillary networks along X, Y and Z axes) per set of injection conditions. Contact angles between 20 and 80 represent CO-wet regime where higher saturation by the injected fluid would be expected as capillary pressure favors the displacement of the resident fluid, particularly when, as per the calculations in Table S2, viscous forces remain lower than the externally applied. We observe that for pressure gradients below 1 Pa/m, the maximum CO saturation is around 15. This saturation value is almost constant for contact angles ranging from 20 to 80 (CO wet range), with a slight increase around 85 for pressure gradient 1 Pa/m. For larger contact angles (water-wet), the CO saturation diminishes to zero. We note that the CO saturation behaviour is a result of the collective interactions between all the pores in the capillary network and reflects the competing interplay between the externally applied pressure gradient and the balance of capillary pressures and viscous forces within each capillary of the network, see Eq. S3. While the observed saturation behaviour is surprising and might appear counter-intuitive, it emerges from the complex interplay of capillaries in the network and indicates that pore scale analysis may reveal unexpected phenomena at larger scales. For externally applied pressure gradients above 1 Pa/m, we observe in Fig. 2a a strong dependence of CO saturation on contact angle. In particular, saturation of CO increases monotonically as function of contact angle within the intermediate-wetting regime[Iglauer2015] until reaching a peak around 90. Beyond that angle, CO saturation rapidly decreases with the contact angle as the surface wettability turns to water wet.
In the regime of pressure gradients below 1 Pa/m, fluid flow is mostly driven by capillary pressure. Applying the second term of the right hand side of Eq. S3 to the range of capillary diameters shown in Fig. 1b, we estimate the capillary pressure to be of the order of 4 kPa for contact angles between 20 and 80, the same order of magnitude as the simulated pressure distributions on capillary nodes shown in Fig. S9a. When the fluid-solid interface contact angle approaches 90 degrees, capillary pressure drops to zero, see Eq. S3. In this pressure regime, CO saturation diminishes as the driving force is not strong enough for sustaining fluid flow. At low externally applied pressure gradients, the magnitude of the pressure within the capillary network is nearly negligible, see Fig. S9b. The relatively low CO saturation levels observed for some contact angles are likely due to the network complexity and the remaining viscous forces, with capillaries being plugged by interfaces of water/CO, where the capillary pressure counteracts fluid flow.
The higher CO saturation seen in the regime of pressure gradients above 1 Pa/m stems from the fact that the pressure gradients induced by the external driving force are strong enough to overcome the counteracting capillary pressure on those capillaries that had become plugged under conditions of low contact angles, and thus enabling reaching significantly higher saturation values. Saturation values of 20 to 40 are observed for gradient pressure of 5 and 1 Pa/m, respectively - see Fig. 2a. In Fig. S9a, we observe nodes with pressure of the same order of magnitude as the capillary pressure. Moreover, within the intermediate-wet regime, as the contact angle approaches 90, CO saturation reaches a peak because capillary pressure drops to zero and fluid flow is driven primarily by the applied pressure gradient. Within this regime, the saturation values of CO decrease rapidly with contact angles larger than 90, because the imposed pressure gradient is no longer high enough to counteract capillary pressure.
Fig. 2b maps the maximum achievable CO saturation distribution with regards to applied pressure gradient and of CO-water-rock contact angle. The distinct region of sharp saturation increase around the 90 can be seen in Fig. 2c-d along the 2 cross-sectional lines indicated in Fig. 2b as and , respectively. As a key result of our study, we obtain a maximum of 85.6% CO saturation for a pressure gradient of Pa/m and using contact angle, for the representative sandstone sample. In the cross-section plotted in Fig. 2c, we observe that the saturation increases with the applied pressure until it reaches a plateau. Variability of the saturation as a function of temperature is generally small as can be seen in Fig. 2d. The increased saturation following deeper permeation of the rock space by scCO during injection within the intermediate-wet regime is consistent with a lower capillary pressure.[Hu2017]. In the following, we will analyze the injection conditions for CO storage in view of storage security and process efficiency.
Optimization of CO Storage Conditions
CO storage security and costs are primary concerns when optimizing injection conditions. Injected fluid that is not trapped within the pore space will escape, as indicated by injected volumes larger than 1 pore volume (PV). Fig. 3a sheds light on the relative amounts of trapped vs. mobile scCO within the sample by plotting the value of saturation as a function of the injected volume. We observe in Fig. 3a that intermediate-wet conditions lead to the largest saturation values, especially around a contact angle of 90 and at higher pressures. However, this often requires injection of volumes larger than 1 PV. While the exact values depend on the injection conditions, the results suggest that intermediate-wet conditions may require lower injection pressures to enhance storage security. At lower temperatures, we observe a reduced level of saturation per injected volume, see Fig. S12, requiring larger injected volumes.
Operational efficiency of the process requires maximizing the volume of CO stored while minimizing the volume of CO injected, thus minimizing cost. The fraction of the injected CO that passes through the pore space without being trapped leads to the saturation curve of scCO forming a plateau as a function of time, as in Fig. S10a. This effect can also be analyzed as function of injected volume, see Fig. S10b, for the same simulation conditions. For the purpose of our analysis, we define the variable Weighted Saturation () as the CO saturation (S) scaled by the ratio of saturation to injected volume (IV), that is, , with units of pore volumes of injected scCO between and . The peak value of is reached for a value of injected volume below 1, as any additional injection does not further increase the saturation level. In Fig. S10c, we plot the weighted saturation as a function of injected volume for a range of pressures at a contact angle of , and Fig. S10d displays the weighted saturation for a range of contact angles at a fixed 5 Pa/m applied pressure gradient. The plot in Fig. 3b represents maximum weighted saturation relative to injected volume across all the simulated scenarios aimed at optimizing saturation close to maximum injection utilization. For contact angles around 90 and high applied pressures, we obtain the highest saturation values. However, lower applied pressures in the intermediate-wet regime like and Pa/m, might offer a better balance of safety and efficiency. Overall, higher temperatures seem to improve efficiency as well as safety, see Fig. S12 and Fig. S13.
![Refer to caption](extracted/5306524/figures/Fig3_MaxWeightSat_vs_InjVolume_noTitle.png)
In summary, we have developed a methodology to perform two-phase flow simulations in porous rock samples for exploring the drainage of supercritical carbon dioxide in brine-flooded sandstone reservoirs under intermediate- and CO-wet conditions. We have analyzed a wide range of injection scenarios by varying contact angles, temperatures, and pressure gradients for identifying the best conditions for CO storage through capillary trap**. Our CO saturation results for contact angles between 20 and 40 are comparable with Krevor et al.[Krevor2015] for water-wet surfaces, where trapped saturation can reach up to 30% of the rock’s pore volume. For contact angles approaching the intermediate-wet regime around around 90, however, the CO saturation efficiency increases sharply. For optimized conditions, we obtain saturation values as high as 80% of the pore volume. Our results suggest that a high saturation efficiency may be maintained even at lower pressure levels which would significantly reduce the risk of CO leakage.
0.1 Digital Rock Image processing
This work relies on high-resolution digital rock images of rock samples as the geometrical basis for the pore scale simulations and the study of rock properties and fluid infiltration and storage within sub-surface porous structures[ANDRA201333, Neumann2021]. In our work, we have acquired a large dataset of three-dimensional images extracted from X-ray computed micro-tomography (CT) [Neumann2021, Esteves2023] of sandstone and carbonate rock samples. The reconstructed volume of the fully digitized rock sample obtained from the CT measurements is usually cropped into cube-shaped volumes that are more computationally manageable while retaining statistically significant rock properties. In our simulations, we employed a digitized sandstone rock sample scanned at a resolution of . This resulted in a digital sample with voxels that was determined as the Representative Elementary Volume (REV) and therefore sufficient to yield accurate rock property predictions like porosity and permeability[Neumann2021]. More details can be found in the Supplementary Information section S2.
0.2 Capillary Network extraction and centerlines representation
We use a graph-based, capillary network model (CNM) as an accurate representation of the rock porous geometry. Starting with the 3D binarized digital rock image, we apply a custom Dijkstra’s Minimum Path algorithm[Dijkstra59], transforming the pore space into voxel-wide lines at the center of the pore channels, finding the most central path from inlet pore to outlet pore of each set of connected pore space voxels through a centrality-based cost function. Each section of the line is saved as a node in a graph and converted into a short cylinder with spatially varying radius to match the local geometry extracted from the microtomography. The resulting network of connected capillaries is an accurate representation of the rock’s pore space. As an example of this transformation, we show the small image with volume and its corresponding CNM in Fig. S2 containing 4069 capillaries with a color-coded diameter scale. The capillary network of the sandstone sample analyzed in this paper displays a porosity of and results in a CNM with capillaries. More details can be found in the Supplementary Information section S3, and the full algorithm description can be found in the references[Neumann2021].
0.3 Single-phase flow simulation
The fined-grained capillary network representation of the rock’s pore spatial distribution described in the previous section was employed to simulate both single and two-phase fluid flow with a high level of geometrical accuracy. We assume laminar flow and apply the equations relating pressure and flow within each capillary, followed by conservation of mass at each network node, to build a large system of coupled equations in sparse matrix form. The Hagen-Poiseuille equation is applied when simulating single-phase stationary flow, together with the conservation of mass at each network node, to build a large but rather sparse system of equations to extract properties like pressure distribution or flow rate at each point in the network of microscopic capillaries, as well as bulk flow properties like permeability [Neumann2021]. Fig. S3 displays the results of running single-phase, pressure-driven, Poiseuille flow simulations on the capillary network representation of a voxel sandstone rock sample as input geometry. The absolute permeability for this REV was computed from these simulations as 105, 92 and 54 mD along the X-, Y- and Z-axis, respectively. Further description can be found in the Supplementary Information section S4.
0.4 Two-phase flow simulations
Multi-phase flow simulations track the displacement in time of the fluid-fluid interface within each capillary of the high-resolution 3D geometric representation of the rock sample. We restrict the modeling to two incompressible fluids, under laminar, piston-like, one-dimensional flow along the length of each capillary. The pressure gradient between the two ends of each capillary is expressed as the sum of the gradients produced by various physical effects acting on the position of the effective interface, after removing all annulling interfaces, between fluids. In our current implementation, we retain the effect of viscous forces and first order capillary pressure, after higher order dynamical effects to the interface shape are dismissed.
Tracking of the fluid interfaces across the network of capillaries then proceeds in alternating sequences of free evolution and jumps. Free evolution refer to the time interval in which the interfaces progress along the same capillary and the overall number of interfaces within all capillaries in the network remain constant. Jump steps occur when any interface reaches a node, which means that the interface is ready to leave its current capillary and enter one or more new capillaries. In this step, free evolution pauses, the interfaces are redistributed throughout the network, and the system of differential algebraic equations representing the network dynamics is rewritten to account for the changes in interface locations. The simulator computes the velocity of the fluid flow through all capillaries as a function of time, which is integrated to determine the position of the fluid-fluid interface within each capillary at each time step, from which to deduce the level of saturation of each fluid phase in the rock pore space. More details on the formulation and implementation can be found in section S5 of the Supplementary Information.
0.5 Simplified capillary network representation
Unlike single phase flow that can run within minutes even on the high-resolution capillary network representation of a REV-sized rock sample with millions of nodes and links, the two-phase dynamic simulations become unfeasible even on large computing resources. To overcome this limitation, we employ a smaller capillary network yet representative of the original rock full centerlines representation to run two-phase simulations and extract flow properties. A custom algorithm is used to construct simplified 2D and 3D capillary networks capable of preserving geometrical properties of the rock morphology relevant to fluid flow such as : (i) porosity; (ii) capillary diameter distribution; and (iii) node coordination number distribution[Raoof2009]. More details on the algorithm to synthesize networks can be found in section S6 of the Supplementary Information.
0.6 Simulation Toolkit for Scientific Discovery (ST4SD):
In our study we scanned through 4 different temperature scenarios, and per scenario, we studied about 8 fluid-rock interface contact angle values and no less than 8 different driving pressure gradient cases per angle, totaling in 256 different injection conditions to be simulated. Per case simulated, flow simulations of a full data-set of 50 simplified capillary networks, assuming driving pressure along all three axes, that is, 150 executions per each of the 256 cases considered, requiring proper parsing and aggregation of nearly simulations. In this work, we employed the Simulation Toolkit for Scientific Discovery (ST4SD) [ST4SD] to automate the execution of long simulation campaigns with several chained steps. The use of such workflow scheduler ensures the reproducibility of our results and enable efficiency gains by optimising the use of computing resources. Fig. 1 illustrates the conceptual workflow and in Fig. S11, we show the sequence of steps executed as an ST4SD experiment. A CNM representation of a rock sample is used as input to the ST4SD routine. In this workflow we generate tens to hundreds of simplified capillary networks that meaningfully represent the properties of the original rock sample network model (see section Simplified capillary network representation). Each simplified capillary network is then used as geometrical input to parallel flow simulations that will estimate relevant physical properties in each representative system. Finally, the individual results from each simplified network are aggregated and combined into a single estimate that applies to the original network. See Supplementary Information section S9 for more details on this workflow.
Microtomography datasets containing grayscale and binary rock image data are available at the Digital Rocks Portal (https://dx.doi.org/10.17612/f4h1-w124) for sandstone samples and on Figshare (https://doi.org/10.25452/figshare.plus.21375565) for sandstone and carbonate samples.
The source code used to extract the CNM representation from the rock CT image is available at https://github.com/IBM/flowdiscovery-digital-rock. Additional algorithms used for processing and segmenting the raw grayscale images, are available as Python code at https://github.com/IBM/microCT-Dataset. The code used to run single-phase and two-phase flow simulations on CNM representations of the rock samples is available at https://github.com/IBM/flowdiscovery-simulator. The code employed in the automation of the scientific workflows allowing the execution of ST4SD [ST4SD] experiments is available at https://github.com/st4sd/flow-simulator-experiment.
References
Acknowledgements.
We acknowledge discussions with Marcio Carvalho (PUC-Rio) and project support by Alexandre Pfeifer and Bruno Flach (both IBM Research). Also, we thank Vassilis Vassiliadis, Alessandro Pomponio, and Michael Johnston (all IBM Research) for expert technical assistance.The authors declare no Competing Financial or Non-Financial Interests.
0.7 Correspondence
and requests for materials should be addressed to [email protected]
Supplementary Information
S1 Simulation scenarios and parameters
Four temperature scenarios were investigated in this work, representing increasingly deeper injection points in reservoirs and resulting in corresponding changes to viscosity and density of each of the fluids considered, and to the fluid-fluid interfacial tension. Appropriate values for those parameters relevant to our simulations were extracted from the literature [Bachu2009]. Whenever not available, we calculated supercritical CO viscosity[HEIDARYAN2011] and water viscosity[Huber2009, Wagner2002] based on equations of state obtained from experimental data for the temperatures of interest. Table S1 collects the parameters values used in our simulations.
![[Uncaptioned image]](extracted/5306524/figures/Parameter_Table_Kelvin.png)
S2 Digital Rock Image processing
We used a large dataset of three-dimensional images extracted from X-ray computed micro-tomography (CT) scans of sandstone and carbonate rock samples at a resolution of .[Neumann2021, Esteves2023] The CT system scans cylindrical rock plugs, as seen in Fig. S1a. A 26 mm-long and 10 mm-wide rock plug suitable for our system (Skyscan 1272, Bruker), was imaged as two-dimensional projections of the pore space. The three-dimensional digital rock image is reconstructed out of these two-dimensional projections using the built-in Bruker software (NRecon, version 1.7.0.4, with the Reconstruction engine InstaRecon, version 2.0.2.6). The reconstructed volume of the fully digitized rock sample obtained from the CT measurements is usually cropped into smaller volumes that are more computationally manageable, while retaining statistically significant rock properties. For a set of sandstone rock samples scanned at a resolution of , it was observed that a Representative Elementary Volume (REV) of about voxels was sufficient to yield accurate rock property predictions like porosity and permeability[Neumann2021]. Additional image processing methods are applied to the digitized rock following the procedures described in references[Neumann2021, LucasOliveira2022] to equalize contrast differences due to mineralogical compositions across images. To fully eliminate image and measurement artifacts resulting in very bright spots in the image, all voxels above a 99.8 threshold in the grayscale cumulative histogram have been removed and the remaining grayscale levels have been remapped to span the full [0, 255] scale. To reduce noise, a 3D non-local means filter[Buades2011, Darbon2008] was applied, which is available in Fiji[Schindelin2012], using a smoothing factor of 1 and automatically estimated sigma[Immerkr1996] parameters.
Finally, several thresholding algorithms have been implemented to segment the grayscale images and separate the pore space (darker) from the rock matrix (lighter), depending on the rock type. For instance, using a threshold level calculated by the IsoData method[Ridler1978] was sufficient to accurately segment the sandstone grayscale images into solid (white) and void (black) space leading to binary images[Neumann2021], but a 3-level multilevel Otsu method[Liao2001AFA] was needed to properly group sub-porous regions, with little expected flow, with the mineral matrix for carbonate samples[Esteves2023]. Fig. S1b displays an example of this segmentation process as applied to a cross-section of a carbonate rock tomography, where the grayscale image on the left is segmented into the binary image on the right. The Enhanced Hoshen-Kopelman algorithm[Hoshen1997] is used to locate all pore clusters, determine the pore volume fraction, and eliminate the pore clusters that are not connected to the percolating pore network. The connected pore space is then taken as the true measure of porosity.
![[Uncaptioned image]](extracted/5306524/figures/DigitalRock.png)
S3 Capillary Network extraction and centerlines representation
The CNM representation is based on the Centerline extraction algorithm[Neumann2021]. A centerline is a thin, one-dimensional object that captures a 3D object’s main symmetry axes, summarizing its main shape into a set of curves[Niblack1990, Telea2003]. Starting from the 3D binary image, our network extraction algorithm transforms the pore space into voxel-wide lines at the center of the pore channels, finding the most central paths from inlet pores to outlet pores through a centrality-based cost function inspired by the Dijkstra’s Minimum Path algorithm [Dijkstra59]. The resulting graph is interpreted as a cylindrical capillary (a short cylinder), one voxel long, but whose diameter is the distance to the closest solid voxel. The full algorithm description can be found in Neumann et al.[Neumann2021].
The digital rock image in Fig. S2a has dimension of and was digitized in 8-bit grayscale using one million (100) voxels, each representing a physical region of . After segmentation, about 26 of the voxels in the resulting binary image of Fig. S2b, are identified as pore space, 64.5 of which touch the rock surface. After undergoing the extraction procedure, the capillary network model of the sample provides an accurate representation of the rock porous geometry as seen in Fig. S2c. This CNM representation contains 4069 capillaries with a color-coded diameter scale. The capillary network of the Berea sandstone sample analyzed in this paper, of size equalto voxels, displays a porosity of 33 and results in a CNM with capillaries.
![[Uncaptioned image]](extracted/5306524/figures/DigitalRock_Centerlines.png)
S4 Single-phase flow simulation
The fined-grained capillary network representation of the rock’s pore space described in section S3 was employed to simulate both single and two-phase fluid flow with a high level of geometrical accuracy. We assume laminar flow and apply equations relating pressure and flow rate within each capillary, followed by conservation of mass at each node, to build a large system of coupled equations in sparse matrix form. The Hagen-Poiseuille equation S1 is applied when simulating single-phase stationary flow
(S1) |
where and denote, respectively, the radius and length of capillary , is the viscosity of the fluid, and and represent the flow rate and pressure difference across each capillary . Combining Eq. S1 with the conservation of mass at each network node, Eq. S2,
(S2) |
results in a large but rather sparse system of linear equations to solve. The system solution contains local properties such as the distribution of pressure and flow rate at each point in the network, as well as global flow properties like permeability[Neumann2021].
Fig. S3 displays the results of single-phase, pressure-driven flow simulations using the capillary network representation of a voxel sandstone rock sample as input geometry. A pressure gradient of 10 kPa/m between opposite sides along one axis is applied to drive the flow of a simple fluid with density 1000 kg/m and dynamic viscosity 1.002 mPa.s, representing water at 1 atm, through the capillary network. Fig S3 is showing the induced pressure field inside the 3D sandstone sample of dimensions . Due to the sparse nature of all matrices involved, single-phase flow simulations are very efficient and can be simulated within minutes, depending on its connected pore structure and the direction of the flow. The absolute permeability for this REV was computed to be 105, 92 and 54 mD along the X-, Y- and Z-axis, respectively.
![[Uncaptioned image]](extracted/5306524/figures/PressureFields.png)
S5 Two-phase flow simulations
Two-phase flow simulations track the displacement in time of the fluid interface within each capillary of the CNM. We restrict the modeling to incompressible fluids under laminar, one-dimensional flow along the length of each capillary. Each fluid-fluid interface is assumed perpendicular to the flow direction, i.e. piston-like displacement. The pressure difference between the ends of each capillary is expressed in Eq. S3 as the sum of various physical effects, some depending on the position of the fluid interface,
(S3) |
where is the pressure difference across capillary , with length and radius . represents the viscosity of fluid and the interfacial tension between fluids, while describes the contact angle formed by both fluids and the matrix surface, defined with reference to the injected fluid as illustrated in Table S3. Finally, and denote the position of the effective interface and its first derivative, respectively. The first term on the right-hand side refers to viscous forces, and second term refers to the capillary pressure contribution from the interfaces. This contribution cancels out in capillaries with an even number of (alternating) interfaces, and reverts to something similar to Eq. S1. Any odd number of interfaces can be represented by a single “effective” interface whose position is calculated as to preserve the relative saturation of each fluid.
![[Uncaptioned image]](extracted/5306524/figures/Table_2phase_equation_contributions.png)
In addition to the externally applied pressure gradient, viscous forces and capillary pressure, the physical equations of two-phase flow in capillaries may also include hydrostatic, kinetic, and inertia contributions. Table S2 summarizes the expressions and estimated values of these physical effects, based on the assumptions in Table S3. The average capillary length (i.e., one voxel) and diameter are representative of the distribution shown in Fig. 1b. Under these assumptions, the contributions from hydrostatic, kinetic and inertial forces appear at least one order of magnitude smaller than the least significant of the other three contributions, hence the choce of terms kept in Eq. S3. Together with mass conservation at the nodes, Eq. S3 forms a system of differential-algebraic equations (DAE) representing the interface dynamics over time.
![[Uncaptioned image]](extracted/5306524/figures/Table_2phase_equation_parameters_ContactAngle.png)
![[Uncaptioned image]](extracted/5306524/figures/InterfaceEvolution.png)
Tracking of the fluid interfaces across the network of capillaries proceeds in alternating sequences of free evolution and jumps. During free evolution, the effective interfaces move along their respective capillaries, but without leaving them, via integration of the DAE system. Fig. S4a displays a simple network of 6 capillaries, represented by cap, where , sharing a single central node labeled with the pressure P at that point. This example illustrates the free evolution time interval until the fluid interface in cap reaches the central node. Jump events occur when an interface reaches a node and leaves its current capillary to enter one or more neighbouring capillaries. In this step, free evolution pauses, the interfaces are redistributed throughout the network, and the system of DAE is rewritten to account for the changes in interface locations. As an example, in Fig. S4b, an interface that reached the end of one capillary (cap) is removed, and new interfaces are created at the entrances of the connected capillaries. After this rearrangement, free evolution resumes. Depending on the local pressure state, some capillaries may become plugged, that is, the pressure conditions may not favor flow and the interface becomes frozen at the location of nearest node. It is possible that events such as the merging of fluids, reversal of flow, or changes in the pressure conditions at a later time may start favoring flow again and lead to the capillary becoming unplugged. All possibilities are handled carefully during the redistribution of interfaces among the capillaries.
A more realistic example of the time evolution of a two-phase simulation is displayed in Fig. S5a and Fig. S5b, representing the injection of supercritical CO over time as it pushes the resident water in a small portion of a Berea sandstone rock modeled as a network of connected capillaries. From the knowledge of the position of the fluid interface in all capillaries, we can compute the saturation as a function of time as displayed in Fig. S5c. Saturation of the rock sample by the injected fluid an important property in the study of CO infiltration into the porous rock. Plotting the saturation as a function of the volume of CO injected, as in Fig. S5d, provides a measure of the injection efficiency.
![[Uncaptioned image]](extracted/5306524/figures/TwoPhaseSims.png)
S6 Simplified capillary network representation
Unlike single-phase (stationary) flow that can be simulated within minutes, even on the network representation of a REV-sized rock sample with millions of nodes and links, dynamic simulations rapidly become unfeasible even on small sample sizes and large computing resources due to their time-dependent nature. To overcome this limitation, we employ sets of smaller capillary networks that remain representative of the original capillary network, to run two-phase simulations and extract flow properties. Previous works have demonstrated the importance of the geometric properties of porous media, in particular, the distributions of sizes and shapes of pores and throats, and also topology parameters such as connectivity and coordination number distribution[Raoof2009]. Thus, in order to produce realistic predictions, our smaller and simplified capillary networks are required to accurately match the morphology of the original rock sample.
To create the simplified capillary network, we have developed a custom Python script based on the OpenPNM[Gostick2016] framework capable of generating arbitrary 3D capillary networks in regular (cubic) and random configurations. A regular capillary network comprises a 3D cubic structure delimited by the sample size dimensions , and , where capillaries are created parallel to the axes on a regular mesh, intersecting at regular intervals. The intersection between capillaries, referred to as a node, defines its coordination number. One can create different cubic network configurations with coordination numbers from 6 to 26 by connecting faces, edges, corners, and their combination. In the random capillary network, a set of points (or nodes) are randomly distributed in 3D space delimited by the sample dimensions , and . In both regular and random capillary network cases, the connections between nodes, when present, become capillaries.
Our simplified capillary networks are built by iterating over the following steps until the porosity of the synthesized network is within a predefined margin from that of the original. In a first step, the coordination number of each node is assigned by choosing from the probability distribution of the original capillary network (see Fig. S6a and Fig. S7a for examples of coordination number probability distribution in a regular and a random capillary network, respectively, overlaid with the distribution of the original sample). Then, capillaries connected to a node are deleted if needed to match the assigned coordination number. In a third step, capillary diameters are assigned by randomly choosing from the diameter probability distribution of the original capillary network (see Fig. S6b and Fig. S7b for examples of capillary diameter probability distribution in a regular and a random capillary network, respectively, overlaid with the distribution of the original sample). The final step in each iteration involves calculating the porosity of the simplified network by dividing the capillary volume by the sample volume and comparing it to the porosity of the original rock sample. This algorithm guarantees that the simplified network preserves the following properties: (i) porosity; (ii) capillary diameter distribution; and (iii) node coordination number distribution. Examples of 2D simplified capillary networks in regular and random configurations can be seen in Fig. S6c and Fig. S7c, respectively. Examples of 3D simplified capillary networks in regular and random configurations can be seen in Fig. S6d and Fig. S7d, respectively.
![[Uncaptioned image]](extracted/5306524/figures/SimplifiedCNM_cubic.png)
![[Uncaptioned image]](extracted/5306524/figures/SimplifiedCNM_random.png)
Single-phase permeability calculations on 50 different network configurations optimized to represent the original Berea sandstone sample are shown in Fig. S8. The flow was imposed by applying an external 10 kPa/m pressure gradient along each axis. From these results, we conclude that a network size of 1500 capillaries, about of the total number of capillaries in the original sample, represents a good trade-off between accuracy and computational cost, with an average permeability within of the original. We observe that larger representations with more capillaries do improve precision but not the accuracy of the average estimate.
![[Uncaptioned image]](extracted/5306524/figures/Permeability_vs_ssCNM_NbCapillaries_20K.png)
S7 Pressure Distribution Within Capillary Network
The resulting distribution of pressures after simulating the injection of scCO into one of the simplified capillary networks is plotted in Fig. S9 under varying conditions of externally applied pressure gradient and fluid interface contact angle. This pressure distribution is the result of the interplay between the driving pressure gradient and the internal viscous and capillary forces in each capillary as described in section S5. For the range of capillary diameters shown in Fig.1b, capillary pressures within the network are estimated to be around 4 kPa for contact angles between 20 and 80, as per the second term of right hand side of Eq. S3. We observe in Fig. S9a that a driving pressure gradient around Pa/m is not sufficient to overcome the capillary pressures within the network for a contact angle of . As a consequence, the fluid flow in this low pressure gradient regime is mostly driven by capillary pressure which tends to produce low CO saturation.
For stronger externally applied pressure gradients, we observe a significant change in the pressure distribution of Fig. S9a and S9b towards higher pressures for both 20 and 90 contact angles. As the pressures induced by the external driving force are now sufficient to overcome the opposing viscous and capillary forces, even under conditions of low contact angles, it is thus able to unplug many capillaries and reach higher saturation values. For the flow condition depicted in Fig. S9a, namely, Pa/m pressure gradient and contact angle, we obtained saturation values of 20% to 40%. But, more strikingly, for the condition represented in Fig. S9b, i.e., Pa/m pressure gradient and contact angle, we obtained saturation values reaching 80%.
![[Uncaptioned image]](extracted/5306524/figures/Figure2_supplemental_pressures_combined.png)
S8 Saturation vs Injected Volume
Fig. S10a shows an example of supercritical CO saturation as a function of time in the sandstone rock sample under study at a temperature of 473 K and an external pressure gradient of Pa/m for a range of contact angles. The curves and shaded areas in the plot represent the mean and standard deviation of the simulations performed in an ensemble of ssCN, along the X, Y and Z axis. Alternatively we can display the saturation as a function of the scCO injected volume (in units of “pore volume”), as shown in Fig. S10b for the same simulation results. To reduce the influence of backward flow, the injected volume in this context is computed from the sum of the scCO saturation at each time step plus the volume of scCO ejected from the outlet capillaries, calculated by integrating over time the product of the outlet capillaries cross sectional area and the local flow speeds, normalized by the total pore volume occupied by all capillaries in the network.
Fig. S10b shows that for most contact angles, the saturation of scCO reaches a plateau, indicating that fluid is not being retained within the pore space. As a measure of the injection efficiency, we define the variable Weighted Saturation () as the measured saturation (S) scaled by the ratio of saturation to injected volume (IV), that is, , with units of pore volume of injected CO. As the saturation plateaus, the value of the peaks and any additional injection does not result in further storage by capillary trap**. This variable thus emphasizes the effect that the CO injected volume has in the maximum achievable saturation, as observed in Fig. S10c (for a range of pressure gradients, with fixed contact angle) and Fig. S10d (for a range of contact angles, with fixed Pa/m pressure gradient).
![[Uncaptioned image]](extracted/5306524/figures/Supplemental_Sat_vs_Time_vs_InjVolume_Lineplot_WSat_vs_InjVol.png)
S9 Simulation Toolkit for Scientific Discovery (ST4SD)
In our study we scanned through 4 temperature scenarios, studied 8 fluid-interface contact angles per scenario and no less than 8 different driving pressure gradient cases per angle, totaling 256 different injection conditions to be simulated. Per injection condition, 150 flow simulations were executed applying driving pressure along all three axes on each of the 50 simplified capillary networks in the ensemble, requiring proper parsing and aggregation of nearly 40,000 simulations. To manage the large parameter space, we leveraged high-throughput automated simulation workflows. In particular, we employed the Simulation Toolkit for Scientific Discovery (ST4SD) [ST4SD] to automate the execution of long simulation campaigns with several chained steps. The use of such workflow scheduler ensures the reproducibility of our results and enable efficiency gains by optimising the use of computing resources.
![[Uncaptioned image]](extracted/5306524/figures/ST4SD_flow_expanded_workstreams.png)
Fig. 1 illustrates the conceptual workflow and Fig. S11 shows the sequence of steps executed in an ST4SD experiment. A CNM representation of a rock sample is used as input to the ST4SD routine. This capillary network model is, however, too detailed to solve numerically in a two-phase flow scenario, so we generate tens of simplified capillary networks that meaningfully represent the properties of the original network (see Supplementary Section S6). Each simplified capillary network is then used as input to independent flow simulations that will estimate relevant physical properties in each representative network. Finally, the individual results from each simplified network are aggregated and combined into a single estimate that applies to the reference network.
Fig. S11 shows two connected workstreams. Workstream A refers to the process of generating a large ensemble of simplified capillary networks from that of a high-resolution digital rock sample. The Dataset Generation step follows the methodology described in Supplementary Section S6. Taking the original rock sample CNM as input, the workflow launches in parallel many processes to generate simplified capillary networks. In each parallel process, the algorithm alternates between molding a (initially random) set of connected capillaries into matching the morphological properties of the reference rock, and running single-phase flow simulations to assess the permeability until a convergence criterion is reached. The outcome of this workstream is an ensemble of simplified capillary networks whose morphological properties mimic those of the original network.
Workstream B refers to the simulated injection of scCO on an ensemble of simplified capillary networks and extracting relevant properties from the aggregate of the results. A simulation parameter grid containing all the values to be executed is used as input to the preparation step of workstream B. Per instance of this simulation grid, the values of parameters such as applied pressure, temperature or contact angle are inserted into the configuration files of the simplified capillary networks produced in workstream A. In the execution step, two-phase fluid flow simulations are executed for the ensemble of networks and the interfaces are tracked within the capillaries to extract saturation values as a function of time. During parsing the saturation of all networks are averaged as a function of time and injected volume, and passed to the aggregation step where they are saved together with the results from other instances.
S10 Injection Safety and Efficiency
Fig. 3 of the main manuscript explores the efficiency and security of the scCO drainage process in deep reservoirs at a fixed 473 K temperature. Fig. S12 explores the safety of the process by plotting the value of saturation at 90 of the maximum vs. the injected volume required to reach that point. Injected volumes beyond 1 PV indicate that some of the scCO was not retained within the sample, representing a leakage concern. We observe larger values of injected volume required to achieve similar levels of saturation with lower temperatures. Fig. S13 explores the efficiency of the injection process by plotting the maximum weighted saturation of scCO as a function of injected volume, representing the largest achievable saturation volume without scCO breakthrough. Data points closer to the diagonal represent maximum injection efficiency, and this trend improves with higher temperatures.
![[Uncaptioned image]](extracted/5306524/figures/MaxSat_vs_InjVolume_vs_CA_vs_DP_Temp_Lineplot_3colors.png)
![[Uncaptioned image]](extracted/5306524/figures/MaxWeightSat_vs_InjVolume_vs_CA_vs_DP_Temp_Lineplot_3colors_diag.png)