Interface PumpChartInterface
- All Superinterfaces:
Cloneable
- All Known Implementing Classes:
PumpChart, PumpChartAlternativeMapLookupExtrapolate
PumpChartInterface interface.
- Version:
- $Id: $Id
- Author:
- asmund
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddCurve(double speed, double[] flow, double[] head, double[] efficiency) This method is used add a curve to the CompressorChart object.voidcalculateViscosityCorrection(double viscosity, double flowBEP, double headBEP, double speed) Calculate viscosity correction factors using the Hydraulic Institute (HI) method.doubleGet the flow rate at best efficiency point (BEP).doublegetCorrectedEfficiency(double flow, double speed, double actualViscosity) Get efficiency with viscosity correction applied.doublegetCorrectedHead(double flow, double speed, double actualDensity) Get density-corrected head for a given flow, speed, and actual fluid density.doublegetEfficiency(double flow, double speed) Get method for efficiency from reference curves.doubleGet the current efficiency correction factor (Cη).doubleGet the current flow correction factor (Cq).doublegetFullyCorrectedHead(double flow, double speed, double actualDensity, double actualViscosity) Get head with both viscosity and density corrections applied.doublegetHead(double flow, double speed) Get method for polytropic head from reference curves.doubleGet the current head correction factor (Ch).Get the selected unit of head.doublegetNPSHRequired(double flow, double speed) Get NPSH required at specified flow and speed.getOperatingStatus(double flow, double speed) Check operating status at given flow and speed.doubleGet the reference density used for density correction.doubleGet the reference viscosity.doubleCalculate pump specific speed at BEP.intgetSpeed(double flow, double head) getSpeed.booleanCheck if density correction is enabled.booleanCheck if NPSH curve data is available.booleanChecks if set to use compressor chart for compressor calculations (chart is set for compressor).booleanCheck if viscosity correction is enabled.voidplot()plot.voidsetCurves(double[] chartConditions, double[] speed, double[][] flow, double[][] head, double[][] polyEff) This method is used add a set of curves to the CompressorChart object.voidsetHeadUnit(String headUnit) Set unit of head.voidsetNPSHCurve(double[][] npshRequired) Set NPSH (Net Positive Suction Head) required curve.voidsetReferenceConditions(double refMW, double refTemperature, double refPressure, double refZ) Set method for the reference conditions of the compressor chart.voidsetReferenceDensity(double referenceDensity) Set the reference density for density correction.voidsetReferenceViscosity(double referenceViscosity) Set the reference viscosity for viscosity correction.voidsetUsePumpChart(boolean useCompressorChart) Set compressor calculations to use compressor chart.voidsetUseRealKappa(boolean useRealKappa) set method for kappa setting. true = real kappa is used, false = ideal kappa is usedvoidsetUseViscosityCorrection(boolean useViscosityCorrection) Enable or disable viscosity correction.booleanget method for kappa setting. true = real kappa is used, false = ideal kappa is used
-
Method Details
-
addCurve
void addCurve(double speed, double[] flow, double[] head, double[] efficiency) This method is used add a curve to the CompressorChart object.- Parameters:
speed- a doubleflow- an array of type doublehead- an array of type doubleefficiency- an array of type double
-
setCurves
void setCurves(double[] chartConditions, double[] speed, double[][] flow, double[][] head, double[][] polyEff) This method is used add a set of curves to the CompressorChart object.- Parameters:
chartConditions- an array of type doublespeed- an array of type doubleflow- an array of type doublehead- an array of type doublepolyEff- an array of type double
-
getHead
double getHead(double flow, double speed) Get method for polytropic head from reference curves.- Parameters:
flow- [m3/h], speed in [rpm].speed- a double- Returns:
- polytropic head in unit [getHeadUnit]
-
getEfficiency
double getEfficiency(double flow, double speed) Get method for efficiency from reference curves.- Parameters:
flow- [m3/h], speed in [rpm].speed- a double- Returns:
- efficiency [%].
-
setReferenceConditions
void setReferenceConditions(double refMW, double refTemperature, double refPressure, double refZ) Set method for the reference conditions of the compressor chart.- Parameters:
refMW- a doublerefTemperature- a doublerefPressure- a doublerefZ- a double
-
isUsePumpChart
boolean isUsePumpChart()Checks if set to use compressor chart for compressor calculations (chart is set for compressor).- Returns:
- a boolean
-
setUsePumpChart
void setUsePumpChart(boolean useCompressorChart) Set compressor calculations to use compressor chart.- Parameters:
useCompressorChart- a boolean
-
getHeadUnit
-
setHeadUnit
-
useRealKappa
boolean useRealKappa()get method for kappa setting. true = real kappa is used, false = ideal kappa is used- Returns:
- true/false flag
-
setUseRealKappa
void setUseRealKappa(boolean useRealKappa) set method for kappa setting. true = real kappa is used, false = ideal kappa is used- Parameters:
useRealKappa- a boolean
-
getSpeed
int getSpeed(double flow, double head) getSpeed.
- Parameters:
flow- a doublehead- a double- Returns:
- a int
-
plot
void plot()plot.
-
getBestEfficiencyFlowRate
double getBestEfficiencyFlowRate()Get the flow rate at best efficiency point (BEP).- Returns:
- flow rate at BEP in m³/hr
-
getSpecificSpeed
double getSpecificSpeed()Calculate pump specific speed at BEP.- Returns:
- specific speed (dimensionless)
-
getOperatingStatus
Check operating status at given flow and speed.- Parameters:
flow- flow rate in m³/hrspeed- pump speed in rpm- Returns:
- operating status string
-
setNPSHCurve
void setNPSHCurve(double[][] npshRequired) Set NPSH (Net Positive Suction Head) required curve.- Parameters:
npshRequired- 2D array of NPSH values [speed][flow] in meters
-
getNPSHRequired
double getNPSHRequired(double flow, double speed) Get NPSH required at specified flow and speed.- Parameters:
flow- flow rate in m³/hrspeed- pump speed in rpm- Returns:
- NPSH required in meters
-
hasNPSHCurve
boolean hasNPSHCurve()Check if NPSH curve data is available.- Returns:
- true if NPSH curve is available
-
getReferenceDensity
double getReferenceDensity()Get the reference density used for density correction.- Returns:
- reference density in kg/m³, or -1.0 if not set
-
setReferenceDensity
void setReferenceDensity(double referenceDensity) Set the reference density for density correction.Pump curves are typically measured with water (~998 kg/m³). When pumping fluids with different densities, the head must be corrected: H_actual = H_chart × (ρ_chart / ρ_actual)
- Parameters:
referenceDensity- reference fluid density in kg/m³ (use -1.0 to disable correction)
-
hasDensityCorrection
boolean hasDensityCorrection()Check if density correction is enabled.- Returns:
- true if reference density is set and correction will be applied
-
getCorrectedHead
double getCorrectedHead(double flow, double speed, double actualDensity) Get density-corrected head for a given flow, speed, and actual fluid density.- Parameters:
flow- flow rate in m³/hrspeed- pump speed in rpmactualDensity- actual fluid density in kg/m³- Returns:
- corrected head in the unit specified by getHeadUnit()
-
calculateViscosityCorrection
void calculateViscosityCorrection(double viscosity, double flowBEP, double headBEP, double speed) Calculate viscosity correction factors using the Hydraulic Institute (HI) method.- Parameters:
viscosity- kinematic viscosity in cSt (centistokes)flowBEP- flow at best efficiency point in m³/hrheadBEP- head at best efficiency point in metersspeed- pump speed in rpm
-
getFullyCorrectedHead
double getFullyCorrectedHead(double flow, double speed, double actualDensity, double actualViscosity) Get head with both viscosity and density corrections applied.- Parameters:
flow- flow rate in m³/hrspeed- pump speed in rpmactualDensity- actual fluid density in kg/m³actualViscosity- actual kinematic viscosity in cSt- Returns:
- fully corrected head
-
getCorrectedEfficiency
double getCorrectedEfficiency(double flow, double speed, double actualViscosity) Get efficiency with viscosity correction applied.- Parameters:
flow- flow rate in m³/hrspeed- pump speed in rpmactualViscosity- actual kinematic viscosity in cSt- Returns:
- corrected efficiency in percent
-
setReferenceViscosity
void setReferenceViscosity(double referenceViscosity) Set the reference viscosity for viscosity correction.- Parameters:
referenceViscosity- reference kinematic viscosity in cSt (typically 1.0 for water)
-
getReferenceViscosity
double getReferenceViscosity()Get the reference viscosity.- Returns:
- reference viscosity in cSt
-
setUseViscosityCorrection
void setUseViscosityCorrection(boolean useViscosityCorrection) Enable or disable viscosity correction.- Parameters:
useViscosityCorrection- true to enable viscosity correction
-
isUseViscosityCorrection
boolean isUseViscosityCorrection()Check if viscosity correction is enabled.- Returns:
- true if viscosity correction is active
-
getFlowCorrectionFactor
double getFlowCorrectionFactor()Get the current flow correction factor (Cq).- Returns:
- flow correction factor
-
getHeadCorrectionFactor
double getHeadCorrectionFactor()Get the current head correction factor (Ch).- Returns:
- head correction factor
-
getEfficiencyCorrectionFactor
double getEfficiencyCorrectionFactor()Get the current efficiency correction factor (Cη).- Returns:
- efficiency correction factor
-