Class CompressorCasingDesignCalculator
- All Implemented Interfaces:
Serializable
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 Summary
FieldsModifier and TypeFieldDescriptionprivate doubleAllowable stress at design temperature [MPa].private doubleAmbient temperature [C].List of applied standards.private intBarrel end-cover bolt count.private doubleBarrel end-cover bolt diameter [mm].private doubleBarrel end-cover thickness [mm].private doubleBarrel inner bundle outer diameter [mm].private doubleBarrel outer shell inner diameter [mm].private doubleBarrel outer shell outer diameter [mm].private doubleBarrel outer shell wall thickness [mm].private doubleBolt allowable stress [MPa].private doubleBolt preload force per bolt [N].private doubleBolt tensile stress [MPa].private doubleCasing axial thermal growth [mm].private doubleCasing inner diameter [mm].private doubleCasing length (bearing span based) [mm].private doubleCasing radial thermal growth [mm].Casing type.private doubleCorrosion allowance [mm].List of design issues/warnings.private doubleDesign pressure [MPa].private doubleDesign temperature [C].private doubleDifferential expansion (casing - rotor) [mm].private doubleAllowable discharge nozzle force [N].private doubleAllowable discharge nozzle moment [Nm].private doubleDischarge nozzle size [mm NPS].private doubleElastic modulus [GPa].private intSelected flange class per ASME B16.5.private booleanWhether flange rating is adequate.private doubleFlange class pressure rating [barg].private StringFlange standard used (B16.5 or B16.47).private doubleMaximum H2S partial pressure [kPa].private doubleHoop stress at design conditions [MPa].private booleanWhether hydro test stress is acceptable.private doubleHydrostatic test factor per ASME VIII UG-99.private doubleHydrostatic test pressure [MPa].private doubleStress during hydro test [MPa].private doubleImpeller diameter [mm].private doubleWeld joint efficiency per ASME VIII UW-12.private doubleMaterial density [kg/m3].private StringMaterial grade for casing.private booleanWhether material is NACE compliant.private StringMaterial type description.private doubleMaximum Allowable Working Pressure [MPa].private doubleMaximum operating pressure [MPa].private doubleMaximum operating temperature [C].private doubleMinimum wall thickness including corrosion allowance [mm].private doubleMinimum operating temperature [C].private StringNACE compliance result: COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE.List of NACE compliance issues.private doubleMaximum hardness allowed [HRC] per NACE.private StringNACE sour service region classification.private doubleNozzle load amplification factor per API 617.private intNumber of impeller stages in casing.private doubleOperating speed [rpm].private doubleRequired wall thickness per ASME VIII UG-27 [mm] (before corrosion).private doubleRotor axial thermal growth [mm].private doubleSelected (nominal) wall thickness [mm].private static final longSerialization version UID.private doubleShaft power [kW] - for nozzle load estimation.private doubleSpecified Minimum Tensile Strength [MPa].private doubleSpecified Minimum Yield Strength [MPa].private booleanWhether H2S sour service (NACE MR0175).private intRequired number of split-line bolts.private doubleSplit-line bolt diameter [mm].private doubleSplit-line bolt pitch [mm].private booleanWhether split-line bolt design is adequate.private doubleStress ratio (actual/allowable).private doubleAllowable suction nozzle force [N].private doubleAllowable suction nozzle moment [Nm].private doubleSuction nozzle size [mm NPS].private doubleCoefficient of thermal expansion [1/C].private booleanWhether differential expansion is acceptable.private doubleTotal gasket load [N]. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidAssess NACE MR0175/ISO 15156 compliance for sour service.voidRun all casing design calculations.private voidCalculate barrel casing outer/inner barrel sizing.private voidCalculate hydrostatic test pressure per ASME VIII UG-99.private voidCalculate Maximum Allowable Working Pressure (MAWP) per ASME VIII.private voidCalculate allowable nozzle forces and moments per API 617 Table 3.private voidCalculate split-line bolting for horizontally-split casings.private voidCalculate thermal growth and differential expansion between casing and rotor.private voidCalculate required casing wall thickness per ASME Section VIII Div. 1 UG-27.doubleGets the allowable stress.Gets the list of applied standards.intGets the barrel end cover bolt count.doubleGets the barrel end cover thickness.doubleGets the barrel outer shell OD.doubleGets the casing axial thermal growth.doubleGets the casing inner diameter.doubleGets the casing length.Gets the casing type.doubleGets the corrosion allowance.Gets the list of design issues.doubleGets the design pressure.doubleGets the design temperature.doubleGets the differential expansion.doubleGets the allowable discharge nozzle force.doubleGets the allowable discharge nozzle moment.doubleGets the discharge nozzle size.intGets the flange class.doubleGets the flange rating.Gets the flange standard.doubleGets the H2S partial pressure.doubleGets the hoop stress.doubleGets the hydrostatic test pressure in barg.doubleGets the hydrostatic test pressure.doubleGets the joint efficiency.Gets the material grade.Gets the material type.doubleGets the MAWP in barg.doubleGets the MAWP.doubleGets the maximum operating pressure.doubleGets the maximum operating temperature.doubleGets the minimum wall thickness including corrosion allowance.doubleGets the minimum operating temperature.Gets the NACE compliance status.Gets the list of NACE compliance issues.Gets the NACE region classification.doubleGets the required wall thickness per ASME VIII.doubleGets the selected (nominal) wall thickness.doubleGets the SMTS.doubleGets the SMYS.intGets the split-line bolt count.doubleGets the split-line bolt diameter.doubleGets the stress ratio.doubleGets the allowable suction nozzle force.doubleGets the allowable suction nozzle moment.doubleGets the suction nozzle size.booleanGets whether flange rating is adequate.booleanGets whether hydrostatic test is acceptable.booleanGets whether the material is NACE compliant.booleanGets the sour service flag.booleanGets whether split-line bolts are adequate.booleanGets whether thermal growth is acceptable.Automatically select an appropriate casing material based on operating conditions.private doubleroundUpToStandardThickness(double thicknessMm) Round up wall thickness to nearest standard plate thickness.private voidSelect and verify flange rating per ASME B16.5 (NPS 1/2-24) or B16.47 (NPS 26-60).voidsetAmbientTemperatureC(double ambientTemperatureC) Sets the ambient temperature.voidsetCasingInnerDiameterMm(double casingInnerDiameterMm) Sets the casing inner diameter.voidsetCasingLengthMm(double casingLengthMm) Sets the casing length.voidsetCasingType(CompressorMechanicalDesign.CasingType casingType) Sets the casing type.voidsetCorrosionAllowanceMm(double corrosionAllowanceMm) Sets the corrosion allowance.voidsetDesignPressureBara(double designPressureBara) Sets the design pressure from bara.voidsetDesignPressureMPa(double designPressureMPa) Sets the design pressure.voidsetDesignTemperatureC(double designTemperatureC) Sets the design temperature.voidsetDischargeNozzleSizeMm(double dischargeNozzleSizeMm) Sets the discharge nozzle size.voidsetH2sPartialPressureKPa(double h2sPartialPressureKPa) Sets the H2S partial pressure.voidsetImpellerDiameterMm(double impellerDiameterMm) Sets the impeller diameter.voidsetJointEfficiency(double jointEfficiency) Sets the joint efficiency.voidsetMaterialGrade(String materialGrade) Sets the material grade.voidsetMaxOperatingPressureMPa(double maxOperatingPressureMPa) Sets the maximum operating pressure.voidsetMaxOperatingTemperatureC(double maxOperatingTemperatureC) Sets the maximum operating temperature.voidsetMinOperatingTemperatureC(double minOperatingTemperatureC) Sets the minimum operating temperature.voidsetNumberOfStages(int numberOfStages) Sets the number of stages.voidsetSourService(boolean sourService) Sets the sour service flag.voidsetSuctionNozzleSizeMm(double suctionNozzleSizeMm) Sets the suction nozzle size.toJson()Convert results to JSON string.toMap()Convert all results to a map for JSON serialization.private voidUpdate material properties from grade lookup using built-in data tables.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
designPressureMPa
private double designPressureMPaDesign pressure [MPa]. -
designTemperatureC
private double designTemperatureCDesign temperature [C]. -
maxOperatingPressureMPa
private double maxOperatingPressureMPaMaximum operating pressure [MPa]. -
maxOperatingTemperatureC
private double maxOperatingTemperatureCMaximum operating temperature [C]. -
minOperatingTemperatureC
private double minOperatingTemperatureCMinimum operating temperature [C]. -
ambientTemperatureC
private double ambientTemperatureCAmbient temperature [C]. -
casingInnerDiameterMm
private double casingInnerDiameterMmCasing inner diameter [mm]. -
casingLengthMm
private double casingLengthMmCasing length (bearing span based) [mm]. -
numberOfStages
private int numberOfStagesNumber of impeller stages in casing. -
materialGrade
Material grade for casing. -
corrosionAllowanceMm
private double corrosionAllowanceMmCorrosion allowance [mm]. -
jointEfficiency
private double jointEfficiencyWeld joint efficiency per ASME VIII UW-12. -
casingType
Casing type. -
sourService
private boolean sourServiceWhether H2S sour service (NACE MR0175). -
h2sPartialPressureKPa
private double h2sPartialPressureKPaMaximum H2S partial pressure [kPa]. -
suctionNozzleSizeMm
private double suctionNozzleSizeMmSuction nozzle size [mm NPS]. -
dischargeNozzleSizeMm
private double dischargeNozzleSizeMmDischarge nozzle size [mm NPS]. -
shaftPowerKW
private double shaftPowerKWShaft power [kW] - for nozzle load estimation. -
operatingSpeedRPM
private double operatingSpeedRPMOperating speed [rpm]. -
impellerDiameterMm
private double impellerDiameterMmImpeller diameter [mm]. -
smysMPa
private double smysMPaSpecified Minimum Yield Strength [MPa]. -
smtsMPa
private double smtsMPaSpecified Minimum Tensile Strength [MPa]. -
allowableStressMPa
private double allowableStressMPaAllowable stress at design temperature [MPa]. -
materialDensity
private double materialDensityMaterial density [kg/m3]. -
thermalExpansionCoeff
private double thermalExpansionCoeffCoefficient of thermal expansion [1/C]. -
elasticModulusGPa
private double elasticModulusGPaElastic modulus [GPa]. -
materialIsNaceCompliant
private boolean materialIsNaceCompliantWhether material is NACE compliant. -
materialType
Material type description. -
requiredWallThicknessMm
private double requiredWallThicknessMmRequired wall thickness per ASME VIII UG-27 [mm] (before corrosion). -
minimumWallThicknessMm
private double minimumWallThicknessMmMinimum wall thickness including corrosion allowance [mm]. -
selectedWallThicknessMm
private double selectedWallThicknessMmSelected (nominal) wall thickness [mm]. -
mawpMPa
private double mawpMPaMaximum Allowable Working Pressure [MPa]. -
hoopStressMPa
private double hoopStressMPaHoop stress at design conditions [MPa]. -
stressRatio
private double stressRatioStress ratio (actual/allowable). -
hydroTestPressureMPa
private double hydroTestPressureMPaHydrostatic test pressure [MPa]. -
hydroTestFactor
private double hydroTestFactorHydrostatic test factor per ASME VIII UG-99. -
hydroTestStressMPa
private double hydroTestStressMPaStress during hydro test [MPa]. -
hydroTestAcceptable
private boolean hydroTestAcceptableWhether hydro test stress is acceptable. -
flangeClass
private int flangeClassSelected flange class per ASME B16.5. -
flangeRatingBarg
private double flangeRatingBargFlange class pressure rating [barg]. -
flangeRatingAdequate
private boolean flangeRatingAdequateWhether flange rating is adequate. -
flangeStandard
Flange standard used (B16.5 or B16.47). -
suctionNozzleAllowableForceN
private double suctionNozzleAllowableForceNAllowable suction nozzle force [N]. -
suctionNozzleAllowableMomentNm
private double suctionNozzleAllowableMomentNmAllowable suction nozzle moment [Nm]. -
dischargeNozzleAllowableForceN
private double dischargeNozzleAllowableForceNAllowable discharge nozzle force [N]. -
dischargeNozzleAllowableMomentNm
private double dischargeNozzleAllowableMomentNmAllowable discharge nozzle moment [Nm]. -
nozzleLoadFactor
private double nozzleLoadFactorNozzle load amplification factor per API 617. -
casingAxialGrowthMm
private double casingAxialGrowthMmCasing axial thermal growth [mm]. -
casingRadialGrowthMm
private double casingRadialGrowthMmCasing radial thermal growth [mm]. -
rotorAxialGrowthMm
private double rotorAxialGrowthMmRotor axial thermal growth [mm]. -
differentialExpansionMm
private double differentialExpansionMmDifferential expansion (casing - rotor) [mm]. -
thermalGrowthAcceptable
private boolean thermalGrowthAcceptableWhether differential expansion is acceptable. -
splitLineBoltCount
private int splitLineBoltCountRequired number of split-line bolts. -
splitLineBoltDiameterMm
private double splitLineBoltDiameterMmSplit-line bolt diameter [mm]. -
splitLineBoltPitchMm
private double splitLineBoltPitchMmSplit-line bolt pitch [mm]. -
boltTensileStressMPa
private double boltTensileStressMPaBolt tensile stress [MPa]. -
boltAllowableStressMPa
private double boltAllowableStressMPaBolt allowable stress [MPa]. -
boltPreloadForceN
private double boltPreloadForceNBolt preload force per bolt [N]. -
totalGasketLoadN
private double totalGasketLoadNTotal gasket load [N]. -
splitLineBoltsAdequate
private boolean splitLineBoltsAdequateWhether split-line bolt design is adequate. -
barrelOuterIDMm
private double barrelOuterIDMmBarrel outer shell inner diameter [mm]. -
barrelOuterODMm
private double barrelOuterODMmBarrel outer shell outer diameter [mm]. -
barrelOuterWallThicknessMm
private double barrelOuterWallThicknessMmBarrel outer shell wall thickness [mm]. -
barrelInnerBundleODMm
private double barrelInnerBundleODMmBarrel inner bundle outer diameter [mm]. -
barrelEndCoverBoltDiameterMm
private double barrelEndCoverBoltDiameterMmBarrel end-cover bolt diameter [mm]. -
barrelEndCoverBoltCount
private int barrelEndCoverBoltCountBarrel end-cover bolt count. -
barrelEndCoverThicknessMm
private double barrelEndCoverThicknessMmBarrel end-cover thickness [mm]. -
naceComplianceStatus
NACE compliance result: COMPLIANT, NON_COMPLIANT, NOT_APPLICABLE. -
naceRegion
NACE sour service region classification. -
naceMaxHardnessHRC
private double naceMaxHardnessHRCMaximum hardness allowed [HRC] per NACE. -
naceIssues
-
appliedStandards
-
designIssues
-
-
Constructor Details
-
CompressorCasingDesignCalculator
public CompressorCasingDesignCalculator()Default constructor.
-
-
Method Details
-
calculate
public void calculate()Run all casing design calculations.Executes the full design sequence:
- Update material properties from grade lookup
- Calculate wall thickness per ASME VIII Div. 1 UG-27
- Calculate MAWP
- Calculate hydrostatic test pressure per UG-99
- Verify flange rating per ASME B16.5 / B16.47
- Calculate nozzle allowable loads per API 617
- Calculate thermal growth and differential expansion
- If horizontally-split: calculate split-line bolt design
- If barrel: calculate outer/inner barrel sizing
- 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
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
-
toJson
-
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
-
setMaterialGrade
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
Gets the casing type.- Returns:
- casing type enum
-
setCasingType
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
Gets the NACE compliance status.- Returns:
- NACE status: COMPLIANT, NON_COMPLIANT, CONDITIONALLY_COMPLIANT, NOT_APPLICABLE
-
getNaceRegion
-
getNaceIssues
-
getAppliedStandards
-
getDesignIssues
-
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
-
getFlangeStandard
Gets the flange standard.- Returns:
- flange standard (ASME-B16.5 or ASME-B16.47)
-