Articles in this section

Material selection for CO₂ injection scenarios in saline aquifers using OLI Studio: Corrosion Analyzer

Objective

This article provides a step-by-step guide for setting up a corrosion analysis case in OLI Studio: Corrosion Analyzer to evaluate material performance and material selection in CO₂ injection scenarios. Proper material selection for CO₂ injection projects requires a thorough understanding of the corrosive environment, impurity interactions, and aqueous chemistry. OLI Studio: Corrosion Analyzer provides a thermodynamic and electrochemical framework to simulate these environments and quantify corrosion risk.

Users will learn how to:

  • Define a CO₂ injectate composition with impurities.
  • Reproduce flowback fluid chemistry.
  • Evaluate corrosion behavior at bottomhole conditions.
  • Compare corrosion resistance among different corrosion resistant alloys.

Disclaimer: The results presented in this article were obtained using OLI Studio: Stream Analyzer and OLI Studio: Corrosion Analyzer, Version 12.5. Results and alloy availability in the MSE framework may vary in other software versions due to ongoing updates to the software and chemistry databanks.

Background: Understanding CO₂ Injection Corrosion

When performing CO₂ injection, it’s important to remember that not all CO₂ streams are equivalent. Depending on the source of capture — whether from post-combustion, pre-combustion, or natural reservoirs — each stream can contain different impurities and varying levels of contaminants such as H₂S, SO₂, NO₂, or water.

These impurities can dramatically change the chemistry of the flowback fluid, and therefore, it’s essential to conduct a risk assessment to understand how they might influence corrosion and material performance.

In this example, we’ll focus on a CO₂ injectate from a post-combustion capture process at a power plant. This case provides a good baseline for understanding how impurities interact under injection conditions. However, the same modeling approach can be applied to CO₂ streams of any composition.

The composition of the CO₂ injectate used in this study is shown in the table below:

Table 1. Composition of the example CO₂ injectate

Component ppm (mole)
H₂O 70
CO₂ balance
H₂S 100
N₂ 100
O₂ 100
NH₃ 7
NO₂ 50
SO₂ 50
C₆H₁₄O₄ (TEG) 7

Corrosion Scenarios During CO₂ Injection

When injecting CO₂, several corrosion scenarios can arise, each driven by how the injected gas interacts with water and impurities under different operating conditions.

One common scenario occurs when dry CO₂ becomes saturated with water due to temperature or pressure upsets along the pipeline. These upsets can cause the CO₂ to become supersaturated, leading to the formation of an acidic liquid phase. This acid phase coexists in equilibrium with the CO₂ gas and its impurities, and the resulting condensate often has a very low pH, capable of attacking the inner walls of the pipeline.

Now, it’s important to note that the amount of condensate formed may be small—sometimes too little to cause significant damage. In many cases, the droplets don’t remain in contact with the metal surface long enough to initiate corrosion. Still, evaluating this potential risk helps us understand what could happen if condensate accumulation occurs, providing valuable insight for prevention and material selection.

A second—and often more critical—scenario takes place when CO₂ is injected into saline aquifers. In this case, the chemistry of the fluid evolves dramatically. Several factors come into play: the interaction between CO₂ and the formation brine, the high partial pressure of CO₂ (which tends to lower the pH), and the high salt content, particularly chloride ions, which are known to accelerate corrosion.

comprehensive water analysis is essential here to assess the buffering capacity of the brine. Furthermore, impurities such as SO₂, NO₂, and O₂ can react to form strong acids that condense and further decrease the pH, intensifying the corrosive environment.

The worst-case scenario often occurs during shut-in conditions, when flowback fluids stagnate and remain in prolonged contact with the injection tubing, increasing the likelihood of corrosion damage.

In this article, we will focus on the second scenario—the corrosion behavior resulting from exposure to the flowback fluid in CO₂ injection environments. A sample formation water analysis has been provided for this study, as shown in the table above.

Details needed before setting up a simulation case for CO₂ Injection

For this example, a few additional details need to be considered when setting up the simulation cases. The goal is to evaluate how different materials perform under realistic CO₂ injection shut-in conditions, where the risk of corrosion is often greatest.

Operating Conditions: Temperature and Pressure

The specific parameters used in this study are as follows:

Table 2. Operating temperature and pressure for this study

Parameter Shut-In Case
Pressure (psia) 2,600
Temperature (°C) 55

Using the software, we can reproduce the flowback fluid chemistry at these conditions and then test the performance of several candidate alloys to determine which material offers the best corrosion resistance.

Alloys to Evaluate

The alloys selected for comparison in this example are: 
13Cr, S13Cr, S15Cr, S17Cr, 22Cr, and 25Cr.

Phases to Consider

All simulations were carried out using OLI’s Mixed Solvent Electrolyte (MSE) thermodynamic model, which accurately represents the chemistry of multi-component CO₂–brine systems. The following phases need to be activated for the calculations:

  • Vapor (Va) — representing the CO₂-rich gas phase.
  • Acid-rich phase (Liq1) — containing condensed acidic components.
  • Dense phase (Liq2) — modeling supercritical CO₂ that behaves like a liquid.
  • Solid phase (So) — to account for potential precipitation or scale formation.

Oxidation States to Consider (Reduction-Oxidation Reactions)

Because impurities such as NOₓ and SOₓ can significantly influence corrosion chemistry, it’s important to include their different possible oxidation states in the model setup. This ensures the correct chemical species are represented during simulation.

The recommended oxidation states to include are:

  • Sulfur: S(–2), S(0), S(+4), and S(+6)
  • Nitrogen: N(-3), N(+2), N(+4), and N(+5)

These correspond to specific chemical species generated during reduction-oxidation reactions, as shown below:

Table 3. Oxidation states to include for the CO₂ injectate stream

Oxidation State Representative Component
S(–2) H₂S
S(0) S₈
S(+4) SO₂
S(+6) SO₄²⁻, HSO₄⁻, H₂SO₄
N(-3) NH₄⁺, NH₃, NH₄HSO₄, (NH₄)₂SO₄·NH₄HSO₄, NH₄HSO₄·H₂SO₄
N(+2) NO
N(+4) NO₂
N(+5) HNO₃

Tracking these oxidation states allows us to understand which species are present and how they participate in redox reactions that influence corrosion behavior.

 

Setting Up the Case in OLI Studio: Corrosion Analyzer

There are three high-level configuration steps that need to be followed to properly simulate the backflow fluid.

  1. Create the CO₂ injectate stream with its specified composition.
  2. Enter the formation water analysis to represent the formation brine chemistry.
  3. Define the mixing conditions at bottomhole conditions to reproduce the flowback fluid.

We’ll begin by specifying the CO₂ injectate, which in this example represents a post-combustion CO₂ source used as an input stream.

Procedure

CO₂ Injectate Stream Configuration

  1. Open OLI Studio and add a Stream.
  2. Rename it: CO2 Injectate Postcombustion
  3. Adjust units:
    • Go to the Units Manager .
    • Under Stream, select Metric | Batch | Mole.
    • Click on the customize button 
    • Go to the parameters tab and change Pressure units to psia and Temperature to °C.
    • Click OK (twice)
  4. Enter the CO₂ injectate composition shown above in Table 1.

Note: We will enter the inflows in moles and specify a total of 1 million moles of CO₂. This allows us to input the composition of the other impurities to represent ppm (moles), where CO₂ is the solvent.

Figure 1. CO₂ Injectate Stream Definition

  1. Under Chemistry → Model Options → Redox:
  • Select Include Redox Chemistry.
  • Expand sulfur, and enable sulfur redox states S(-2), S(0), S(+4), S(+6).
  • Expand nitrogen, and enable nitrogen redox states N(-3), N(+2), N(+4), N(+5).
  • Under Phases, enable Second Liquid (Liq2) to account for dense, liquid-like CO₂.
  • Click OK

Note: Redox should be enabled only for the initial CO₂-rich stream, since oxidation-reduction reactions are expected for the nitrogen- and sulfur-containing species. This will influence the calculated speciation and pH.

  1. Add a single point calculation and select an isothermal calculation
  2. Run the Single-Point Isothermal Calculation.
  3. Rename it: CO2 Injectate – Redox ON
  4. Right-click the completed single point calculation → Add as Stream → Select All Phases and then click OK
  5. With the exported stream selected, turn off Redox and run another Single-Point Isothermal Calculation.
  6. Rename the isothermal calculation “CO2 Injectate RedOx OFF”. We will be using it  for the mixing step.
  7. Review the results summary.

Shape

Water Analysis Configuration

This section sets up the formation water to simulate the brine composition with which the injected CO₂ mixes.

  1. Click on Streams on the navigator panel.
  2. Add a new Water Analysis .
  3. Rename it to Formation Water.
  4. Disable Redox, Liquid-2, and Solids phases.
  5. Ensure that only the MSE database is selected.
  6. Enter the following information:

Recorded Properties

Table 4. Recorded Properties for the Water Analysis

Property Value
Total Dissolved Solids 25,700 mg/L
Measured pH 6.98
Measured Alkalinity 1,260 mg HCO₃⁻/L
Density 1.017 g/mL

 

Water Composition

Table 5. Water Analysis Composition

Type Species Value (mg/L)
Neutrals B(OH)₃ 622.39
Cations Na⁺ 9,140
  K⁺ 100
  Ca²⁺ 221
  Mg²⁺ 30.6
  Sr²⁺ 16.9
  Ba²⁺ 0.33
  Fe²⁺ 0.36
Anions Cl⁻ 13,000
  SO₄²⁻ 1,500
  HCO₃⁻ 1,260
  Br⁻ 66.1

For Br- you need to manually enter the species in the Anions section.

Your screen should look like this: 

A screenshot of a calculator

AI-generated content may be incorrect.

Figure 2. Water Analysis Configuration in OLI Studio

The next step is to reconcile the water analysis:

Reconciliation

  1. Click on the Add Reconciliation button
  2. Rename it Reconciled FW.
  3. Select No Reconcile and toggle Calculate Alkalinity.
  4. Run the calculation.

 

The software then successfully calculates the properties of the formation brine.

Shape

Mixer Setup – Reproducing Flowback Fluid

To simulate the flowback fluid at bottomhole conditions:

  1. Click on Streams on the Navigator Panel and Add a Mixer.
  2. Rename it Flowback fluid reconstruction
  3. Select the following streams (add them to the right side on the selected field):
    • CO2 Injectate - Redox OFF
    • Reconciled FW
  4. For the Multiplier variable, change the default values from 1:1 to 2.5e-5:1 multiplier.
    • Note: The 2.5e-5:1 multiplier value had been previously calculated to guarantee a 1:1 mass ratio between the streams, but users should ensure that the correct mass or volume ratios are applied to accurately represent the actual mixing conditions occurring at bottomhole conditions.
    • To check if you have a 1:1 mass ratio, go to the report and check the Inlets Summary table. Check that the mass ratio is approximately 1:1

Table 6: Mass of the two streams in the Mixer calculation

 

  1. Set the following mixing conditions:
  • Temperature = 55 °C
  • Pressure = 2,600 psia (you need to change the units for pressure here)
  1. Make sure to select the Single Point Mix option and Isothermal as the type of calculation
  2. Your screen should look like this: 

Figure 3. Mixer configuration

  1. Run the calculation.

The resulting pH ≈ 4.04, representing the corrosive flowback fluid at shut-in conditions.

Shape

Corrosion Analysis

Once the calculation of the flowback fluid properties is performed, the next step is to determine the corrosion rates for each alloy using the mixed stream as input.

  1. Right click on the Flowback Fluid Reconstruction Mixer and select Add as stream (Select All Phases).
  2. Rename the new stream to Flowback Fluid for Corrosion Rates.
  3. Add a Corrosion Rate Calculation. 
  4. Change the calculation name to S13Cr.
  5. Leave all the default calculation parameters:
    1. Isothermal
    2. Static flow
    3. Do not check sulfur as a corrosive solid
  6. Go to the Contact Surface section and select Super13Cr stainless steel – use the drop-down arrow
  7. Make sure you are using the MSE framework if the alloy exists in MSE; otherwise, please see Step 10 below for information on switching to the AQ thermodynamic framework.

Notes:

  • Alloys available in MSE in v12.5: 2507, 2205, S13Cr, S15Cr, S17Cr, 316 SS, and 625.
  • Ensure Redox is enabled for the contact surface metal (Fe) only – if other elements are selected, please make sure they are unticked.
  • Run the calculation.
    • Note: if the Calculate button is yellow, the software displays a warning message, but the calculation can still proceed.
  1. Add new corrosion rate calculations for each of the other alloys of interest. For 13Cr, which is not in the MSE framework yet, export the Flowback Fluid Reconstruction mixer stream once more and change the thermodynamic framework to AQ.
  2. When changing to AQ, you might see errors such as: 
    • S1 is not a valid Chemical.
    • S2 is not a valid Chemical.
    • S3 is not a valid Chemical.
    • S4 is not a valid Chemical.
    • S5 is not a valid Chemical.
    • S6 is not a valid Chemical.
    • S7 is not a valid Chemical.
    • SCO2 is not a valid Chemical.

 

At the exported stream level, remove all the flagged species starting from S2 all the way to SCO2. Change S1 to S8.

  • Add a corrosion rate calculation for 13Cr.

The tree of calculations should look like the following: 

A screenshot of a computer

AI-generated content may be incorrect.

Figure 4. Calculation tree

Shape

Data Analysis

After running the corrosion calculations for each alloy, the software will generate results displayed across several tabs. For this exercise, we will focus on two key tabs: the General Corrosion Rate tab and the Localized Corrosion tab.

Figure 5. OLI Studio: Corrosion Analyzer calculation tabs

We will gather the data for each alloy and compare their performance under the same environmental conditions.

For General Corrosion, we will record the corrosion rate in millimeters per year (mm/year).

For Localized Corrosion, we will compare two key potentials:

  • Corrosion potential (E_corr)
  • Repassivation potential (E_rep)

If E_corr > E_rep, localized corrosion is predicted to occur. 
If E_rep > E_corr, the alloy is expected to remain passive and resist localized attack.

A summary of the results is shown below:

Table 7. Predicted General Corrosion Rate Values and Predicted Propensity for Localized Corrosion by Alloy

Alloy General Corrosion Rate (mm/year) Localized Corrosion
13Cr 0.0109174 No
S13Cr 2.19994e-3 No
S15Cr 1.32417e-3 No
S17Cr 9.91131e-4 No
22Cr 2.86221e-4 No
25Cr 2.77896e-4 No

 

It is also important to note that the calculated fugacity (or effective pressure) of CO2 is 1231.4 psia.

 

Conclusion

general corrosion rate of around 0.01 mm/year for a CRA is typically considered moderate, as it may begin to compromise the stability of the passive film.

Based on this analysis, the results indicate that 13Cr would not be suitable for CO₂ injection service due to its moderate corrosion rate. However, these conditions do not appear to pose a significant risk for localized corrosion attack.

Alloys such as S13Cr or higher are expected to demonstrate excellent corrosion resistance and are likely to be preferred for this case.

To run the calculations, please download the attached case file.

 

Additional Resources

For more information on modeling carbon capture, transportation, and storage processes in OLI, please refer to the following Support Center articles:

Was this article helpful?
6 out of 6 found this helpful