Class PumpChartAlternativeMapLookupExtrapolate

All Implemented Interfaces:
Serializable, Cloneable, CompressorChartInterface, PumpChartInterface

public class PumpChartAlternativeMapLookupExtrapolate extends CompressorChartAlternativeMapLookupExtrapolate implements PumpChartInterface

CompressorChartAlternativeMapLookupExtrapolate class.

Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

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

      static org.apache.logging.log4j.Logger logger
      Logger object for class.
    • usePumpChart

      boolean usePumpChart
  • Constructor Details

    • PumpChartAlternativeMapLookupExtrapolate

      public PumpChartAlternativeMapLookupExtrapolate()
  • Method Details

    • getHead

      public double getHead(double flow, double speed)
      Get method for polytropic head from reference curves.
      Specified by:
      getHead in interface PumpChartInterface
      Parameters:
      flow - [m3/h], speed in [rpm].
      speed - a double
      Returns:
      polytropic head in unit [getHeadUnit]
    • isUsePumpChart

      public boolean isUsePumpChart()
      Checks if set to use compressor chart for compressor calculations (chart is set for compressor).
      Specified by:
      isUsePumpChart in interface PumpChartInterface
      Returns:
      a boolean
    • getEfficiency

      public double getEfficiency(double flow, double speed)
      Get method for efficiency from reference curves.
      Specified by:
      getEfficiency in interface PumpChartInterface
      Parameters:
      flow - [m3/h], speed in [rpm].
      speed - a double
      Returns:
      efficiency [%].
    • setUsePumpChart

      public void setUsePumpChart(boolean usePumpChart)
      Set compressor calculations to use compressor chart.
      Specified by:
      setUsePumpChart in interface PumpChartInterface
      Parameters:
      usePumpChart - a boolean
    • getBestEfficiencyFlowRate

      public double getBestEfficiencyFlowRate()
      Get the flow rate at best efficiency point (BEP).
      Specified by:
      getBestEfficiencyFlowRate in interface PumpChartInterface
      Returns:
      flow rate at BEP in m³/hr
    • getSpecificSpeed

      public double getSpecificSpeed()
      Calculate pump specific speed at BEP.
      Specified by:
      getSpecificSpeed in interface PumpChartInterface
      Returns:
      specific speed (dimensionless)
    • getOperatingStatus

      public String getOperatingStatus(double flow, double speed)
      Check operating status at given flow and speed.
      Specified by:
      getOperatingStatus in interface PumpChartInterface
      Parameters:
      flow - flow rate in m³/hr
      speed - pump speed in rpm
      Returns:
      operating status string
    • setNPSHCurve

      public void setNPSHCurve(double[][] npshRequired)
      Set NPSH (Net Positive Suction Head) required curve.
      Specified by:
      setNPSHCurve in interface PumpChartInterface
      Parameters:
      npshRequired - 2D array of NPSH values [speed][flow] in meters
    • getNPSHRequired

      public double getNPSHRequired(double flow, double speed)
      Get NPSH required at specified flow and speed.
      Specified by:
      getNPSHRequired in interface PumpChartInterface
      Parameters:
      flow - flow rate in m³/hr
      speed - pump speed in rpm
      Returns:
      NPSH required in meters
    • hasNPSHCurve

      public boolean hasNPSHCurve()
      Check if NPSH curve data is available.
      Specified by:
      hasNPSHCurve in interface PumpChartInterface
      Returns:
      true if NPSH curve is available
    • getReferenceDensity

      public double getReferenceDensity()
      Get the reference density used for calculations.
      Specified by:
      getReferenceDensity in interface CompressorChartInterface
      Specified by:
      getReferenceDensity in interface PumpChartInterface
      Overrides:
      getReferenceDensity in class CompressorChart
      Returns:
      the reference density in kg/m3, or NaN if not set
    • setReferenceDensity

      public void setReferenceDensity(double referenceDensity)
      Set the reference density for power and pressure ratio calculations.
      Specified by:
      setReferenceDensity in interface CompressorChartInterface
      Specified by:
      setReferenceDensity in interface PumpChartInterface
      Overrides:
      setReferenceDensity in class CompressorChart
      Parameters:
      referenceDensity - the reference gas density in kg/m3
    • hasDensityCorrection

      public boolean hasDensityCorrection()
      Check if density correction is enabled.
      Specified by:
      hasDensityCorrection in interface PumpChartInterface
      Returns:
      true if reference density is set and correction will be applied
    • getCorrectedHead

      public double getCorrectedHead(double flow, double speed, double actualDensity)
      Get density-corrected head for a given flow, speed, and actual fluid density.
      Specified by:
      getCorrectedHead in interface PumpChartInterface
      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

      public void calculateViscosityCorrection(double viscosity, double flowBEP, double headBEP, double speed)
      Calculate viscosity correction factors using the Hydraulic Institute (HI) method.
      Specified by:
      calculateViscosityCorrection in interface PumpChartInterface
      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

      public double getFullyCorrectedHead(double flow, double speed, double actualDensity, double actualViscosity)
      Get head with both viscosity and density corrections applied.
      Specified by:
      getFullyCorrectedHead in interface PumpChartInterface
      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

      public double getCorrectedEfficiency(double flow, double speed, double actualViscosity)
      Get efficiency with viscosity correction applied.
      Specified by:
      getCorrectedEfficiency in interface PumpChartInterface
      Parameters:
      flow - flow rate in m³/hr
      speed - pump speed in rpm
      actualViscosity - actual kinematic viscosity in cSt
      Returns:
      corrected efficiency in percent
    • setReferenceViscosity

      public void setReferenceViscosity(double referenceViscosity)
      Set the reference viscosity for viscosity correction.
      Specified by:
      setReferenceViscosity in interface PumpChartInterface
      Parameters:
      referenceViscosity - reference kinematic viscosity in cSt (typically 1.0 for water)
    • getReferenceViscosity

      public double getReferenceViscosity()
      Get the reference viscosity.
      Specified by:
      getReferenceViscosity in interface PumpChartInterface
      Returns:
      reference viscosity in cSt
    • setUseViscosityCorrection

      public void setUseViscosityCorrection(boolean useViscosityCorrection)
      Enable or disable viscosity correction.
      Specified by:
      setUseViscosityCorrection in interface PumpChartInterface
      Parameters:
      useViscosityCorrection - true to enable viscosity correction
    • isUseViscosityCorrection

      public boolean isUseViscosityCorrection()
      Check if viscosity correction is enabled.
      Specified by:
      isUseViscosityCorrection in interface PumpChartInterface
      Returns:
      true if viscosity correction is active
    • getFlowCorrectionFactor

      public double getFlowCorrectionFactor()
      Get the current flow correction factor (Cq).
      Specified by:
      getFlowCorrectionFactor in interface PumpChartInterface
      Returns:
      flow correction factor
    • getHeadCorrectionFactor

      public double getHeadCorrectionFactor()
      Get the current head correction factor (Ch).
      Specified by:
      getHeadCorrectionFactor in interface PumpChartInterface
      Returns:
      head correction factor
    • getEfficiencyCorrectionFactor

      public double getEfficiencyCorrectionFactor()
      Get the current efficiency correction factor (Cη).
      Specified by:
      getEfficiencyCorrectionFactor in interface PumpChartInterface
      Returns:
      efficiency correction factor