Interface PumpChartInterface

All Superinterfaces:
Cloneable
All Known Implementing Classes:
PumpChart, PumpChartAlternativeMapLookupExtrapolate

public interface PumpChartInterface extends Cloneable

PumpChartInterface interface.

Version:
$Id: $Id
Author:
asmund
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addCurve(double speed, double[] flow, double[] head, double[] efficiency)
    This method is used add a curve to the CompressorChart object.
    void
    calculateViscosityCorrection(double viscosity, double flowBEP, double headBEP, double speed)
    Calculate viscosity correction factors using the Hydraulic Institute (HI) method.
    double
    Get the flow rate at best efficiency point (BEP).
    double
    getCorrectedEfficiency(double flow, double speed, double actualViscosity)
    Get efficiency with viscosity correction applied.
    double
    getCorrectedHead(double flow, double speed, double actualDensity)
    Get density-corrected head for a given flow, speed, and actual fluid density.
    double
    getEfficiency(double flow, double speed)
    Get method for efficiency from reference curves.
    double
    Get the current efficiency correction factor (Cη).
    double
    Get the current flow correction factor (Cq).
    double
    getFullyCorrectedHead(double flow, double speed, double actualDensity, double actualViscosity)
    Get head with both viscosity and density corrections applied.
    double
    getHead(double flow, double speed)
    Get method for polytropic head from reference curves.
    double
    Get the current head correction factor (Ch).
    Get the selected unit of head.
    double
    getNPSHRequired(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.
    double
    Get the reference density used for density correction.
    double
    Get the reference viscosity.
    double
    Calculate pump specific speed at BEP.
    int
    getSpeed(double flow, double head)
    getSpeed.
    boolean
    Check if density correction is enabled.
    boolean
    Check if NPSH curve data is available.
    boolean
    Checks if set to use compressor chart for compressor calculations (chart is set for compressor).
    boolean
    Check if viscosity correction is enabled.
    void
    plot.
    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.
    void
    setHeadUnit(String headUnit)
    Set unit of head.
    void
    setNPSHCurve(double[][] npshRequired)
    Set NPSH (Net Positive Suction Head) required curve.
    void
    setReferenceConditions(double refMW, double refTemperature, double refPressure, double refZ)
    Set method for the reference conditions of the compressor chart.
    void
    setReferenceDensity(double referenceDensity)
    Set the reference density for density correction.
    void
    setReferenceViscosity(double referenceViscosity)
    Set the reference viscosity for viscosity correction.
    void
    setUsePumpChart(boolean useCompressorChart)
    Set compressor calculations to use compressor chart.
    void
    setUseRealKappa(boolean useRealKappa)
    set method for kappa setting. true = real kappa is used, false = ideal kappa is used
    void
    setUseViscosityCorrection(boolean useViscosityCorrection)
    Enable or disable viscosity correction.
    boolean
    get 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 double
      flow - an array of type double
      head - an array of type double
      efficiency - 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 double
      speed - an array of type double
      flow - an array of type double
      head - an array of type double
      polyEff - 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 double
      refTemperature - a double
      refPressure - a double
      refZ - 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

      String getHeadUnit()
      Get the selected unit of head.
      Returns:
      unit of head
    • setHeadUnit

      void setHeadUnit(String headUnit)
      Set unit of head.
      Parameters:
      headUnit - a String object
    • 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 double
      head - 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

      String getOperatingStatus(double flow, double speed)
      Check operating status at given flow and speed.
      Parameters:
      flow - flow rate in m³/hr
      speed - 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³/hr
      speed - 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³/hr
      speed - pump speed in rpm
      actualDensity - 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³/hr
      headBEP - head at best efficiency point in meters
      speed - 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³/hr
      speed - pump speed in rpm
      actualDensity - 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³/hr
      speed - pump speed in rpm
      actualViscosity - 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