Class CUIRiskAssessment

java.lang.Object
neqsim.process.mechanicaldesign.designstandards.CUIRiskAssessment
All Implemented Interfaces:
Serializable

public class CUIRiskAssessment extends Object implements Serializable
Corrosion Under Insulation (CUI) risk assessment per API 581 / NORSOK M-501.

Provides temperature-based susceptibility screening, material and insulation type compatibility checks, and inspection interval recommendations following industry best practice.

CUI is one of the leading causes of unplanned shutdowns in process plants. The risk depends primarily on operating temperature, insulation type, coating system, and environment.

References:

  • API 581: Risk-Based Inspection Methodology (CUI module)
  • API 583: Corrosion Under Insulation and Fireproofing
  • NORSOK M-501: Surface preparation and protective coating
  • EFC Publication 55: CUI Guidelines
Version:
1.0
Author:
esol
See Also:
  • Field Details

    • serialVersionUID

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

    • CUIRiskAssessment

      public CUIRiskAssessment()
  • Method Details

    • assessRisk

      public static CUIRiskAssessment.CUIRisk assessRisk(double operatingTempC, boolean isStainlessSteel, CUIRiskAssessment.InsulationType insulationType, double coatingAge, boolean isMarineEnvironment)
      Assess CUI risk based on operating temperature per API 581 screening criteria.

      Carbon steel is most susceptible to CUI in the range -4 C to 175 C (25 F to 350 F). The highest risk zone is 80-120 C where aqueous corrosion and wet-dry cycling are most aggressive.

      Parameters:
      operatingTempC - operating temperature in Celsius
      isStainlessSteel - true if material is austenitic stainless steel (300-series)
      insulationType - insulation type
      coatingAge - years since last coating application
      isMarineEnvironment - true if offshore or coastal
      Returns:
      CUI risk level
    • temperatureRiskScore

      public static double temperatureRiskScore(double operatingTempC, boolean isStainlessSteel)
      Calculate temperature-based risk score per API 581 / API 583 guidance.
      Parameters:
      operatingTempC - operating temperature in Celsius
      isStainlessSteel - true if austenitic stainless steel
      Returns:
      risk score (0 = negligible, 1 = low, 3 = high, 5 = very high)
    • recommendedInspectionIntervalYears

      public static int recommendedInspectionIntervalYears(CUIRiskAssessment.CUIRisk risk)
      Recommend inspection interval based on CUI risk level.
      Parameters:
      risk - CUI risk level
      Returns:
      recommended inspection interval in years
    • recommendedInspectionMethods

      public static List<String> recommendedInspectionMethods(CUIRiskAssessment.CUIRisk risk)
      Return recommended inspection methods for CUI detection.
      Parameters:
      risk - CUI risk level
      Returns:
      list of recommended inspection technique names
    • isInsulationSuitable

      public static boolean isInsulationSuitable(CUIRiskAssessment.InsulationType insulationType, double operatingTempC)
      Check whether selected insulation type is appropriate for the operating temperature.
      Parameters:
      insulationType - insulation type
      operatingTempC - operating temperature in Celsius
      Returns:
      true if insulation type is suitable for the temperature
    • estimateRemainingLife

      public static double estimateRemainingLife(double originalThicknessMm, double currentThicknessMm, double yearsInService)
      Estimate remaining corrosion allowance based on CUI conditions.
      Parameters:
      originalThicknessMm - original wall thickness in mm
      currentThicknessMm - measured current wall thickness in mm
      yearsInService - years in service
      Returns:
      estimated remaining life in years at current corrosion rate, or Double.MAX_VALUE if no measurable thinning