Class CO2CorrosionMaterialSelection
java.lang.Object
neqsim.process.corrosion.CO2CorrosionMaterialSelection
- All Implemented Interfaces:
Serializable
CRA (Corrosion Resistant Alloy) material selection for CO2-containing service.
Determines when carbon steel with inhibition or corrosion allowance is insufficient, and recommends the appropriate CRA grade. Uses empirical temperature and chloride limits from NORSOK M-001, EFC 17, and vendor qualification data.
Material Hierarchy
- Carbon steel + corrosion allowance + inhibition (cheapest, most common)
- 13Cr martensitic (low CO2, low Cl⁻, no H2S)
- 22Cr duplex (moderate CO2, moderate Cl⁻, mild sour)
- 25Cr super duplex (high CO2, high Cl⁻, moderate sour)
- Nickel alloy (severe sour + high Cl⁻ + high T)
Standards
| Standard | Scope |
|---|---|
| NORSOK M-001 | Material selection framework |
| EFC 17 | CRA guidelines for CO2/H2S service |
| ISO 15156-3 | CRA limits in sour service |
| DNV-RP-F112 | Duplex SS in subsea production systems |
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionMaterial alternatives (ranked by cost).private booleanWhether carbon steel with inhibition is viable.private doubleChloride concentration in mg/L.private doubleCO2 corrosion rate (uninhibited) in mm/yr.private doubleCO2 partial pressure in bar.private doubleRequired corrosion allowance for CS option (mm).private doubleDesign life in years.private booleanEvaluated flag.private doubleH2S partial pressure in bar.private booleanWhether continuous inhibition is feasible.private doubleInhibitor availability factor (0-1).private doubleIn-situ pH.private doubleMaximum allowable corrosion allowance in mm.Notes.private doubleApproximate relative cost factor (CS=1.0).private StringSelected material grade.private StringSelection rationale.private static final longSerialization version UID.private doubleTemperature in degrees Celsius. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidevaluate()Performs material selection.private voidChecks if carbon steel with inhibition is viable.Gets alternatives.doubleGets carbon steel corrosion allowance.getNotes()Gets notes.doubleGets relative cost factor (CS = 1.0).Gets selected material.Gets selection rationale.booleanChecks if carbon steel is viable.private voidSelects the appropriate CRA grade.voidsetChlorideConcentrationMgL(double mgL) Sets chloride concentration.voidsetCO2CorrosionRateMmyr(double mmyr) Sets CO2 corrosion rate (uninhibited).voidsetCO2PartialPressureBar(double bar) Sets CO2 partial pressure.voidsetDesignLifeYears(double years) Sets design life.voidsetH2SPartialPressureBar(double bar) Sets H2S partial pressure.voidsetInhibitionFeasible(boolean feasible) Sets whether continuous inhibition is feasible.voidsetInhibitorAvailability(double factor) Sets inhibitor availability factor.voidsetInSituPH(double pH) Sets in-situ pH.voidsetTemperatureC(double tempC) Sets temperature.toJson()Converts results to JSON string.toMap()Converts results to a map.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
co2PartialPressureBar
private double co2PartialPressureBarCO2 partial pressure in bar. -
h2sPartialPressureBar
private double h2sPartialPressureBarH2S partial pressure in bar. -
temperatureC
private double temperatureCTemperature in degrees Celsius. -
chlorideConcentrationMgL
private double chlorideConcentrationMgLChloride concentration in mg/L. -
co2CorrosionRateMmyr
private double co2CorrosionRateMmyrCO2 corrosion rate (uninhibited) in mm/yr. -
inhibitorAvailability
private double inhibitorAvailabilityInhibitor availability factor (0-1). -
designLifeYears
private double designLifeYearsDesign life in years. -
maxCorrosionAllowanceMm
private double maxCorrosionAllowanceMmMaximum allowable corrosion allowance in mm. -
inhibitionFeasible
private boolean inhibitionFeasibleWhether continuous inhibition is feasible. -
inSituPH
private double inSituPHIn-situ pH. -
selectedMaterial
Selected material grade. -
alternatives
-
selectionRationale
Selection rationale. -
csCorrosionAllowanceMm
private double csCorrosionAllowanceMmRequired corrosion allowance for CS option (mm). -
carbonSteelViable
private boolean carbonSteelViableWhether carbon steel with inhibition is viable. -
relativeCostFactor
private double relativeCostFactorApproximate relative cost factor (CS=1.0). -
notes
-
evaluated
private boolean evaluatedEvaluated flag.
-
-
Constructor Details
-
CO2CorrosionMaterialSelection
public CO2CorrosionMaterialSelection()Default constructor.
-
-
Method Details
-
setCO2PartialPressureBar
public void setCO2PartialPressureBar(double bar) Sets CO2 partial pressure.- Parameters:
bar- CO2 partial pressure in bar
-
setH2SPartialPressureBar
public void setH2SPartialPressureBar(double bar) Sets H2S partial pressure.- Parameters:
bar- H2S partial pressure in bar
-
setTemperatureC
public void setTemperatureC(double tempC) Sets temperature.- Parameters:
tempC- temperature in degrees Celsius
-
setChlorideConcentrationMgL
public void setChlorideConcentrationMgL(double mgL) Sets chloride concentration.- Parameters:
mgL- chloride in mg/L
-
setCO2CorrosionRateMmyr
public void setCO2CorrosionRateMmyr(double mmyr) Sets CO2 corrosion rate (uninhibited).- Parameters:
mmyr- corrosion rate in mm/yr
-
setInhibitorAvailability
public void setInhibitorAvailability(double factor) Sets inhibitor availability factor.- Parameters:
factor- availability factor 0-1 (0.95 = 95%)
-
setDesignLifeYears
public void setDesignLifeYears(double years) Sets design life.- Parameters:
years- design life in years
-
setInhibitionFeasible
public void setInhibitionFeasible(boolean feasible) Sets whether continuous inhibition is feasible.- Parameters:
feasible- true if inhibition is feasible
-
setInSituPH
public void setInSituPH(double pH) Sets in-situ pH.- Parameters:
pH- in-situ pH value
-
evaluate
public void evaluate()Performs material selection. -
evaluateCarbonSteelViability
private void evaluateCarbonSteelViability()Checks if carbon steel with inhibition is viable. -
selectCRAGrade
private void selectCRAGrade()Selects the appropriate CRA grade. -
getSelectedMaterial
-
getAlternatives
-
getSelectionRationale
-
getCsCorrosionAllowanceMm
public double getCsCorrosionAllowanceMm()Gets carbon steel corrosion allowance.- Returns:
- corrosion allowance in mm
-
isCarbonSteelViable
public boolean isCarbonSteelViable()Checks if carbon steel is viable.- Returns:
- true if CS is viable
-
getRelativeCostFactor
public double getRelativeCostFactor()Gets relative cost factor (CS = 1.0).- Returns:
- cost multiplier
-
getNotes
-
toMap
-
toJson
-