PET-330 · Lesson 5 of 12 · 20 min

Matrix acidizing of sandstones

With the damage on the 102/06-14 well diagnosed, Ethan has to design the treatment. The Cardium is a sandstone with some carbonate cement and a little clay, and the damage is drilling and completion debris near the wall. Tom asks a supplier's chemist, Mei Lin, to join the planning meeting. 'Sandstone acidizing is chemistry with a bad temper,' she says. 'Do it right and you get your oil back. Do it wrong and you make new damage that no acid will remove.'

This lesson explains what a matrix treatment is, how hydrochloric and hydrofluoric acids react with sandstone minerals, how the fluid stages are designed, how the injection rate is limited to stay below fracturing pressure, and how the treatment is placed, executed and evaluated.

Matrix treatments and fractures

A matrix treatment injects fluid into the rock below the fracturing pressure, so the fluid flows through the existing pores and dissolves damage near the wellbore. It aims to restore the natural permeability, bringing the skin toward zero or slightly below. A fracture treatment, by contrast, deliberately exceeds the fracturing pressure to create a new, conductive path far into the rock. The two have different purposes: matrix acidizing fixes damage in rock that would otherwise produce well, while fracturing creates productivity in rock that cannot produce well even undamaged. Exceeding the fracture pressure during a matrix job is a design failure, because the acid then flows into the fracture and bypasses the damaged rock.

Acid chemistry in sandstones

Sandstones are mostly quartz grains, with carbonate cements, feldspars and clays filling or lining the pores. Damage usually consists of clays, fines, mud solids and scales in the pore throats near the wall.

Hydrochloric acid, HCl, dissolves carbonates, such as calcite and dolomite, and many iron compounds quickly, but it does not dissolve quartz or clays. Hydrofluoric acid, HF, dissolves silica and silicate minerals, including clays and feldspars, but it reacts with calcium to form insoluble calcium fluoride. Field treatments therefore use a mixture, called mud acid, of HCl and HF, typically about 12 percent HCl with 3 percent HF, and lower-strength blends for sensitive rocks.

\[\mathrm{CaCO_{3} + 2\,HCl \longrightarrow CaCl_{2} + H_{2}O + CO_{2}}\]
\[\mathrm{SiO_{2} + 6\,HF \longrightarrow H_{2}SiF_{6} + 2\,H_{2}O}\]

The reactions with clays and feldspars are more complex and happen in stages. The primary reaction dissolves the mineral; secondary and tertiary reactions, slower and happening deeper in the rock, can reprecipitate silica gel and aluminium or alkali fluosilicates. Those precipitates can create new damage. Keeping the treatment acidic, avoiding contact of spent HF with sodium, potassium or calcium brines, and flowing the well back promptly limit these problems.

The amount of rock a given volume of acid can dissolve is called its dissolving power. For 15 percent HCl on calcite it is about 0.08 volumes of mineral per volume of acid; for 3 percent HF it is much smaller. Dissolving power, the mineral content and the damage depth together decide the volumes.

The fluid stages

Five boxes connected by arrows: preflush, main acid, overflush, diversion and flowback, each with a short description. A red note warns that HF must not meet calcium-rich water or carbonate.
The stages of a sandstone acid treatment.

Preflush. An HCl or organic acid preflush goes first. It dissolves carbonates in the near-wellbore zone so that the HF stage does not meet calcium and form calcium fluoride. It also displaces formation water, which is often rich in calcium, sodium and potassium, away from the wellbore. A brine or solvent stage may precede it to remove oil or paraffin.

Main acid. The HCl-HF mixture follows, dissolving clays, fines and other siliceous damage. Its volume is chosen to treat the damaged zone, often a few tens of centimetres to a metre from the wall. Field guidelines express the volume per unit of treated height; values of roughly 0.6 to 2.5 m³ per metre (50 to 200 gallons per foot) are common, with laboratory core floods used to refine them.

Overflush. A weak acid, ammonium chloride brine or diesel overflush pushes the spent acid and its reaction products away from the wellbore, so that any precipitates form in a less critical place.

Additives. Every acid stage carries a corrosion inhibitor to protect tubulars, iron control agents to keep dissolved iron in solution, surfactants and mutual solvents to keep the rock water-wet and prevent emulsions, and sometimes clay stabilizers. Additive choices are tested for compatibility with the reservoir oil in the laboratory, because an acid-oil sludge can be worse than the original damage.

Flowback. The well is flowed back as soon as the treatment is complete, so that spent acid is removed before secondary reactions advance. In an injection well, the spent acid may be displaced deep into the rock instead, but the same timing principle applies.

Rate and pressure limits

A matrix treatment must stay below the fracturing pressure. At the start the damaged zone is intact, so the injectivity is low and the maximum allowed rate is small; as the acid dissolves damage, the skin falls and the allowed rate rises. The limit comes from the radial flow equation of PET-320, using the pressure margin between the fracturing pressure and the reservoir pressure, usually kept about 10 percent below fracturing pressure for safety.

\[q_{max} = \frac{2\pi\,k\,h\,(p_{frac} - \bar{p})}{\mu\,\big[\ln(r_{e}/r_{w}) + s\big]}\]
Preflush and mud acid volumes, and the maximum injection rate that stays below fracturing pressure as the skin falls.
# Sandstone matrix acidizing: HCl preflush, mud acid volume, and the highest rate that stays below fracturing pressure
import math
SI = True   
if SI:   # vertical Cardium oil well 102/06-14: m, kPa, mPa.s, m3
    h, k, phi, rw, re, depth = 6.5, 15.0, 0.14, 0.10, 400.0, 1555.0
    p_res, frac_grad, s = 14090.0, 15.7, 5.0      # kPa, kPa/m, measured skin
    r_pre, carb = 0.30, 0.04                      # preflush radius m, carbonate fraction of rock
    mud_per_len, vu = 1.25, "m3"                  # m3 of 12% HCl - 3% HF per m of pay (about 100 gal/ft)
    def qmax(dp, s_):                             # m3/min at a bottomhole pressure margin dp (kPa)
        return 2 * math.pi * k * 9.869e-16 * h * dp * 1e3 / (1.0e-3 * (math.log(re / rw) + s_)) * 60
    ru, pu = "m3/min", "kPa"
else:    # Tamarack SWD-1 saltwater disposal well in the Inyan Kara sandstone: ft, psi, cP, bbl
    h, k, phi, rw, re, depth = 80.0, 400.0, 0.22, 0.354, 1000.0, 5200.0
    p_res, frac_grad, s = 2400.0, 0.70, 8.0
    r_pre, carb = 1.0, 0.04
    mud_per_len, vu = 100.0 / 42.0, "bbl"         # 100 gal/ft as barrels
    def qmax(dp, s_):                             # bbl/min
        return 0.00708 * k * h * dp / (1.0 * (math.log(re / rw) + s_)) / 1440
    ru, pu = "bbl/min", "psi"
p_frac = frac_grad * depth
margin = 0.9 * (p_frac - p_res)                   # stay 10 percent below the fracturing pressure
pore = math.pi * (r_pre**2 - rw**2) * h * phi     # pore volume of the preflush zone
if not SI: pore /= 5.615                          # ft3 to bbl
# carbonate to dissolve: 15% HCl dissolves about 0.082 volumes of calcite per volume of acid (dissolving power)
X15 = 0.082
rock = math.pi * (r_pre**2 - rw**2) * h * (1 - phi) * carb
if not SI: rock /= 5.615
v_dissolve = rock / X15
v_pre = pore + v_dissolve
v_mud = mud_per_len * h
print(f"fracturing pressure about {p_frac:,.0f} {pu}; reservoir {p_res:,.0f}; allowed margin {margin:,.0f} {pu}")
print(f"preflush zone pore volume {pore:.1f} {vu}; acid to dissolve its carbonate {v_dissolve:.1f} {vu}; preflush {v_pre:.1f} {vu}")
print(f"mud acid (12% HCl - 3% HF) at the guideline rate: {v_mud:.1f} {vu}; overflush similar volume")
for s_now in (s, s / 2, 0.0):
    print(f"   skin {s_now:+4.1f}: maximum matrix rate {qmax(margin, s_now):6.3f} {ru}")
print("the allowed rate rises as damage dissolves, so the pump schedule steps up during the treatment")
Output
fracturing pressure about 24,414 kPa; reservoir 14,090; allowed margin 9,291 kPa
preflush zone pore volume 0.2 m3; acid to dissolve its carbonate 0.7 m3; preflush 0.9 m3
mud acid (12% HCl - 3% HF) at the guideline rate: 8.1 m3; overflush similar volume
   skin +5.0: maximum matrix rate  0.025 m3/min
   skin +2.5: maximum matrix rate  0.031 m3/min
   skin +0.0: maximum matrix rate  0.041 m3/min
the allowed rate rises as damage dissolves, so the pump schedule steps up during the treatment

For the 102/06-14 well, the preflush zone of 0.30 m radius needs under a cubic metre of HCl to fill the pores and dissolve the carbonate, while the mud acid at the guideline rate is about 8 m³ for the 6.5 m of pay. The striking number is the rate: in 15 mD rock with only 6.5 m of pay, the maximum matrix rate is only about 0.03 m³/min, about 30 litres per minute, rising to 0.04 m³/min as the skin clears. Pumping 8 m³ of mud acid at that rate takes about four hours, plus preflush and overflush. Mei is not surprised. 'Tight sands take time. Bullhead it fast and you'll fracture the zone and miss the damage.' Tom adds a second thought: for the 0.5 mD flank wells, a small fracture treatment would beat any matrix job.

Placement and diversion

Acid follows the path of least resistance. In a well with several layers, or a long interval, most of the acid enters the most permeable or least damaged zones, which need it least. Diversion forces acid into the zones that need it. Mechanical diversion uses packers, straddle tools or coiled tubing set at each interval. Chemical diversion uses particulates, such as benzoic acid flakes or rock salt, viscous gels or foams that temporarily plug the zones taking fluid. Ball sealers, small rubber-coated balls dropped into the fluid, seat on the perforations taking the most flow. Coiled tubing gives precise placement in long or horizontal intervals.

Real-time monitoring of rate and pressure lets the engineer see the treatment work. Methods such as the Paccaloni approach plot the skin calculated from the injection pressure and rate as the job proceeds; a falling skin shows that damage is being removed, while a flat line suggests the acid is going somewhere useless.

Execution and safety

Acid jobs are hazardous. Concentrated HCl is corrosive and gives off irritating vapour; HF is far more dangerous, because it penetrates skin and binds calcium in the body, causing severe burns and possibly systemic poisoning even from small exposures. Crews wear chemical-resistant protective equipment, have calcium gluconate gel and an emergency plan on site, and keep people away from lines under pressure. Spent acid flowing back can carry hydrogen sulphide if the formation contains iron sulphide, so gas monitoring continues during flowback. Tanks, lines and returns are handled and disposed of according to environmental rules.

Before pumping, the treating line and tubing are pressure tested, and the tubing and casing are checked against the treating pressures and the temperature changes of lesson 2. After the job, the spent acid returns are sampled: their acidity, dissolved iron and minerals show how much acid reacted and whether precipitation is a risk.

Evaluating the result

Success is measured by production or injectivity and, ideally, by a new well test. A good matrix treatment brings the skin close to zero in a damaged well. Little or no improvement suggests the wrong diagnosis, poor placement or new precipitation damage. A temporary gain that fades quickly suggests fines that moved again, or acid that only cleaned the perforations. Each outcome feeds the design of the next job.

Tom's checklist for sandstone acid: confirm damage and its type; test the acid and additives with the reservoir oil and on core if possible; design the preflush to remove carbonates; size the HF stage to the damage; stay below fracturing pressure; divert; flow back fast; measure the result.

Worked problem

Rate limit at the start of a job

A sandstone well has k = 20 mD, h = 10 m, ln(re/rw) = 8.0 and a skin of +6. Fracturing pressure is 22,000 kPa and reservoir pressure 14,000 kPa. Using 90 percent of the margin and an acid viscosity of 1 mPa·s, find the maximum starting rate in m³/min.

Show solution
  1. Pressure margin: 0.9 × (22,000 − 14,000) = 7,200 kPa = 7.2 × 10⁶ Pa.
  2. k = 20 × 9.869 × 10⁻¹⁶ = 1.97 × 10⁻¹⁴ m².
  3. q = 2π × 1.97 × 10⁻¹⁴ × 10 × 7.2 × 10⁶/(0.001 × 14) = 6.4 × 10⁻⁴ m³/s.
  4. q ≈ 0.038 m³/min, about 38 litres per minute.

Answer: The rate is small at first and rises as the skin falls; the schedule steps up with it.

Alternatives to mud acid

Mud acid is not the only choice. In sandstones with a lot of clay or with minerals that react badly to HCl, such as zeolites or chlorite, engineers use organic acids, which are weaker and react more slowly; fluoboric acid, which generates HF slowly and treats deeper with less risk of precipitation; or chelating agents, which dissolve carbonates and some damage without the corrosion and precipitation problems of strong acids. Where the damage is organic, such as wax or asphaltene, solvents such as xylene are the right treatment and acid is not. Where the damage is a water block, mutual solvents and surfactants that lower capillary pressure help more than acid. Matching the fluid to the damage, not to habit, is the theme of every good matrix design.

Common mistakes

  • MistakePumping HF without an HCl preflush.

    InsteadRemove carbonates and calcium-rich water first to avoid calcium fluoride.

  • MistakeExceeding fracture pressure to speed up the job.

    InsteadStay below fracturing pressure; a fracture bypasses the damage.

  • MistakeLeaving spent acid in the well overnight.

    InsteadFlow back promptly to limit secondary precipitation.

  • MistakeSkipping compatibility tests with the crude.

    InsteadTest acid and additives with the oil to avoid sludge and emulsions.

  • MistakeAssuming the acid goes where it is needed.

    InsteadUse mechanical or chemical diversion and monitor the skin during the job.

Summary and key terms

  • Matrix treatments inject below fracturing pressure to dissolve near-wellbore damage.
  • HCl dissolves carbonates and iron compounds; HF dissolves silicates but reacts with calcium.
  • A sandstone job uses a preflush, a mud acid stage, an overflush and prompt flowback.
  • Volumes depend on damage depth, mineral content and dissolving power; core floods refine them.
  • The maximum rate comes from radial flow and rises as the skin falls.
  • Diversion, monitoring, careful handling of HF and evaluation decide success.
Matrix treatment
Injection of a treatment fluid below fracturing pressure through the rock pores.
Mud acid
A mixture of hydrochloric and hydrofluoric acids used in sandstones.
Preflush
The fluid stage pumped before the main acid to remove carbonates and incompatible water.
Overflush
The stage that displaces spent acid away from the wellbore.
Dissolving power
The volume of mineral a unit volume of acid can dissolve.
Diversion
Methods that force treatment fluid into the zones that need it.
Secondary precipitation
Reprecipitation of reaction products deeper in the rock after the acid spends.

Practice problems

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

  1. Why does HF need an HCl preflush in most sandstones?

    Show answer

    HF reacts with calcium to form insoluble calcium fluoride, so carbonates and calcium brine must be removed first.

  2. Why does the allowed injection rate rise during a successful matrix job?

    Show answer

    As damage dissolves, the skin falls and injectivity improves for the same pressure margin.

  3. Name three types of diversion.

    Show answer

    Mechanical packers or coiled tubing, chemical particulates or foam, and ball sealers.

  4. What is the special hazard of HF to people?

    Show answer

    It penetrates skin and binds calcium, causing deep burns and possible systemic poisoning.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz