Class PumpMechanicalDesign
- All Implemented Interfaces:
Serializable
This class provides sizing and design calculations for centrifugal pumps based on API 610 (Centrifugal Pumps for Petroleum, Petrochemical and Natural Gas Industries) and Hydraulic Institute standards. Calculations include:
- Impeller diameter sizing based on head and flow requirements
- Shaft sizing for torque transmission
- Casing design for pressure containment
- Driver (motor) sizing with appropriate margins
- NPSH analysis and cavitation risk assessment
- Seal system requirements
- Baseplate and foundation requirements
- Module footprint and weight estimation
References:
- API 610 - Centrifugal Pumps for Petroleum, Petrochemical and Natural Gas Industries
- API 674 - Positive Displacement Pumps - Reciprocating
- API 675 - Positive Displacement Pumps - Controlled Volume Metering
- Hydraulic Institute Standards
- Version:
- 1.0
- Author:
- NeqSim Development Team
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumPump type classification per API 610.static classInner class to hold validation results.static enumSeal type classification. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final doubleAllowable stress for carbon steel at ambient [MPa].private doubleAllowable operating region - high limit as fraction of BEP.private doubleAllowable operating region - low limit as fraction of BEP.private doubleBaseplate weight [kg].private doubleBest efficiency point flow [m³/h].private doubleBest efficiency point head [m].private doubleCasing wall thickness [mm].private doubleCasing weight [kg].private doubleCoupling weight [kg].private static final doubleTypical pump efficiency for estimation when not available.private static final doubleDesign pressure margin factor.private static final doubleDesign temperature margin [C].private doubleDesign pressure [bara].private doubleDesign temperature [C].private doubleDischarge nozzle size [inches].private static final doubleDriver sizing margin for large pumps (> 55 kW) per API 610.private static final doubleDriver sizing margin for medium pumps (22-55 kW) per API 610.private static final doubleDriver sizing margin for small pumps (< 22 kW) per API 610.private doubleDriver power margin factor.private doubleRequired driver power [kW].private static final doubleGravity constant [m/s²].private doubleHead margin factor.private doubleHydraulic power sizing margin.private doubleImpeller outer diameter [mm].private doubleImpeller weight [kg].private doubleImpeller width [mm].private doubleMaximum allowable working pressure [bara].private doubleMaximum continuous flow as fraction of BEP.private doubleMaximum allowable flow [m³/h].private doubleMaximum suction specific speed for stable operation.private doubleMinimum continuous flow as fraction of BEP.private doubleMinimum continuous stable flow [m³/h].private doubleMotor weight [kg].private doubleNPSH available [m].private doubleNPSH margin (NPSHa / NPSHr).private doubleNPSH available margin factor over required.private doubleNPSH required [m].private intNumber of stages.private doublePreferred operating region - high limit as fraction of BEP.private doublePreferred operating region - low limit as fraction of BEP.private doublePump efficiency at operating point.private PumpMechanicalDesign.PumpTypePump type classification.private doubleRated speed [rpm].private PumpMechanicalDesign.SealTypeSeal type.private doubleSeal system weight [kg].private static final longSerialization version UID.private doubleShaft diameter at impeller [mm].private doubleShaft weight [kg].private doubleSpecific speed (Ns) - dimensionless.private static final doubleSteel density [kg/m³].private doubleSuction nozzle size [inches].private doubleSuction specific speed (Nss) - dimensionless.Fields inherited from class MechanicalDesign
costEstimate, designStandard, innerDiameter, maxDesignCv, maxDesignDuty, maxDesignGassVolumeFlow, maxDesignOilVolumeFlow, maxDesignPower, maxDesignPressureDrop, maxDesignVelocity, maxDesignVolumeFlow, maxDesignWaterVolumeFlow, minDesignDuty, minDesignGassVolumeFLow, minDesignOilFLow, minDesignPower, minDesignVolumeFLow, minDesignWaterVolumeFLow, moduleHeight, moduleLength, moduleWidth, outerDiameter, tantanLength, wallThickness, weightElectroInstrument, weightNozzle, weightPiping, weightStructualSteel, weightVessel, weigthInternals, weigthVesselShell -
Constructor Summary
ConstructorsConstructorDescriptionPumpMechanicalDesign(ProcessEquipmentInterface equipment) Constructor for PumpMechanicalDesign. -
Method Summary
Modifier and TypeMethodDescriptionvoidcalcDesign.private voidcalculateCasingDesign(double designPressureBara, double designTemperatureC) Calculate casing design parameters.private voidcalculateDriverSizing(double hydraulicPowerKW, double efficiency) Calculate driver sizing with appropriate margins per API 610.private voidcalculateImpellerSizing(double flowM3h, double headM, double speedRpm) Calculate impeller diameter and geometry.private voidCalculate module dimensions for plot plan.private voidcalculateNozzleSizes(double flowM3h) Calculate nozzle sizes based on flow rate and velocity limits.private voidcalculateShaftSizing(double powerKW, double speedRpm, double efficiency) Calculate shaft diameter for torque transmission.private voidcalculateSpecificSpeeds(double flowM3h, double headM, double speedRpm) Calculate specific speeds for pump classification.private voidcalculateWeights(double flowM3h, double designPressureBara) Calculate pump component weights.voiddisplayResults.private voidestimateNpshRequired(double flowM3h, double speedRpm) Estimate NPSH required based on suction specific speed correlation.private doubleestimateOptimalSpeed(double flowM3h, double headM) Estimate optimal pump speed based on flow and head.doubleGets the allowable operating region high limit as fraction of BEP.doubleGets the allowable operating region low limit as fraction of BEP.doubleGet the baseplate weight.doubleGet the casing weight.doubleGet the design pressure.doubleGet the design temperature.doubleGet the discharge nozzle size.doubleGet the required driver power.doubleGets the head margin factor.doubleGets the hydraulic power margin.doubleGet the impeller diameter.doubleGet the maximum allowable flow.doubleGets the maximum suction specific speed.doubleGet the minimum continuous stable flow.doubleGet the motor weight.doubleGets the NPSH margin factor requirement.doubleGet the NPSH required.intGet the number of stages.doubleGets the preferred operating region high limit as fraction of BEP.doubleGets the preferred operating region low limit as fraction of BEP.Get the pump type.doubleGet the rated speed.Get the mechanical design response object.Get the seal type.doubleGet the shaft diameter.doubleGet the specific speed.doubleGet the suction nozzle size.doubleGet the suction specific speed.voidLoads pump design parameters from the database.private voidSelect pump type based on specific speed and application.voidsetAorHighFraction(double fraction) Sets the allowable operating region high limit.voidsetAorLowFraction(double fraction) Sets the allowable operating region low limit.voidsetHeadMarginFactor(double factor) Sets the head margin factor.voidsetHydraulicPowerMargin(double margin) Sets the hydraulic power margin.voidsetMaxSuctionSpecificSpeed(double maxNss) Sets the maximum suction specific speed.voidsetNpshMarginFactor(double factor) Sets the NPSH margin factor requirement.voidsetPorHighFraction(double fraction) Sets the preferred operating region high limit.voidsetPorLowFraction(double fraction) Sets the preferred operating region low limit.voidsetPumpType(PumpMechanicalDesign.PumpType pumpType) Set the pump type.voidsetSealType(PumpMechanicalDesign.SealType sealType) Set the seal type.toJson()Export mechanical design data to JSON format.Performs comprehensive validation of pump design.booleanvalidateNpshMargin(double npshAvailableM, double npshRequiredM) Validates that NPSH available meets the required margin.booleanvalidateOperatingInAOR(double operatingFlowM3h, double bepFlowM3h) Validates that operating flow is within the allowable operating region.booleanvalidateOperatingInPOR(double operatingFlowM3h, double bepFlowM3h) Validates that operating flow is within the preferred operating region.booleanvalidateSuctionSpecificSpeed(double actualNss) Validates that suction specific speed is within acceptable limits.Methods inherited from class MechanicalDesign
addDesignDataSource, calculateCostEstimate, costEstimateToJson, equals, generateBillOfMaterials, getApplicableStandards, getBareModuleCost, getCompanySpecificDesignStandards, getConstrutionMaterial, getCorrosionAllowance, getCostEstimate, getDefaultLiquidDensity, getDefaultLiquidViscosity, getDesignCorrosionAllowance, getDesignDataSources, getDesignJointEfficiency, getDesignLimitData, getDesignMaxPressureLimit, getDesignMaxTemperatureLimit, getDesignMinPressureLimit, getDesignMinTemperatureLimit, getDesignStandard, getDuty, getGrassRootsCost, getHeatTransferArea, getInnerDiameter, getInstallationManHours, getJointEfficiency, getLastMarginResult, getMaterialDesignStandard, getMaterialPipeDesignStandard, getMaxAllowableStress, getMaxDesignCv, getMaxDesignGassVolumeFlow, getMaxDesignOilVolumeFlow, getMaxDesignPressure, getMaxDesignPressureDrop, getMaxDesignVelocity, getMaxDesignVolumeFlow, getMaxDesignWaterVolumeFlow, getMaxOperationPressure, getMaxOperationTemperature, getMinDesignGassVolumeFLow, getMinDesignOilFLow, getMinDesignPressure, getMinDesignVolumeFLow, getMinDesignWaterVolumeFLow, getMinOperationPressure, getMinOperationTemperature, getModuleHeight, getModuleLength, getModuleWidth, getOuterDiameter, getPower, getPressureMarginFactor, getProcessEquipment, getPurchasedEquipmentCost, getRecommendedStandards, getTantanLength, getTensileStrength, getTotalModuleCost, getVolumeTotal, getWallThickness, getWeightElectroInstrument, getWeightNozzle, getWeightPiping, getWeightStructualSteel, getWeightTotal, getWeightVessel, getWeigthInternals, getWeigthVesselShell, hasDesignStandard, hashCode, initMechanicalDesign, isHasSetCompanySpecificDesignStandards, readDesignSpecifications, setCompanySpecificDesignStandards, setConstrutionMaterial, setCorrosionAllowance, setCostEstimateCepci, setCostEstimateLocationFactor, setCostEstimateMaterial, setDefaultLiquidDensity, setDefaultLiquidViscosity, setDesign, setDesignDataSource, setDesignDataSources, setDesignStandard, setDesignStandard, setDesignStandard, setDesignStandard, setDesignStandards, setHasSetCompanySpecificDesignStandards, setInnerDiameter, setJointEfficiency, setMaterialDesignStandard, setMaterialPipeDesignStandard, setMaxDesignCv, setMaxDesignDuty, setMaxDesignGassVolumeFlow, setMaxDesignOilVolumeFlow, setMaxDesignPower, setMaxDesignPressureDrop, setMaxDesignVelocity, setMaxDesignVolumeFlow, setMaxDesignWaterVolumeFlow, setMaxOperationPressure, setMaxOperationTemperature, setMinDesignDuty, setMinDesignGassVolumeFLow, setMinDesignOilFLow, setMinDesignPower, setMinDesignVolumeFLow, setMinDesignWaterVolumeFLow, setMinOperationPressure, setMinOperationTemperature, setModuleHeight, setModuleLength, setModuleWidth, setOuterDiameter, setPressureMarginFactor, setProcessEquipment, setTantanLength, setTensileStrength, setWallThickness, setWeightElectroInstrument, setWeightNozzle, setWeightPiping, setWeightStructualSteel, setWeightTotal, setWeightVessel, setWeigthInternals, setWeigthVesselShell, toCompactJson, validateOperatingEnvelope, validateOperatingEnvelope
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
GRAVITY
private static final double GRAVITYGravity constant [m/s²].- See Also:
-
DRIVER_MARGIN_SMALL
private static final double DRIVER_MARGIN_SMALLDriver sizing margin for small pumps (< 22 kW) per API 610.- See Also:
-
DRIVER_MARGIN_MEDIUM
private static final double DRIVER_MARGIN_MEDIUMDriver sizing margin for medium pumps (22-55 kW) per API 610.- See Also:
-
DRIVER_MARGIN_LARGE
private static final double DRIVER_MARGIN_LARGEDriver sizing margin for large pumps (> 55 kW) per API 610.- See Also:
-
DESIGN_PRESSURE_MARGIN
private static final double DESIGN_PRESSURE_MARGINDesign pressure margin factor.- See Also:
-
DESIGN_TEMPERATURE_MARGIN
private static final double DESIGN_TEMPERATURE_MARGINDesign temperature margin [C].- See Also:
-
DEFAULT_PUMP_EFFICIENCY
private static final double DEFAULT_PUMP_EFFICIENCYTypical pump efficiency for estimation when not available.- See Also:
-
STEEL_DENSITY
private static final double STEEL_DENSITYSteel density [kg/m³].- See Also:
-
ALLOWABLE_STRESS
private static final double ALLOWABLE_STRESSAllowable stress for carbon steel at ambient [MPa].- See Also:
-
pumpType
Pump type classification. -
sealType
Seal type. -
impellerDiameter
private double impellerDiameterImpeller outer diameter [mm]. -
impellerWidth
private double impellerWidthImpeller width [mm]. -
shaftDiameter
private double shaftDiameterShaft diameter at impeller [mm]. -
driverPower
private double driverPowerRequired driver power [kW]. -
driverMargin
private double driverMarginDriver power margin factor. -
casingWallThickness
private double casingWallThicknessCasing wall thickness [mm]. -
numberOfStages
private int numberOfStagesNumber of stages. -
ratedSpeed
private double ratedSpeedRated speed [rpm]. -
specificSpeed
private double specificSpeedSpecific speed (Ns) - dimensionless. -
suctionSpecificSpeed
private double suctionSpecificSpeedSuction specific speed (Nss) - dimensionless. -
designPressure
private double designPressureDesign pressure [bara]. -
designTemperature
private double designTemperatureDesign temperature [C]. -
maxAllowableWorkingPressure
private double maxAllowableWorkingPressureMaximum allowable working pressure [bara]. -
bepFlow
private double bepFlowBest efficiency point flow [m³/h]. -
bepHead
private double bepHeadBest efficiency point head [m]. -
pumpEfficiency
private double pumpEfficiencyPump efficiency at operating point. -
npshRequired
private double npshRequiredNPSH required [m]. -
npshAvailable
private double npshAvailableNPSH available [m]. -
npshMargin
private double npshMarginNPSH margin (NPSHa / NPSHr). -
casingWeight
private double casingWeightCasing weight [kg]. -
impellerWeight
private double impellerWeightImpeller weight [kg]. -
shaftWeight
private double shaftWeightShaft weight [kg]. -
motorWeight
private double motorWeightMotor weight [kg]. -
baseplateWeight
private double baseplateWeightBaseplate weight [kg]. -
sealWeight
private double sealWeightSeal system weight [kg]. -
couplingWeight
private double couplingWeightCoupling weight [kg]. -
suctionNozzleSize
private double suctionNozzleSizeSuction nozzle size [inches]. -
dischargeNozzleSize
private double dischargeNozzleSizeDischarge nozzle size [inches]. -
minimumFlow
private double minimumFlowMinimum continuous stable flow [m³/h]. -
maximumFlow
private double maximumFlowMaximum allowable flow [m³/h]. -
npshMarginFactor
private double npshMarginFactorNPSH available margin factor over required. -
hydraulicPowerMargin
private double hydraulicPowerMarginHydraulic power sizing margin. -
minContinuousFlowFraction
private double minContinuousFlowFractionMinimum continuous flow as fraction of BEP. -
maxContinuousFlowFraction
private double maxContinuousFlowFractionMaximum continuous flow as fraction of BEP. -
porLowFraction
private double porLowFractionPreferred operating region - low limit as fraction of BEP. -
porHighFraction
private double porHighFractionPreferred operating region - high limit as fraction of BEP. -
aorLowFraction
private double aorLowFractionAllowable operating region - low limit as fraction of BEP. -
aorHighFraction
private double aorHighFractionAllowable operating region - high limit as fraction of BEP. -
maxSuctionSpecificSpeed
private double maxSuctionSpecificSpeedMaximum suction specific speed for stable operation. -
headMarginFactor
private double headMarginFactorHead margin factor.
-
-
Constructor Details
-
PumpMechanicalDesign
Constructor for PumpMechanicalDesign.- Parameters:
equipment- the pump equipment
-
-
Method Details
-
calcDesign
-
estimateOptimalSpeed
private double estimateOptimalSpeed(double flowM3h, double headM) Estimate optimal pump speed based on flow and head.- Parameters:
flowM3h- volume flow rate in m³/hheadM- pump head in meters- Returns:
- estimated optimal speed in rpm
-
calculateSpecificSpeeds
private void calculateSpecificSpeeds(double flowM3h, double headM, double speedRpm) Calculate specific speeds for pump classification.- Parameters:
flowM3h- volume flow rate in m³/hheadM- pump head in metersspeedRpm- pump speed in rpm
-
selectPumpType
private void selectPumpType()Select pump type based on specific speed and application. -
calculateImpellerSizing
private void calculateImpellerSizing(double flowM3h, double headM, double speedRpm) Calculate impeller diameter and geometry.- Parameters:
flowM3h- volume flow rate in m³/hheadM- pump head per stage in metersspeedRpm- pump speed in rpm
-
calculateShaftSizing
private void calculateShaftSizing(double powerKW, double speedRpm, double efficiency) Calculate shaft diameter for torque transmission.- Parameters:
powerKW- shaft power in kWspeedRpm- shaft speed in rpmefficiency- pump efficiency
-
calculateCasingDesign
private void calculateCasingDesign(double designPressureBara, double designTemperatureC) Calculate casing design parameters.- Parameters:
designPressureBara- design pressure in baradesignTemperatureC- design temperature in °C
-
calculateDriverSizing
private void calculateDriverSizing(double hydraulicPowerKW, double efficiency) Calculate driver sizing with appropriate margins per API 610.- Parameters:
hydraulicPowerKW- hydraulic power in kWefficiency- pump efficiency
-
estimateNpshRequired
private void estimateNpshRequired(double flowM3h, double speedRpm) Estimate NPSH required based on suction specific speed correlation.- Parameters:
flowM3h- volume flow rate in m³/hspeedRpm- pump speed in rpm
-
calculateNozzleSizes
private void calculateNozzleSizes(double flowM3h) Calculate nozzle sizes based on flow rate and velocity limits.- Parameters:
flowM3h- volume flow rate in m³/h
-
calculateWeights
private void calculateWeights(double flowM3h, double designPressureBara) Calculate pump component weights.- Parameters:
flowM3h- volume flow rate in m³/hdesignPressureBara- design pressure in bara
-
calculateModuleDimensions
private void calculateModuleDimensions()Calculate module dimensions for plot plan. -
getPumpType
Get the pump type.- Returns:
- pump type classification
-
setPumpType
Set the pump type.- Parameters:
pumpType- pump type classification
-
getSealType
-
setSealType
Set the seal type.- Parameters:
sealType- seal type
-
getImpellerDiameter
public double getImpellerDiameter()Get the impeller diameter.- Returns:
- impeller diameter in mm
-
getShaftDiameter
public double getShaftDiameter()Get the shaft diameter.- Returns:
- shaft diameter in mm
-
getDriverPower
public double getDriverPower()Get the required driver power.- Returns:
- driver power in kW
-
getDesignPressure
public double getDesignPressure()Get the design pressure.- Returns:
- design pressure in bara
-
getDesignTemperature
public double getDesignTemperature()Get the design temperature.- Returns:
- design temperature in °C
-
getSpecificSpeed
public double getSpecificSpeed()Get the specific speed.- Returns:
- dimensionless specific speed (metric)
-
getSuctionSpecificSpeed
public double getSuctionSpecificSpeed()Get the suction specific speed.- Returns:
- dimensionless suction specific speed
-
getNumberOfStages
public int getNumberOfStages()Get the number of stages.- Returns:
- number of pump stages
-
getRatedSpeed
public double getRatedSpeed()Get the rated speed.- Returns:
- rated speed in rpm
-
getNpshRequired
public double getNpshRequired()Get the NPSH required.- Returns:
- NPSH required in meters
-
getCasingWeight
public double getCasingWeight()Get the casing weight.- Returns:
- casing weight in kg
-
getMotorWeight
public double getMotorWeight()Get the motor weight.- Returns:
- motor weight in kg
-
getBaseplateWeight
public double getBaseplateWeight()Get the baseplate weight.- Returns:
- baseplate weight in kg
-
getSuctionNozzleSize
public double getSuctionNozzleSize()Get the suction nozzle size.- Returns:
- suction nozzle size in inches
-
getDischargeNozzleSize
public double getDischargeNozzleSize()Get the discharge nozzle size.- Returns:
- discharge nozzle size in inches
-
getMinimumFlow
public double getMinimumFlow()Get the minimum continuous stable flow.- Returns:
- minimum flow in m³/h
-
getMaximumFlow
public double getMaximumFlow()Get the maximum allowable flow.- Returns:
- maximum flow in m³/h
-
displayResults
-
getResponse
Get the mechanical design response object.This method returns a
MechanicalDesignResponseobject that can be further customized or combined with other data before serialization.Returns a pump-specific response with additional fields for hydraulic data, driver sizing, and NPSH requirements.
- Overrides:
getResponsein classMechanicalDesign- Returns:
- MechanicalDesignResponse object
-
toJson
Export mechanical design data to JSON format.This method creates a
MechanicalDesignResponseobject and serializes it to JSON using Gson. The JSON includes equipment identification, weight breakdown, design conditions, dimensions, and materials information.Usage example:
MechanicalDesign mecDesign = separator.getMechanicalDesign(); mecDesign.calcDesign(); String json = mecDesign.toJson();Returns JSON with pump-specific fields.
- Overrides:
toJsonin classMechanicalDesign- Returns:
- JSON string representation of the mechanical design
-
getNpshMarginFactor
public double getNpshMarginFactor()Gets the NPSH margin factor requirement.- Returns:
- NPSH margin factor (NPSHa/NPSHr)
-
setNpshMarginFactor
public void setNpshMarginFactor(double factor) Sets the NPSH margin factor requirement.- Parameters:
factor- NPSH margin factor (typically 1.1-1.3)
-
getHydraulicPowerMargin
public double getHydraulicPowerMargin()Gets the hydraulic power margin.- Returns:
- hydraulic power margin factor
-
setHydraulicPowerMargin
public void setHydraulicPowerMargin(double margin) Sets the hydraulic power margin.- Parameters:
margin- power margin factor (typically 1.05-1.10)
-
getPorLowFraction
public double getPorLowFraction()Gets the preferred operating region low limit as fraction of BEP.- Returns:
- POR low limit fraction
-
setPorLowFraction
public void setPorLowFraction(double fraction) Sets the preferred operating region low limit.- Parameters:
fraction- POR low limit as fraction of BEP (typically 0.80)
-
getPorHighFraction
public double getPorHighFraction()Gets the preferred operating region high limit as fraction of BEP.- Returns:
- POR high limit fraction
-
setPorHighFraction
public void setPorHighFraction(double fraction) Sets the preferred operating region high limit.- Parameters:
fraction- POR high limit as fraction of BEP (typically 1.10)
-
getAorLowFraction
public double getAorLowFraction()Gets the allowable operating region low limit as fraction of BEP.- Returns:
- AOR low limit fraction
-
setAorLowFraction
public void setAorLowFraction(double fraction) Sets the allowable operating region low limit.- Parameters:
fraction- AOR low limit as fraction of BEP (typically 0.60-0.70)
-
getAorHighFraction
public double getAorHighFraction()Gets the allowable operating region high limit as fraction of BEP.- Returns:
- AOR high limit fraction
-
setAorHighFraction
public void setAorHighFraction(double fraction) Sets the allowable operating region high limit.- Parameters:
fraction- AOR high limit as fraction of BEP (typically 1.20-1.30)
-
getMaxSuctionSpecificSpeed
public double getMaxSuctionSpecificSpeed()Gets the maximum suction specific speed.- Returns:
- max Nss value
-
setMaxSuctionSpecificSpeed
public void setMaxSuctionSpecificSpeed(double maxNss) Sets the maximum suction specific speed.- Parameters:
maxNss- max Nss value (typically 11000-13000)
-
getHeadMarginFactor
public double getHeadMarginFactor()Gets the head margin factor.- Returns:
- head margin factor as fraction (typically 1.05-1.10)
-
setHeadMarginFactor
public void setHeadMarginFactor(double factor) Sets the head margin factor.- Parameters:
factor- head margin factor as fraction (typically 1.05-1.10)
-
validateNpshMargin
public boolean validateNpshMargin(double npshAvailableM, double npshRequiredM) Validates that NPSH available meets the required margin.- Parameters:
npshAvailableM- NPSH available in metersnpshRequiredM- NPSH required in meters- Returns:
- true if NPSH margin is adequate
-
validateOperatingInPOR
public boolean validateOperatingInPOR(double operatingFlowM3h, double bepFlowM3h) Validates that operating flow is within the preferred operating region.- Parameters:
operatingFlowM3h- operating flow rate in m³/hbepFlowM3h- BEP flow rate in m³/h- Returns:
- true if operating in POR
-
validateOperatingInAOR
public boolean validateOperatingInAOR(double operatingFlowM3h, double bepFlowM3h) Validates that operating flow is within the allowable operating region.- Parameters:
operatingFlowM3h- operating flow rate in m³/hbepFlowM3h- BEP flow rate in m³/h- Returns:
- true if operating in AOR
-
validateSuctionSpecificSpeed
public boolean validateSuctionSpecificSpeed(double actualNss) Validates that suction specific speed is within acceptable limits.- Parameters:
actualNss- actual suction specific speed- Returns:
- true if Nss is acceptable
-
validateDesign
Performs comprehensive validation of pump design.- Returns:
- PumpValidationResult with status and any issues found
-
loadProcessDesignParameters
public void loadProcessDesignParameters()Loads pump design parameters from the database.
-