Package hec.rss.model

Class Pump

All Implemented Interfaces:
AsciiSerializable, FieldAccessor, AltInputReportInfc, RssModelVariableConstants, Serializable, Cloneable, Comparable, Observer, rma.lang.Modifiable

public class Pump extends NamedType implements RssModelVariableConstants, AltInputReportInfc

Title: HecJava Development

Description:

Copyright: Copyright (c) 2003

Company:

See Also:
  • Field Details

    • PUMP_CAPACITY_CONSTANT

      public static final int PUMP_CAPACITY_CONSTANT
      See Also:
    • PUMP_CAPACITY_FUNCTION_OF_HEAD

      public static final int PUMP_CAPACITY_FUNCTION_OF_HEAD
      See Also:
  • Constructor Details

  • Method Details

    • setNumberOfPumps

      public void setNumberOfPumps(int numPumps)
    • getNumberOfPumps

      public int getNumberOfPumps()
    • getOperatingLimitFunction

      public PairedValues getOperatingLimitFunction()
    • getPumpCapacityFunction

      public PairedValues getPumpCapacityFunction()
    • getPumpCapacityConstant

      public double getPumpCapacityConstant()
    • setPumpCapacityConstant

      public void setPumpCapacityConstant(double d)
    • setUnitSystem

      public void setUnitSystem(int system)
    • getAdjustableFlow

      public AdjustableFlow getAdjustableFlow()
    • setAdjustableFlow

      public void setAdjustableFlow(AdjustableFlow af)
    • getPumpCapacityType

      public int getPumpCapacityType()
    • setPumpCapacityType

      public void setPumpCapacityType(int type)
    • getActiveTSRecordProxies

      public void getActiveTSRecordProxies(Vector vec, int iotype)
      add the time series record proxies associated current compute
    • updateTSProxyList

      public void updateTSProxyList()
      Regenerates the list of all TSProxies required for this location. This list includes all records that are generated by this function even if the records are held in another objects (e.g. RssNode) proxy list
    • initialize

      public boolean initialize()
      This method is called when the reservoir model is initialized. It allows us to get setup and ready to go for the impending computation.
    • setPumpVolAndFlow

      public void setPumpVolAndFlow(RunTimeStep rts, double vol, double flow)
    • canOperatePumpUnit

      public boolean canOperatePumpUnit(int unitNo, double tailElevation, double operatingHead)
      Returns a boolean true/false if a pumping units is available to run for a given tailwater elevation and operating head. The tailElevation must be greater than or equal to a units specfied minium operating tail water elevation and the operatingHead must be less than or equal to a pump units maximum specified operating head to be operable. If both conditions are true than that unit is valid
      Parameters:
      unitNo - the indentifier of the pump units from 0 to (number of pumps - 1);
      tailElevation -
      operatingHead -
      Returns:
    • computePumpUnitCapacity

      public double computePumpUnitCapacity(double operatingHead)
      Computes a maximum capacity based on a single pump. This could be either a constant value or based on a pump capacity function. The operating head is used to figure out capacity if the capacity is based on a functions
    • getAssociatedTailwater

      public TailwaterElevation getAssociatedTailwater()
    • getTailwaterElevation

      public double getTailwaterElevation(RunTimeStep runtime)
      Returns the elevation at the associated tailwater at a given moment in time. The runtime step marks the moment in time at which to retreive the elevation. Returns RMAConst.UNDEF_DOUBLE if there is no associated tailwater.
      Parameters:
      runtime -
      Returns:
    • computeMaximumCapacity

      public double computeMaximumCapacity(RunTimeStep rts, double elevation)
      Computes the maximum pumping capacity at a moment in time defined by the runtime step and for a given elevation defined by "elevation"
      Parameters:
      rts - a moment in time
      elevation - reservoir elevation
      Returns:
      maximum pumping capacity
    • setupForSerialization

      public void setupForSerialization()
    • clone

      public Object clone()
      clone method
      Overrides:
      clone in class NamedType
    • getFieldObject

      public Object getFieldObject(Field fld)
      Description copied from interface: FieldAccessor
      This method allows access to java.lang.reflect.Field objects within the implementing class.
      Specified by:
      getFieldObject in interface FieldAccessor
      Overrides:
      getFieldObject in class NamedType
      Parameters:
      fld - The field to get.
      Returns:
      The data object that is stored in the given field
    • setFieldObject

      public boolean setFieldObject(Field fld, Object fobj)
      Description copied from interface: FieldAccessor
      This allows access to fields withing the implementing object to set there data.
      Specified by:
      setFieldObject in interface FieldAccessor
      Overrides:
      setFieldObject in class NamedType
      Parameters:
      fld - The java field object representing the member field to be set
      fobj - The data to set in that field
      Returns:
      returns true if successful
    • outputReport

      public void outputReport(AlternativeInputReport report, org.jdom.Element elem)
      Description copied from interface: AltInputReportInfc
      Alternative Input Report Interface for data.
      Specified by:
      outputReport in interface AltInputReportInfc