Class CompressorCasingDesignCalculator

java.lang.Object
neqsim.process.mechanicaldesign.compressor.CompressorCasingDesignCalculator
All Implemented Interfaces:
Serializable

public class CompressorCasingDesignCalculator extends Object implements Serializable
Calculator for compressor casing mechanical design per API 617 and ASME Section VIII.

Performs detailed casing mechanical analysis including:

  • Casing wall thickness per ASME Section VIII Div. 1 (UG-27 cylindrical shell formula)
  • Material selection with SMYS/SMTS/allowable stress per ASME II Part D
  • Nozzle load analysis per API 617 Table 3
  • Flange rating verification per ASME B16.5 and B16.47
  • Hydrostatic test pressure per ASME VIII UG-99
  • Corrosion allowance integration
  • NACE MR0175/ISO 15156 material compliance checks
  • Thermal growth and differential expansion analysis
  • Split-line bolt sizing for horizontally-split casings
  • Barrel casing inner/outer barrel sizing

Standards implemented:

  • API 617 8th Ed. - Axial and Centrifugal Compressors
  • ASME Section VIII Div. 1 - Pressure Vessels (UG-27, UG-99)
  • ASME B16.5 - Pipe Flanges and Flanged Fittings (NPS 1/2 to 24)
  • ASME B16.47 - Large Diameter Steel Flanges (NPS 26 to 60)
  • NACE MR0175/ISO 15156 - Materials for Sour Service
  • ASME II Part D - Material Properties
  • ISO 20816-3 - Vibration Limits for Compressors
Version:
1.0
Author:
NeqSim Development Team
See Also:
  • Field Details

    • serialVersionUID

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

      private double designPressureMPa
      Design pressure [MPa].
    • designTemperatureC

      private double designTemperatureC
      Design temperature [C].
    • maxOperatingPressureMPa

      private double maxOperatingPressureMPa
      Maximum operating pressure [MPa].
    • maxOperatingTemperatureC

      private double maxOperatingTemperatureC
      Maximum operating temperature [C].
    • minOperatingTemperatureC

      private double minOperatingTemperatureC
      Minimum operating temperature [C].
    • ambientTemperatureC

      private double ambientTemperatureC
      Ambient temperature [C].
    • casingInnerDiameterMm

      private double casingInnerDiameterMm
      Casing inner diameter [mm].
    • casingLengthMm

      private double casingLengthMm
      Casing length (bearing span based) [mm].
    • numberOfStages

      private int numberOfStages
      Number of impeller stages in casing.
    • materialGrade

      private String materialGrade
      Material grade for casing.
    • corrosionAllowanceMm

      private double corrosionAllowanceMm
      Corrosion allowance [mm].
    • jointEfficiency

      private double jointEfficiency
      Weld joint efficiency per ASME VIII UW-12.
    • casingType

      Casing type.
    • sourService

      private boolean sourService
      Whether H2S sour service (NACE MR0175).
    • h2sPartialPressureKPa

      private double h2sPartialPressureKPa
      Maximum H2S partial pressure [kPa].
    • suctionNozzleSizeMm

      private double suctionNozzleSizeMm
      Suction nozzle size [mm NPS].
    • dischargeNozzleSizeMm

      private double dischargeNozzleSizeMm
      Discharge nozzle size [mm NPS].
    • shaftPowerKW

      private double shaftPowerKW
      Shaft power [kW] - for nozzle load estimation.
    • operatingSpeedRPM

      private double operatingSpeedRPM
      Operating speed [rpm].
    • impellerDiameterMm

      private double impellerDiameterMm
      Impeller diameter [mm].
    • smysMPa

      private double smysMPa
      Specified Minimum Yield Strength [MPa].
    • smtsMPa

      private double smtsMPa
      Specified Minimum Tensile Strength [MPa].
    • allowableStressMPa

      private double allowableStressMPa
      Allowable stress at design temperature [MPa].
    • materialDensity

      private double materialDensity
      Material density [kg/m3].
    • thermalExpansionCoeff

      private double thermalExpansionCoeff
      Coefficient of thermal expansion [1/C].
    • elasticModulusGPa

      private double elasticModulusGPa
      Elastic modulus [GPa].
    • materialIsNaceCompliant

      private boolean materialIsNaceCompliant
      Whether material is NACE compliant.
    • materialType

      private String materialType
      Material type description.
    • requiredWallThicknessMm

      private double requiredWallThicknessMm
      Required wall thickness per ASME VIII UG-27 [mm] (before corrosion).
    • minimumWallThicknessMm

      private double minimumWallThicknessMm
      Minimum wall thickness including corrosion allowance [mm].
    • selectedWallThicknessMm

      private double selectedWallThicknessMm
      Selected (nominal) wall thickness [mm].
    • mawpMPa

      private double mawpMPa
      Maximum Allowable Working Pressure [MPa].
    • hoopStressMPa

      private double hoopStressMPa
      Hoop stress at design conditions [MPa].
    • stressRatio

      private double stressRatio
      Stress ratio (actual/allowable).
    • hydroTestPressureMPa

      private double hydroTestPressureMPa
      Hydrostatic test pressure [MPa].
    • hydroTestFactor

      private double hydroTestFactor
      Hydrostatic test factor per ASME VIII UG-99.
    • hydroTestStressMPa

      private double hydroTestStressMPa
      Stress during hydro test [MPa].
    • hydroTestAcceptable

      private boolean hydroTestAcceptable
      Whether hydro test stress is acceptable.
    • flangeClass

      private int flangeClass
      Selected flange class per ASME B16.5.
    • flangeRatingBarg

      private double flangeRatingBarg
      Flange class pressure rating [barg].
    • flangeRatingAdequate

      private boolean flangeRatingAdequate
      Whether flange rating is adequate.
    • flangeStandard

      private String flangeStandard
      Flange standard used (B16.5 or B16.47).
    • suctionNozzleAllowableForceN

      private double suctionNozzleAllowableForceN
      Allowable suction nozzle force [N].
    • suctionNozzleAllowableMomentNm

      private double suctionNozzleAllowableMomentNm
      Allowable suction nozzle moment [Nm].
    • dischargeNozzleAllowableForceN

      private double dischargeNozzleAllowableForceN
      Allowable discharge nozzle force [N].
    • dischargeNozzleAllowableMomentNm

      private double dischargeNozzleAllowableMomentNm
      Allowable discharge nozzle moment [Nm].
    • nozzleLoadFactor

      private double nozzleLoadFactor
      Nozzle load amplification factor per API 617.
    • casingAxialGrowthMm

      private double casingAxialGrowthMm
      Casing axial thermal growth [mm].
    • casingRadialGrowthMm

      private double casingRadialGrowthMm
      Casing radial thermal growth [mm].
    • rotorAxialGrowthMm

      private double rotorAxialGrowthMm
      Rotor axial thermal growth [mm].
    • differentialExpansionMm

      private double differentialExpansionMm
      Differential expansion (casing - rotor) [mm].
    • thermalGrowthAcceptable

      private boolean thermalGrowthAcceptable
      Whether differential expansion is acceptable.
    • splitLineBoltCount

      private int splitLineBoltCount
      Required number of split-line bolts.
    • splitLineBoltDiameterMm

      private double splitLineBoltDiameterMm
      Split-line bolt diameter [mm].
    • splitLineBoltPitchMm

      private double splitLineBoltPitchMm
      Split-line bolt pitch [mm].
    • boltTensileStressMPa

      private double boltTensileStressMPa
      Bolt tensile stress [MPa].
    • boltAllowableStressMPa

      private double boltAllowableStressMPa
      Bolt allowable stress [MPa].
    • boltPreloadForceN

      private double boltPreloadForceN
      Bolt preload force per bolt [N].
    • totalGasketLoadN

      private double totalGasketLoadN
      Total gasket load [N].
    • splitLineBoltsAdequate

      private boolean splitLineBoltsAdequate
      Whether split-line bolt design is adequate.
    • barrelOuterIDMm

      private double barrelOuterIDMm
      Barrel outer shell inner diameter [mm].
    • barrelOuterODMm

      private double barrelOuterODMm
      Barrel outer shell outer diameter [mm].
    • barrelOuterWallThicknessMm

      private double barrelOuterWallThicknessMm
      Barrel outer shell wall thickness [mm].
    • barrelInnerBundleODMm

      private double barrelInnerBundleODMm
      Barrel inner bundle outer diameter [mm].
    • barrelEndCoverBoltDiameterMm

      private double barrelEndCoverBoltDiameterMm
      Barrel end-cover bolt diameter [mm].
    • barrelEndCoverBoltCount

      private int barrelEndCoverBoltCount
      Barrel end-cover bolt count.
    • barrelEndCoverThicknessMm

      private double barrelEndCoverThicknessMm
      Barrel end-cover thickness [mm].
    • naceComplianceStatus

      private String naceComplianceStatus
      NACE compliance result: COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE.
    • naceRegion

      private String naceRegion
      NACE sour service region classification.
    • naceMaxHardnessHRC

      private double naceMaxHardnessHRC
      Maximum hardness allowed [HRC] per NACE.
    • naceIssues

      private List<String> naceIssues
      List of NACE compliance issues.
    • appliedStandards

      private List<String> appliedStandards
      List of applied standards.
    • designIssues

      private List<String> designIssues
      List of design issues/warnings.
  • Constructor Details

    • CompressorCasingDesignCalculator

      public CompressorCasingDesignCalculator()
      Default constructor.
  • Method Details

    • calculate

      public void calculate()
      Run all casing design calculations.

      Executes the full design sequence:

      1. Update material properties from grade lookup
      2. Calculate wall thickness per ASME VIII Div. 1 UG-27
      3. Calculate MAWP
      4. Calculate hydrostatic test pressure per UG-99
      5. Verify flange rating per ASME B16.5 / B16.47
      6. Calculate nozzle allowable loads per API 617
      7. Calculate thermal growth and differential expansion
      8. If horizontally-split: calculate split-line bolt design
      9. If barrel: calculate outer/inner barrel sizing
      10. Perform NACE MR0175 compliance check
    • updateMaterialProperties

      private void updateMaterialProperties()
      Update material properties from grade lookup using built-in data tables.

      Looks up SMYS, SMTS, allowable stress, density, thermal expansion, and elastic modulus for the specified material grade from ASME II Part D data.

    • calculateWallThickness

      private void calculateWallThickness()
      Calculate required casing wall thickness per ASME Section VIII Div. 1 UG-27.

      For cylindrical shells under internal pressure:

      $t = \frac{P \times R}{S \times E - 0.6 \times P}$

      where P = design pressure, R = inner radius, S = allowable stress, E = joint efficiency.

    • roundUpToStandardThickness

      private double roundUpToStandardThickness(double thicknessMm)
      Round up wall thickness to nearest standard plate thickness.
      Parameters:
      thicknessMm - minimum required thickness in mm
      Returns:
      next standard thickness in mm
    • calculateMAWP

      private void calculateMAWP()
      Calculate Maximum Allowable Working Pressure (MAWP) per ASME VIII.

      MAWP is back-calculated from the selected wall thickness. This is the nameplate rating.

    • calculateHydroTestPressure

      private void calculateHydroTestPressure()
      Calculate hydrostatic test pressure per ASME VIII UG-99.

      For Div. 1: Test pressure = 1.3 x MAWP x (stress ratio at test temp / stress ratio at design temp).

      For API 617 compressors, minimum 1.5 x design pressure is typical.

    • selectFlangeRating

      private void selectFlangeRating()
      Select and verify flange rating per ASME B16.5 (NPS 1/2-24) or B16.47 (NPS 26-60).

      Selects the minimum flange class that exceeds the design pressure at the design temperature. Temperature derating is applied per the ASME B16.5 pressure-temperature tables.

    • calculateNozzleAllowableLoads

      private void calculateNozzleAllowableLoads()
      Calculate allowable nozzle forces and moments per API 617 Table 3.

      API 617 specifies allowable nozzle loads as a function of nozzle size. For centrifugal compressors, forces are specified for each nozzle connection (suction, discharge, sidestream).

      Simplified correlation based on API 617 8th Ed. Table 3:

      • Allowable force scales approximately with D^1.5
      • Allowable moment scales approximately with D^2.5
    • calculateThermalGrowth

      private void calculateThermalGrowth()
      Calculate thermal growth and differential expansion between casing and rotor.

      Thermal growth is critical for compressor alignment. The casing grows from the anchor point (typically drive end bearing), and the rotor grows from its thrust collar. Differential expansion affects internal clearances and must be within acceptable limits.

      $\Delta L = L \times \alpha \times (T_{operating} - T_{ambient})$

    • calculateSplitLineBolts

      private void calculateSplitLineBolts()
      Calculate split-line bolting for horizontally-split casings.

      The horizontal joint must resist the internal pressure force tending to separate the casing halves. The bolt load must overcome both the hydrostatic end force and the gasket seating load.

      The required bolt area is calculated as: $A_{bolt} = \frac{F_{pressure} + F_{gasket}}{S_{bolt} \times N}$

      where $F_{pressure} = P \times D \times L$ (force on split-line), $F_{gasket}$ = gasket seating force, $S_{bolt}$ = allowable bolt stress, N = number of bolts.

    • calculateBarrelCasing

      private void calculateBarrelCasing()
      Calculate barrel casing outer/inner barrel sizing.

      Barrel casings consist of an outer pressure-containing barrel and an inner bundle (cartridge) that slides out for maintenance. The outer barrel is typically a forged cylinder (SA-266) that avoids the split-line sealing issue at high pressures.

    • assessNaceCompliance

      private void assessNaceCompliance()
      Assess NACE MR0175/ISO 15156 compliance for sour service.

      NACE MR0175 applies when:

      • Total pressure > 0.4 MPa abs, AND
      • H2S partial pressure > 0.3 kPa (0.05 psia)

      Material requirements per NACE MR0175:

      • Carbon steel: max 22 HRC hardness, SMYS <= 360 MPa
      • Austenitic SS: generally acceptable (304L, 316L)
      • Duplex SS: acceptable with hardness limits
      • Nickel alloys: Inconel 718 acceptable per NACE
    • recommendMaterial

      public String recommendMaterial()
      Automatically select an appropriate casing material based on operating conditions.

      Selection criteria:

      • Sour service: NACE-compliant materials (316L, 304L, Inconel-718)
      • Low temperature (< -29C): SA-350-LF2 or austenitic SS
      • High temperature (> 400C): SA-182-F22 or SA-182-F91
      • High pressure (> 100 barg): SA-266-Gr4 forging or barrel casing material
      • Standard service: SA-516-70 (most common)
      Returns:
      recommended material grade string
    • toMap

      public Map<String,Object> toMap()
      Convert all results to a map for JSON serialization.
      Returns:
      map of all design results
    • toJson

      public String toJson()
      Convert results to JSON string.
      Returns:
      JSON string with all design results
    • getDesignPressureMPa

      public double getDesignPressureMPa()
      Gets the design pressure.
      Returns:
      design pressure in MPa
    • setDesignPressureMPa

      public void setDesignPressureMPa(double designPressureMPa)
      Sets the design pressure.
      Parameters:
      designPressureMPa - design pressure in MPa
    • setDesignPressureBara

      public void setDesignPressureBara(double designPressureBara)
      Sets the design pressure from bara.
      Parameters:
      designPressureBara - design pressure in bara (barg + 1)
    • getDesignTemperatureC

      public double getDesignTemperatureC()
      Gets the design temperature.
      Returns:
      design temperature in Celsius
    • setDesignTemperatureC

      public void setDesignTemperatureC(double designTemperatureC)
      Sets the design temperature.
      Parameters:
      designTemperatureC - design temperature in Celsius
    • getMaxOperatingPressureMPa

      public double getMaxOperatingPressureMPa()
      Gets the maximum operating pressure.
      Returns:
      maximum operating pressure in MPa
    • setMaxOperatingPressureMPa

      public void setMaxOperatingPressureMPa(double maxOperatingPressureMPa)
      Sets the maximum operating pressure.
      Parameters:
      maxOperatingPressureMPa - max operating pressure in MPa
    • getMaxOperatingTemperatureC

      public double getMaxOperatingTemperatureC()
      Gets the maximum operating temperature.
      Returns:
      max operating temperature in Celsius
    • setMaxOperatingTemperatureC

      public void setMaxOperatingTemperatureC(double maxOperatingTemperatureC)
      Sets the maximum operating temperature.
      Parameters:
      maxOperatingTemperatureC - max operating temperature in Celsius
    • getMinOperatingTemperatureC

      public double getMinOperatingTemperatureC()
      Gets the minimum operating temperature.
      Returns:
      min operating temperature in Celsius
    • setMinOperatingTemperatureC

      public void setMinOperatingTemperatureC(double minOperatingTemperatureC)
      Sets the minimum operating temperature.
      Parameters:
      minOperatingTemperatureC - min operating temperature in Celsius
    • getCasingInnerDiameterMm

      public double getCasingInnerDiameterMm()
      Gets the casing inner diameter.
      Returns:
      casing inner diameter in mm
    • setCasingInnerDiameterMm

      public void setCasingInnerDiameterMm(double casingInnerDiameterMm)
      Sets the casing inner diameter.
      Parameters:
      casingInnerDiameterMm - casing inner diameter in mm
    • getCasingLengthMm

      public double getCasingLengthMm()
      Gets the casing length.
      Returns:
      casing length in mm
    • setCasingLengthMm

      public void setCasingLengthMm(double casingLengthMm)
      Sets the casing length.
      Parameters:
      casingLengthMm - casing length in mm
    • getMaterialGrade

      public String getMaterialGrade()
      Gets the material grade.
      Returns:
      material grade string
    • setMaterialGrade

      public void setMaterialGrade(String materialGrade)
      Sets the material grade.
      Parameters:
      materialGrade - material grade (e.g., "SA-516-70", "SA-182-F316L")
    • getCorrosionAllowanceMm

      public double getCorrosionAllowanceMm()
      Gets the corrosion allowance.
      Returns:
      corrosion allowance in mm
    • setCorrosionAllowanceMm

      public void setCorrosionAllowanceMm(double corrosionAllowanceMm)
      Sets the corrosion allowance.
      Parameters:
      corrosionAllowanceMm - corrosion allowance in mm
    • getJointEfficiency

      public double getJointEfficiency()
      Gets the joint efficiency.
      Returns:
      weld joint efficiency per ASME VIII UW-12
    • setJointEfficiency

      public void setJointEfficiency(double jointEfficiency)
      Sets the joint efficiency.
      Parameters:
      jointEfficiency - weld joint efficiency (0.0-1.0)
    • getCasingType

      public CompressorMechanicalDesign.CasingType getCasingType()
      Gets the casing type.
      Returns:
      casing type enum
    • setCasingType

      public void setCasingType(CompressorMechanicalDesign.CasingType casingType)
      Sets the casing type.
      Parameters:
      casingType - casing type enum
    • isSourService

      public boolean isSourService()
      Gets the sour service flag.
      Returns:
      true if sour (H2S) service
    • setSourService

      public void setSourService(boolean sourService)
      Sets the sour service flag.
      Parameters:
      sourService - true if sour (H2S) service
    • getH2sPartialPressureKPa

      public double getH2sPartialPressureKPa()
      Gets the H2S partial pressure.
      Returns:
      H2S partial pressure in kPa
    • setH2sPartialPressureKPa

      public void setH2sPartialPressureKPa(double h2sPartialPressureKPa)
      Sets the H2S partial pressure.
      Parameters:
      h2sPartialPressureKPa - H2S partial pressure in kPa
    • getSuctionNozzleSizeMm

      public double getSuctionNozzleSizeMm()
      Gets the suction nozzle size.
      Returns:
      suction nozzle size in mm
    • setSuctionNozzleSizeMm

      public void setSuctionNozzleSizeMm(double suctionNozzleSizeMm)
      Sets the suction nozzle size.
      Parameters:
      suctionNozzleSizeMm - suction nozzle size in mm
    • getDischargeNozzleSizeMm

      public double getDischargeNozzleSizeMm()
      Gets the discharge nozzle size.
      Returns:
      discharge nozzle size in mm
    • setDischargeNozzleSizeMm

      public void setDischargeNozzleSizeMm(double dischargeNozzleSizeMm)
      Sets the discharge nozzle size.
      Parameters:
      dischargeNozzleSizeMm - discharge nozzle size in mm
    • setNumberOfStages

      public void setNumberOfStages(int numberOfStages)
      Sets the number of stages.
      Parameters:
      numberOfStages - number of impeller stages
    • setImpellerDiameterMm

      public void setImpellerDiameterMm(double impellerDiameterMm)
      Sets the impeller diameter.
      Parameters:
      impellerDiameterMm - impeller diameter in mm
    • setAmbientTemperatureC

      public void setAmbientTemperatureC(double ambientTemperatureC)
      Sets the ambient temperature.
      Parameters:
      ambientTemperatureC - ambient temperature in Celsius
    • getRequiredWallThicknessMm

      public double getRequiredWallThicknessMm()
      Gets the required wall thickness per ASME VIII.
      Returns:
      required wall thickness in mm (before corrosion allowance)
    • getMinimumWallThicknessMm

      public double getMinimumWallThicknessMm()
      Gets the minimum wall thickness including corrosion allowance.
      Returns:
      minimum wall thickness in mm
    • getSelectedWallThicknessMm

      public double getSelectedWallThicknessMm()
      Gets the selected (nominal) wall thickness.
      Returns:
      selected wall thickness in mm
    • getMawpMPa

      public double getMawpMPa()
      Gets the MAWP.
      Returns:
      Maximum Allowable Working Pressure in MPa
    • getMawpBarg

      public double getMawpBarg()
      Gets the MAWP in barg.
      Returns:
      MAWP in barg
    • getHoopStressMPa

      public double getHoopStressMPa()
      Gets the hoop stress.
      Returns:
      hoop stress in MPa
    • getStressRatio

      public double getStressRatio()
      Gets the stress ratio.
      Returns:
      stress ratio (actual hoop / allowable)
    • getHydroTestPressureMPa

      public double getHydroTestPressureMPa()
      Gets the hydrostatic test pressure.
      Returns:
      hydrostatic test pressure in MPa
    • isHydroTestAcceptable

      public boolean isHydroTestAcceptable()
      Gets whether hydrostatic test is acceptable.
      Returns:
      true if hydro test stress is acceptable
    • getFlangeClass

      public int getFlangeClass()
      Gets the flange class.
      Returns:
      ASME B16.5 flange class
    • getFlangeRatingBarg

      public double getFlangeRatingBarg()
      Gets the flange rating.
      Returns:
      flange pressure rating in barg
    • isFlangeRatingAdequate

      public boolean isFlangeRatingAdequate()
      Gets whether flange rating is adequate.
      Returns:
      true if flange rating exceeds design pressure
    • getSmysMPa

      public double getSmysMPa()
      Gets the SMYS.
      Returns:
      specified minimum yield strength in MPa
    • getSmtsMPa

      public double getSmtsMPa()
      Gets the SMTS.
      Returns:
      specified minimum tensile strength in MPa
    • getAllowableStressMPa

      public double getAllowableStressMPa()
      Gets the allowable stress.
      Returns:
      allowable stress at design temperature in MPa
    • getSuctionNozzleAllowableForceN

      public double getSuctionNozzleAllowableForceN()
      Gets the allowable suction nozzle force.
      Returns:
      allowable force in N
    • getSuctionNozzleAllowableMomentNm

      public double getSuctionNozzleAllowableMomentNm()
      Gets the allowable suction nozzle moment.
      Returns:
      allowable moment in Nm
    • getDischargeNozzleAllowableForceN

      public double getDischargeNozzleAllowableForceN()
      Gets the allowable discharge nozzle force.
      Returns:
      allowable force in N
    • getDischargeNozzleAllowableMomentNm

      public double getDischargeNozzleAllowableMomentNm()
      Gets the allowable discharge nozzle moment.
      Returns:
      allowable moment in Nm
    • getCasingAxialGrowthMm

      public double getCasingAxialGrowthMm()
      Gets the casing axial thermal growth.
      Returns:
      axial growth in mm
    • getDifferentialExpansionMm

      public double getDifferentialExpansionMm()
      Gets the differential expansion.
      Returns:
      differential expansion (casing - rotor) in mm
    • isThermalGrowthAcceptable

      public boolean isThermalGrowthAcceptable()
      Gets whether thermal growth is acceptable.
      Returns:
      true if differential expansion is within limits
    • getSplitLineBoltCount

      public int getSplitLineBoltCount()
      Gets the split-line bolt count.
      Returns:
      number of split-line bolts
    • getSplitLineBoltDiameterMm

      public double getSplitLineBoltDiameterMm()
      Gets the split-line bolt diameter.
      Returns:
      bolt diameter in mm
    • isSplitLineBoltsAdequate

      public boolean isSplitLineBoltsAdequate()
      Gets whether split-line bolts are adequate.
      Returns:
      true if bolt design is adequate
    • getBarrelOuterODMm

      public double getBarrelOuterODMm()
      Gets the barrel outer shell OD.
      Returns:
      barrel outer OD in mm
    • getBarrelEndCoverThicknessMm

      public double getBarrelEndCoverThicknessMm()
      Gets the barrel end cover thickness.
      Returns:
      end cover thickness in mm
    • getBarrelEndCoverBoltCount

      public int getBarrelEndCoverBoltCount()
      Gets the barrel end cover bolt count.
      Returns:
      number of end cover bolts
    • getNaceComplianceStatus

      public String getNaceComplianceStatus()
      Gets the NACE compliance status.
      Returns:
      NACE status: COMPLIANT, NON_COMPLIANT, CONDITIONALLY_COMPLIANT, NOT_APPLICABLE
    • getNaceRegion

      public String getNaceRegion()
      Gets the NACE region classification.
      Returns:
      NACE SSC region
    • getNaceIssues

      public List<String> getNaceIssues()
      Gets the list of NACE compliance issues.
      Returns:
      list of NACE issues
    • getAppliedStandards

      public List<String> getAppliedStandards()
      Gets the list of applied standards.
      Returns:
      list of applied standard references
    • getDesignIssues

      public List<String> getDesignIssues()
      Gets the list of design issues.
      Returns:
      list of design issues and warnings
    • getHydroTestPressureBarg

      public double getHydroTestPressureBarg()
      Gets the hydrostatic test pressure in barg.
      Returns:
      hydro test pressure in barg
    • isMaterialNaceCompliant

      public boolean isMaterialNaceCompliant()
      Gets whether the material is NACE compliant.
      Returns:
      true if material is NACE compliant
    • getMaterialType

      public String getMaterialType()
      Gets the material type.
      Returns:
      material type description
    • getFlangeStandard

      public String getFlangeStandard()
      Gets the flange standard.
      Returns:
      flange standard (ASME-B16.5 or ASME-B16.47)