Skip to the content.

OxygenCorrosionAssessment

Package: neqsim.process.corrosion

Standards: NORSOK M-001 Rev 6, DNV-RP-B401, ISO 21457, NACE SP0499

Evaluates corrosion risk from dissolved oxygen, including pitting potential and general corrosion rate estimation. Provides treatment recommendations for oxygen removal and scavenging.

System Types

System Type O2 Target (ppb) Rationale
injection_water 20 Prevent downhole corrosion and reservoir souring
closed_loop 10 Minimize corrosion in recirculating systems
seawater 50 Chloride synergy with O2
produced_water 50 Disposal/reinjection system

Corrosion Rate Model

The model estimates general corrosion rate and pitting rate based on dissolved O2, temperature, velocity, and chloride content:

Quick Start

Java

import neqsim.process.corrosion.OxygenCorrosionAssessment;

OxygenCorrosionAssessment o2 = new OxygenCorrosionAssessment();
o2.setDissolvedO2Ppb(200.0);
o2.setTemperatureC(40.0);
o2.setChlorideMgL(20000);
o2.setVelocityMS(2.0);
o2.setMaterialType("Carbon steel");
o2.setSystemType("injection_water");
o2.setDeaerationApplied(true);
o2.setScavengerApplied(false);
o2.evaluate();

System.out.println("Risk Level: " + o2.getRiskLevel());
System.out.println("Corrosion Rate: " + o2.getCorrosionRateMmYr() + " mm/yr");
System.out.println("Pitting Rate: " + o2.getPittingRateMmYr() + " mm/yr");
System.out.println("Meets O2 Target: " + o2.isMeetsO2Target());
System.out.println("Target O2: " + o2.getTargetO2Ppb() + " ppb");
System.out.println("Treatment: " + o2.getRecommendedTreatment());

Python

from neqsim import jneqsim

O2Corrosion = jneqsim.process.corrosion.OxygenCorrosionAssessment

o2 = O2Corrosion()
o2.setDissolvedO2Ppb(200.0)
o2.setTemperatureC(40.0)
o2.setChlorideMgL(20000)
o2.setSystemType("injection_water")
o2.evaluate()

print(f"Risk: {o2.getRiskLevel()}")
print(f"Rate: {o2.getCorrosionRateMmYr():.3f} mm/yr")
print(f"Treatment: {o2.getRecommendedTreatment()}")

Input Parameters

Method Type Default Description
setDissolvedO2Ppb(double) double 0.0 Dissolved oxygen concentration (ppb)
setTemperatureC(double) double 25.0 Temperature (°C)
setChlorideMgL(double) double 0.0 Chloride concentration (mg/L)
setVelocityMS(double) double 1.0 Flow velocity (m/s)
setMaterialType(String) String “Carbon steel” Material type
setScavengerApplied(boolean) boolean false Chemical O2 scavenger in use
setDeaerationApplied(boolean) boolean false Vacuum/gas-strip deaeration in use
setSystemType(String) String “injection_water” System type for O2 target selection

Output Methods

Method Return Type Description
getRiskLevel() String “Low”, “Medium”, “High”, “Very High”
getCorrosionRateMmYr() double Estimated general corrosion rate (mm/yr)
getPittingRateMmYr() double Estimated pitting rate (mm/yr)
getPittingFactor() double Pitting factor (pitting rate / general rate)
isMeetsO2Target() boolean Whether O2 level meets system target
getTargetO2Ppb() double Target O2 for the system type (ppb)
getRecommendedTreatment() String Recommended treatment method
getNotes() List<String> Assessment notes
toMap() Map All results as a LinkedHashMap
toJson() String Complete JSON report