To address the scientific challenges associated with complex microscopic pore structures and the unclear mechanisms of miscible gas injection in typical low-permeability carbonate reservoirs in the Middle East, online nuclear magnetic resonance (NMR) imaging experiments were conducted during water-alternating-CO2 miscible flooding. The microscopic oil mobilization mechanisms were quantitatively investigated for different pore structure types and at various displacement stages. The results indicate that water-alternating-CO2 miscible flooding achieves a relatively high degree of oil mobilization in large and medium pore–throat structures. This behavior is likely associated with Jamin-type flow resistance effects and flow regulation induced by gas–water alternating slugs. Differences in microscopic oil mobilization are mainly observed in mesopores (0.3–1.5 μm). The recovery degrees of mesopores in Cores 1, 2, and 3 reach 89%, 94.2%, and 78%, respectively, contributing 93.7%, 80.6%, and 50.9% to the total oil recovery. The degree of microscopic heterogeneity controls the distribution of remaining oil in core slices after breakthrough of the displacement front. In Core 1, the signal amplitude exhibits a gradual and uniform decline, indicating that gas–water alternating injection suppresses gas channeling and improves mobility control. In Core 2, the signal amplitude decreases more rapidly with increasing heterogeneity. In Core 3, the signal disparity continues to intensify, leading to the formation of dominant gas–water channeling pathways, while low-permeability pore–throat structures evolve into typical bypassed oil zones. As the CO2–oil contact front progressively advances toward the outlet end, the swept volume gradually decreases due to the development of preferential flow channels. Consequently, significant remaining oil accumulation occurs near the outlet region.
Sun et al. (Sat,) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: