Class ChlorideSCCAssessment
java.lang.Object
neqsim.process.corrosion.ChlorideSCCAssessment
- All Implemented Interfaces:
Serializable
Chloride stress corrosion cracking (Cl-SCC) assessment for austenitic and duplex stainless
steels.
Evaluates whether an alloy is susceptible to chloride-induced SCC based on temperature, chloride concentration, and material type. Each alloy family has a defined temperature-chloride envelope beyond which SCC risk is unacceptable.
Standards
| Standard | Scope |
|---|---|
| NORSOK M-001 Rev 6 | Material selection — Table A-3 temperature limits |
| ISO 15156-3 | CRA limits in sour/chloride environments |
| EFC 17 | CRA guidelines for oilfield service |
| MTI Publication 15 | SCC guidelines for SS |
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doublepH of the aqueous phase.private doubleChloride concentration in mg/L.private booleanEvaluated flag.private StringMaterial type.private doubleMaximum allowable Cl⁻ at the given temperature.private doubleMaximum allowable temperature for this alloy at the given Cl⁻.Notes.private booleanWhether dissolved oxygen is present (> 10 ppb).private StringRecommended alloy upgrade if current is insufficient.private StringRisk level.private booleanWhether SCC risk is acceptable.private static final longSerialization version UID.private doubleApplied stress as fraction of yield (0-1).private doubleTemperature in degrees Celsius.private doubleTemperature margin (positive = unsafe). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidDetermines risk level from temperature margin.voidevaluate()Performs chloride SCC assessment.private voidEvaluates 13Cr martensitic.private voidEvaluates 22Cr duplex.private voidEvaluates 25Cr super duplex.private voidEvaluates austenitic SS (304, 316L, 317L, etc.).private voidEvaluates nickel alloys — essentially immune to Cl-SCC.doubleGets max allowable chloride at current temperature.doubleGets max allowable temperature.private doublegetMaxChlorideFor13Cr(double tempC) Gets max Cl⁻ for 13Cr at given temperature.private doublegetMaxChlorideFor22Cr(double tempC) Gets max Cl⁻ for 22Cr duplex at given temperature.private doublegetMaxChlorideForAustenitic(double tempC) Gets max Cl⁻ for austenitic at given temperature.getNotes()Gets notes.Gets recommended upgrade.Gets risk level.doubleGets temperature margin (positive = unsafe).booleanChecks if SCC risk is acceptable.voidsetAqueousPH(double pH) Sets aqueous pH.voidsetChlorideConcentrationMgL(double mgL) Sets chloride concentration.voidsetMaterialType(String type) Sets material type.voidsetOxygenPresent(boolean present) Sets oxygen presence.voidsetStressRatio(double ratio) Sets applied stress ratio.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:
-
temperatureC
private double temperatureCTemperature in degrees Celsius. -
chlorideConcentrationMgL
private double chlorideConcentrationMgLChloride concentration in mg/L. -
materialType
Material type. -
stressRatio
private double stressRatioApplied stress as fraction of yield (0-1). -
oxygenPresent
private boolean oxygenPresentWhether dissolved oxygen is present (> 10 ppb). -
aqueousPH
private double aqueousPHpH of the aqueous phase. -
sccAcceptable
private boolean sccAcceptableWhether SCC risk is acceptable. -
riskLevel
Risk level. -
maxAllowableTemperatureC
private double maxAllowableTemperatureCMaximum allowable temperature for this alloy at the given Cl⁻. -
maxAllowableChlorideMgL
private double maxAllowableChlorideMgLMaximum allowable Cl⁻ at the given temperature. -
temperatureMarginC
private double temperatureMarginCTemperature margin (positive = unsafe). -
recommendedUpgrade
Recommended alloy upgrade if current is insufficient. -
notes
-
evaluated
private boolean evaluatedEvaluated flag.
-
-
Constructor Details
-
ChlorideSCCAssessment
public ChlorideSCCAssessment()Default constructor.
-
-
Method Details
-
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
-
setMaterialType
Sets material type.- Parameters:
type- material type (e.g., "316L", "304", "22Cr duplex", "25Cr super duplex", "Alloy 625")
-
setStressRatio
public void setStressRatio(double ratio) Sets applied stress ratio.- Parameters:
ratio- stress as fraction of yield (0-1)
-
setOxygenPresent
public void setOxygenPresent(boolean present) Sets oxygen presence.- Parameters:
present- true if dissolved O2 is present (> 10 ppb)
-
setAqueousPH
public void setAqueousPH(double pH) Sets aqueous pH.- Parameters:
pH- pH value
-
evaluate
public void evaluate()Performs chloride SCC assessment. -
evaluateAustenitic
private void evaluateAustenitic()Evaluates austenitic SS (304, 316L, 317L, etc.). -
evaluate13Cr
private void evaluate13Cr()Evaluates 13Cr martensitic. -
evaluate22CrDuplex
private void evaluate22CrDuplex()Evaluates 22Cr duplex. -
evaluate25CrSuperDuplex
private void evaluate25CrSuperDuplex()Evaluates 25Cr super duplex. -
evaluateNickelAlloy
private void evaluateNickelAlloy()Evaluates nickel alloys — essentially immune to Cl-SCC. -
determineRisk
private void determineRisk()Determines risk level from temperature margin. -
getMaxChlorideForAustenitic
private double getMaxChlorideForAustenitic(double tempC) Gets max Cl⁻ for austenitic at given temperature.- Parameters:
tempC- temperature in Celsius- Returns:
- max chloride in mg/L
-
getMaxChlorideFor13Cr
private double getMaxChlorideFor13Cr(double tempC) Gets max Cl⁻ for 13Cr at given temperature.- Parameters:
tempC- temperature in Celsius- Returns:
- max chloride in mg/L
-
getMaxChlorideFor22Cr
private double getMaxChlorideFor22Cr(double tempC) Gets max Cl⁻ for 22Cr duplex at given temperature.- Parameters:
tempC- temperature in Celsius- Returns:
- max chloride in mg/L
-
isSCCAcceptable
public boolean isSCCAcceptable()Checks if SCC risk is acceptable.- Returns:
- true if acceptable
-
getRiskLevel
-
getMaxAllowableTemperatureC
public double getMaxAllowableTemperatureC()Gets max allowable temperature.- Returns:
- max temperature in Celsius
-
getMaxAllowableChlorideMgL
public double getMaxAllowableChlorideMgL()Gets max allowable chloride at current temperature.- Returns:
- max chloride in mg/L
-
getTemperatureMarginC
public double getTemperatureMarginC()Gets temperature margin (positive = unsafe).- Returns:
- margin in Celsius
-
getRecommendedUpgrade
-
getNotes
-
toMap
-
toJson
-