Class DensePhaseCO2Corrosion

java.lang.Object
neqsim.process.corrosion.DensePhaseCO2Corrosion
All Implemented Interfaces:
Serializable

public class DensePhaseCO2Corrosion extends Object implements Serializable
Dense-phase CO2 corrosion assessment for CCS transport pipelines.

Evaluates corrosion risk in dense-phase CO2 transport systems where impurities (H2O, O2, SO2, NOx, H2S) significantly affect phase behavior and corrosion mechanisms. In dry dense-phase CO2, corrosion is negligible — but free water formation from impurity interactions can cause severe attack.

Standards

Standards for dense-phase CO2 corrosion
Standard Scope
DNV-RP-J202 Design and operation of CO2 pipelines
ISO 27913 CO2 capture, transportation, and geological storage — pipelines
DNV-RP-F104 Design of carbon steel pipelines for CCS
ASME B31.4 Pipeline transportation — supercritical CO2
Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version UID.
      See Also:
    • temperatureC

      private double temperatureC
      Temperature in Celsius.
    • pressureBara

      private double pressureBara
      Pressure in bara.
    • co2PurityMolPct

      private double co2PurityMolPct
      CO2 purity in mol%.
    • waterContentPpmv

      private double waterContentPpmv
      Water content in ppmv.
    • o2ContentPpmv

      private double o2ContentPpmv
      O2 content in ppmv.
    • so2ContentPpmv

      private double so2ContentPpmv
      SO2 content in ppmv.
    • noxContentPpmv

      private double noxContentPpmv
      NOx content in ppmv.
    • h2sContentPpmv

      private double h2sContentPpmv
      H2S content in ppmv.
    • h2ContentMolPct

      private double h2ContentMolPct
      H2 content in mol%.
    • n2ContentMolPct

      private double n2ContentMolPct
      N2 content in mol%.
    • arContentMolPct

      private double arContentMolPct
      Ar content in mol%.
    • materialType

      private String materialType
      Pipeline material.
    • fluid

      private transient SystemInterface fluid
      NeqSim fluid for property calculations.
    • freeWaterRisk

      private boolean freeWaterRisk
      Whether free water can form.
    • waterSolubilityLimitPpmv

      private double waterSolubilityLimitPpmv
      Water solubility limit in dense CO2 at conditions (ppmv).
    • waterMarginPpmv

      private double waterMarginPpmv
      Safety margin above water solubility (ppmv).
    • riskLevel

      private String riskLevel
      Corrosion risk level.
    • wetCorrosionRateMmYr

      private double wetCorrosionRateMmYr
      Estimated corrosion rate if free water forms (mm/yr).
    • meetsImpuritySpecs

      private boolean meetsImpuritySpecs
      Whether impurity levels meet typical CCS pipeline specs.
    • impurityIssues

      private List<String> impurityIssues
      Impurity specification issues.
    • recommendation

      private String recommendation
      Overall recommendation.
    • co2PhaseState

      private String co2PhaseState
      Phase state of CO2 at conditions.
    • notes

      private List<String> notes
      Notes.
    • evaluated

      private boolean evaluated
      Evaluated flag.
  • Constructor Details

    • DensePhaseCO2Corrosion

      public DensePhaseCO2Corrosion()
      Default constructor.
  • Method Details

    • setTemperatureC

      public void setTemperatureC(double tempC)
      Sets temperature.
      Parameters:
      tempC - temperature in Celsius
    • setPressureBara

      public void setPressureBara(double bara)
      Sets pressure.
      Parameters:
      bara - pressure in bara
    • setCo2PurityMolPct

      public void setCo2PurityMolPct(double molPct)
      Sets CO2 purity.
      Parameters:
      molPct - CO2 purity in mol%
    • setWaterContentPpmv

      public void setWaterContentPpmv(double ppmv)
      Sets water content.
      Parameters:
      ppmv - water in ppmv
    • setO2ContentPpmv

      public void setO2ContentPpmv(double ppmv)
      Sets O2 content.
      Parameters:
      ppmv - O2 in ppmv
    • setSo2ContentPpmv

      public void setSo2ContentPpmv(double ppmv)
      Sets SO2 content.
      Parameters:
      ppmv - SO2 in ppmv
    • setNoxContentPpmv

      public void setNoxContentPpmv(double ppmv)
      Sets NOx content.
      Parameters:
      ppmv - NOx in ppmv
    • setH2sContentPpmv

      public void setH2sContentPpmv(double ppmv)
      Sets H2S content.
      Parameters:
      ppmv - H2S in ppmv
    • setH2ContentMolPct

      public void setH2ContentMolPct(double molPct)
      Sets H2 content.
      Parameters:
      molPct - H2 in mol%
    • setN2ContentMolPct

      public void setN2ContentMolPct(double molPct)
      Sets N2 content.
      Parameters:
      molPct - N2 in mol%
    • setArContentMolPct

      public void setArContentMolPct(double molPct)
      Sets Ar content.
      Parameters:
      molPct - Ar in mol%
    • setMaterialType

      public void setMaterialType(String type)
      Sets material type.
      Parameters:
      type - material type string
    • setFluid

      public void setFluid(SystemInterface system)
      Sets NeqSim fluid for water solubility calculations.
      Parameters:
      system - the NeqSim fluid system
    • evaluate

      public void evaluate()
      Performs dense-phase CO2 corrosion assessment.
    • determineCO2Phase

      private void determineCO2Phase()
      Determines CO2 phase state.
    • estimateWaterSolubility

      private void estimateWaterSolubility()
      Estimates water solubility limit in dense CO2.
    • checkImpuritySpecs

      private void checkImpuritySpecs()
      Checks impurity levels against typical CCS pipeline specifications.
    • assessCorrosionRisk

      private void assessCorrosionRisk()
      Assesses overall corrosion risk.
    • generateRecommendation

      private void generateRecommendation()
      Generates overall recommendation.
    • isFreeWaterRisk

      public boolean isFreeWaterRisk()
      Checks if free water can form.
      Returns:
      true if free water risk exists
    • getWaterSolubilityLimitPpmv

      public double getWaterSolubilityLimitPpmv()
      Gets water solubility limit.
      Returns:
      limit in ppmv
    • getWaterMarginPpmv

      public double getWaterMarginPpmv()
      Gets water margin.
      Returns:
      margin in ppmv (negative = exceeded)
    • getRiskLevel

      public String getRiskLevel()
      Gets corrosion risk level.
      Returns:
      risk level string
    • getWetCorrosionRateMmYr

      public double getWetCorrosionRateMmYr()
      Gets wet corrosion rate.
      Returns:
      rate in mm/yr
    • isMeetsImpuritySpecs

      public boolean isMeetsImpuritySpecs()
      Checks if impurity specs are met.
      Returns:
      true if all within limits
    • getImpurityIssues

      public List<String> getImpurityIssues()
      Gets impurity issues.
      Returns:
      list of issues
    • getRecommendation

      public String getRecommendation()
      Gets recommendation.
      Returns:
      recommendation string
    • getCo2PhaseState

      public String getCo2PhaseState()
      Gets CO2 phase state.
      Returns:
      phase state string
    • getNotes

      public List<String> getNotes()
      Gets notes.
      Returns:
      list of notes
    • toMap

      public Map<String,Object> toMap()
      Converts results to a map.
      Returns:
      ordered map of results
    • toJson

      public String toJson()
      Converts results to JSON string.
      Returns:
      JSON representation