PET-460 · Lesson 7 of 12 · 20 min

Trapping mechanisms

At the hub's first public meeting in Bay City, a farmer stood up with the question Ethan had been warned to expect. “You're putting a gas lighter than water two kilometers under my land. What stops it coming back up?” Farid answered with the seal, but on the drive back he told Ethan the answer was incomplete. “The caprock matters most in the first decades. After that, the CO₂ gets stuck in other ways, and each one is harder to undo than the last. If you can explain that, people understand why the risk goes down with time instead of up.” This lesson is that explanation, and the numbers behind it.

Four mechanisms

Injected CO₂ is held underground by four mechanisms that act on different time scales. Structural and stratigraphic trapping holds free CO₂ beneath a seal, in a dome, against a sealing fault or under a pinch-out of porous rock. Residual trapping immobilizes CO₂ as disconnected bubbles in the pores after brine moves back in behind the plume. Solubility trapping dissolves CO₂ into the brine, where it no longer exists as a buoyant separate phase. Mineral trapping converts dissolved CO₂ into carbonate minerals. Structural trapping acts immediately and depends on the seal. Residual trapping acts over years to decades as the plume migrates. Dissolution builds over decades to millennia, and mineralization over centuries to many thousands of years, depending on the rock.

A stacked area chart of the share of injected CO₂ held by each mechanism against years after injection stops on a logarithmic scale from 1 to 10,000. At 1 year structural trapping holds about 80 percent, residual about 12, dissolved about 8 and mineral nearly zero. By 10,000 years structural has fallen to about 12 percent, residual is about 30, dissolved about 48 and mineral about 10.
Illustrative contribution of each trapping mechanism over time. The share relying on the seal alone falls steadily.

Structural and stratigraphic trapping

Free CO₂ rises until it meets a seal and then spreads along its base. In a dome or anticline it fills the structure like a gas cap, and the spill point limits how much the structure can hold. In a gently dipping formation with no closure, such as much of the Frio Formation, there is no trap in the oil-field sense: the plume migrates slowly up-dip under the seal. Storage in such formations depends on the plume being immobilized by the other mechanisms before it travels far, and on the seal being continuous over the whole migration path. That is why regulators ask for long-term simulations of plume migration, not just the injection period.

Residual trapping

When CO₂ displaces brine, it moves through the larger pores. When injection stops, or when the trailing edge of a migrating plume passes, brine re-enters the pores (imbibition), and snaps off threads of CO₂ into isolated bubbles held by capillary forces. The trapped saturation depends on the maximum CO₂ saturation the rock reached. Land's model, developed for trapped gas in petroleum reservoirs, describes it:

\[S_{gr} = \frac{S_{gi}}{1 + C\,S_{gi}}\qquad C = \frac{1}{S_{gr,\max}} - \frac{1}{S_{gi,\max}}\]

Here S_gi is the turning-point CO₂ saturation, S_gr the trapped saturation and C the Land coefficient, which laboratory core floods measure; sandstones typically trap 20 to 35 percent of the pore volume at high initial saturation. Low initial saturations trap a larger fraction of what was there, so a thin, widely spread plume is efficiently trapped. A migrating plume leaves a trail of residual CO₂ behind it, and in a dipping formation the whole plume can become immobile after migrating some distance. Engineers can promote residual trapping by injecting low in the formation, so CO₂ rises through more rock, or by injecting brine after CO₂ to push imbibition, though chase brine is rarely used.

Residual trapping from Land's model, CO₂ solubility in the Frio brine, and an illustrative trapping split over time.
# Trapping: residual trapping with Land's model, dissolution capacity of the brine, and how trapping shifts with time.
import math
SI = False     # True: Basal Cambrian brine (very saline), False: Frio brine

if SI: brine, salinity_molal, T_c, rho_c, phi = "Basal Cambrian", 5.0, 60, 704.0, 0.16
else:  brine, salinity_molal, T_c, rho_c, phi = "Frio", 1.7, 71, 573.0, 0.26

# Land's model: trapped gas saturation after imbibition from an initial (turning-point) saturation
Sgr_max, Sg_max = 0.30, 0.80
C = 1 / Sgr_max - 1 / Sg_max
print(f"Land coefficient C = {C:.2f}")
print(" initial CO2 saturation   trapped after imbibition   fraction trapped")
for sgi in (0.1, 0.2, 0.3, 0.5, 0.7):
    sgr = sgi / (1 + C * sgi)
    print(f"{sgi:22.2f}{sgr:27.3f}{sgr / sgi:19.0%}")

# dissolution: CO2 solubility in pure water at reservoir conditions, reduced by salting out (Setschenow, illustrative)
m0 = 1.25                     # mol CO2 per kg water at ~60-70 C and 18-21 MPa (approximate)
ks = 0.11                     # Setschenow coefficient, per mol/kg NaCl (approximate)
m = m0 * 10 ** (-ks * salinity_molal)
kg_per_m3_brine = m * 0.044 * 1000 / (1 + salinity_molal * 0.0584)    # per m3 of brine, approx 1 kg water per liter of solution
print(f"\n{brine} brine, {salinity_molal} mol/kg NaCl: solubility {m:.2f} mol/kg water ({m / m0:.0%} of fresh water)")
print(f"One cubic meter of brine can dissolve about {kg_per_m3_brine:.0f} kg of CO2; the same pore space holds {rho_c:.0f} kg as free CO2.")
print(f"Fully saturating the brine in a pore volume dissolves {kg_per_m3_brine / rho_c:.1%} of what free CO2 would occupy.")

# illustrative trapping evolution: fraction of injected CO2 in each mechanism (structural, residual, dissolved, mineral)
print("\nIllustrative trapping split for a saline formation (generic, after many simulation studies)")
print("  years after injection stops   structural   residual   dissolved   mineral")
for yr, st, re, di, mi in ((0, 0.80, 0.12, 0.08, 0.00), (100, 0.55, 0.25, 0.19, 0.01), (1000, 0.30, 0.33, 0.34, 0.03), (10000, 0.12, 0.30, 0.48, 0.10)):
    print(f"  {yr:>27,d}{st:12.0%}{re:11.0%}{di:12.0%}{mi:10.0%}")
print("Security increases from left to right: only the structural share depends on the caprock alone.")
Output
Land coefficient C = 2.08
 initial CO2 saturation   trapped after imbibition   fraction trapped
                  0.10                      0.083                83%
                  0.20                      0.141                71%
                  0.30                      0.185                62%
                  0.50                      0.245                49%
                  0.70                      0.285                41%

Frio brine, 1.7 mol/kg NaCl: solubility 0.81 mol/kg water (65% of fresh water)
One cubic meter of brine can dissolve about 33 kg of CO2; the same pore space holds 573 kg as free CO2.
Fully saturating the brine in a pore volume dissolves 5.7% of what free CO2 would occupy.

Illustrative trapping split for a saline formation (generic, after many simulation studies)
  years after injection stops   structural   residual   dissolved   mineral
                            0         80%        12%          8%        0%
                          100         55%        25%         19%        1%
                        1,000         30%        33%         34%        3%
                       10,000         12%        30%         48%       10%
Security increases from left to right: only the structural share depends on the caprock alone.

With S_gr,max of 0.30 and S_gi,max of 0.80, the code gives C = 2.08. A pore that reached 70 percent CO₂ traps 0.29, about 41 percent of what was there; one that reached only 20 percent traps 0.14, about 71 percent. Mei's core floods on Frio samples would replace the assumed values, but the trend would not change.

Worked problem

Residual trapping behind a migrating plume

A plume migrates up-dip through rock where the average turning-point CO₂ saturation was 0.40. Land's coefficient is 2.0. How much CO₂ remains trapped in each cubic meter of rock with porosity 0.16 after the plume has passed? Use a CO₂ density of 573 kg/m³.

Show solution
  1. S_gr = 0.40 / (1 + 2.0 × 0.40) = 0.40 / 1.8 = 0.222.
  2. Trapped CO₂ volume = 0.16 × 0.222 = 0.0356 m³ per m³ of rock.
  3. Mass = 0.0356 × 573 = 20.4 kg per m³ of rock.

Answer: Each cubic meter of rock the plume passes through keeps about 20 kg of CO₂, 56 percent of the CO₂ that occupied it at the turning point. A plume of 10 Mt that migrates through 500 million m³ of rock would be left almost entirely behind as residual CO₂.

Solubility trapping

CO₂ dissolves in brine to a few percent by weight at storage conditions. Dissolved CO₂ is no longer buoyant; in fact brine saturated with CO₂ is about 1 percent denser than the original brine. Solubility depends on pressure, temperature and especially salinity: dissolved salts reduce it, an effect called salting out. Frio brine, at about 100 g/L, holds about 65 percent as much CO₂ as fresh water would. Even in fresh water, fully saturating the brine in a given pore volume dissolves only a few percent of the CO₂ that the same volume holds as free phase, so dissolution can only work by contacting much more brine than the plume occupies.

Diffusion alone would take tens of thousands of years to do that. What speeds it up is convection. CO₂ dissolving at the base of the plume makes a thin layer of denser brine beneath lighter brine, an unstable arrangement. After an onset time that depends on permeability and the density difference, from a few years in very permeable rock to centuries in tight rock, fingers of dense CO₂-rich brine sink and fresh brine rises to the plume, carrying dissolved CO₂ away much faster than diffusion. Simulations and laboratory analogs give dissolution rates that can dissolve a large share of a plume within hundreds to a few thousand years in permeable formations. At Sleipner, repeated seafloor gravity surveys have been used to estimate the dissolution rate, and suggest that dissolution was already under way within the first decade or two.

\[t_{\text{onset}} \propto \frac{\phi\,\mu\,D}{(k\,\Delta\rho\,g)^2}\]

The proportionality shows the strong effect of permeability and density difference: doubling permeability cuts the onset time by four. Ethan's estimate for the Frio, with its moderate permeability and high salinity, gave onset times of decades and a smaller dissolved fraction than the generic chart; for the hub's permit, the dissolved fraction would come from the simulation model, not a textbook curve.

Mineral trapping

Dissolved CO₂ forms carbonic acid, which reacts with minerals in the rock. Reactive silicate minerals, such as feldspars, chlorite and especially the calcium, magnesium and iron silicates of mafic and ultramafic rocks, release cations that combine with bicarbonate to precipitate carbonates such as calcite, dolomite, siderite and magnesite. Carbonate is the most permanent form of storage. In quartz-rich sandstones like the Frio, the reactive minerals are scarce and the reactions slow, so mineral trapping matters only over thousands of years. In basalt, it is fast: the CarbFix project in Iceland, injecting CO₂ dissolved in water, found that more than 95 percent mineralized within about two years. Basalt and ultramafic formations are being studied for storage where sedimentary basins are absent.

Geochemistry also works in the other direction near the well. Carbonic acid can dissolve carbonate cement and some minerals, and dry CO₂ can evaporate water and precipitate salt in the near-well region, which can reduce injectivity in very saline brines. Frio brine is less saline, but the team still planned injectivity monitoring for salt precipitation. Reactions with caprock minerals are generally slow and limited to the first centimeters to meters of the seal.

Migration-assisted storage

Some formations have no structural closure at all but are very large and gently dipping, with slow regional groundwater flow. In such settings, the plume is expected to migrate up-dip under the seal for a long distance, shedding residual CO₂ and dissolving as it goes, until it is immobile. This is sometimes called migration-assisted or hydrodynamic trapping. It can store large volumes without a trap, but only if the seal is continuous over the whole migration path and no wells or faults cross it there. The Frio dips gently toward the Gulf, so the hub's long-term simulations would follow the plume up-dip toward the coast and check every penetration along the way. The time and distance the plume travels before it stops are the key results, and both depend strongly on residual saturation and on the vertical permeability below the seal.

Measuring the trapping parameters

Mei's laboratory program for trapping had three parts. Core floods at reservoir conditions, injecting CO₂ into brine-saturated plugs and then brine back, measure drainage and imbibition relative permeability and the trapped saturation for several initial saturations, giving the Land coefficient. X-ray imaging of the cores shows where the CO₂ sits and how uniform the trapping is. Brine samples from the test well, analyzed for composition, feed solubility calculations and geochemical models, and batch experiments with crushed rock, brine and CO₂ show which minerals react and how fast. The results have wide ranges, so the simulation model would carry them as uncertain inputs and report how the plume and the trapped fractions change across that range.

Why risk declines with time

Putting the mechanisms together explains the answer Farid wanted. Leakage requires mobile free CO₂ and a pathway. During injection, pressure is high and the plume is mobile, so this is when containment depends most on the seal and on wells. After injection stops, pressure falls back toward its original level, reducing the driving force. Then residual and solubility trapping progressively remove the mobile CO₂, so even a pathway found later has less to leak. The IPCC's 2005 assessment, that more than 99 percent of CO₂ in well-chosen and well-managed sites is likely to stay for 1,000 years, rests on this progression. It also explains how regulators structure liability: monitoring is most intense during injection and the early post-injection period, and long-term responsibility can be transferred or reduced once the plume is shown to be stable (Lesson 11).

Trapping mechanisms compared. Security increases down the table.
MechanismTime scaleDepends onSecurity
Structural and stratigraphicimmediateseal continuity, faults, wellsgood if the seal holds; CO₂ remains mobile
Residualyears to centuriespore structure, plume migrationhigh; CO₂ is immobile
Solubilitydecades to millenniasalinity, permeability, convectionhigher; CO₂ is no longer buoyant
Mineralcenturies to many millennia (two years in basalt)reactive mineralshighest; CO₂ is solid carbonate

Common mistakes

  • MistakeAssuming storage depends on the caprock forever.

    InsteadResidual and solubility trapping progressively immobilize CO₂; the seal matters most during injection and the early post-injection period.

  • MistakeUsing fresh-water CO₂ solubility for a saline formation.

    InsteadCorrect for salting out; very saline brines dissolve a fraction of the fresh-water amount.

  • MistakeExpecting quick mineral trapping in quartz sandstone.

    InsteadMineralization is fast only in reactive rocks such as basalt; in clean sandstones it takes millennia.

  • MistakeTreating the generic trapping chart as a site prediction.

    InsteadUse site-specific simulation with measured residual saturation, salinity and permeability.

Summary and key terms

  • Structural, residual, solubility and mineral trapping act on increasing time scales and give increasing security.
  • Residual trapping follows Land's model; it is efficient for thin, migrating plumes.
  • Dissolution is speeded by convection of dense CO₂-rich brine; onset time falls with the square of permeability.
  • Salinity reduces CO₂ solubility; very saline brines dissolve much less.
  • Mineral trapping is slow in sandstones but fast in basalt.
  • Leakage risk is highest during injection and declines as pressure falls and trapping progresses.
Structural trapping
Retention of free CO₂ beneath a seal by the shape of the formation or by sealing faults.
Residual trapping
Immobilization of CO₂ as disconnected bubbles by capillary forces after brine re-enters the pores.
Land coefficient
The parameter relating trapped to initial non-wetting saturation.
Solubility trapping
Storage of CO₂ dissolved in formation brine.
Convective dissolution
Enhanced dissolution caused by sinking fingers of denser CO₂-saturated brine.
Mineral trapping
Conversion of dissolved CO₂ to carbonate minerals.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. With C = 2.5 and S_gi = 0.5, what is the trapped saturation?

    Show answer

    S_gr = 0.5 / (1 + 1.25) = 0.22.

  2. Why does dissolution not need the whole plume to contact brine at once?

    Show answer

    Convection continually brings unsaturated brine to the plume base and carries CO₂-rich brine away.

  3. If permeability triples, how does the convective onset time change?

    Show answer

    It falls by a factor of about 9.

  4. Why is the leakage risk lower 50 years after injection stops than during injection?

    Show answer

    Pressure has fallen, and much of the CO₂ is residually trapped or dissolved, so less mobile CO₂ remains.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz