Package hec.rss.model

Class CircularChannel

java.lang.Object
hec.rss.model.Channel
hec.rss.model.CircularChannel
All Implemented Interfaces:
AsciiSerializable, FieldAccessor, Serializable

public class CircularChannel extends Channel
CircularChannel is used to compute flow characteristics of uniform circular channels. Flow is computed, assuming kinematic flow conditions, using the formula: Q = alpha * area ** 1.25 alpha = (.503 / n) * SQRT (slope) * diameter ** (1/6) This formula is valid for area invalid input: '<' 0.65 * diameter**2, or depth invalid input: '<'= 0.771 * diameter. Top width is assumed to be constant for depth > 0.771 * diameter.
See Also:
  • Constructor Details

    • CircularChannel

      public CircularChannel()
  • Method Details

    • getChannelType

      public ChannelType getChannelType()
      Overrides:
      getChannelType in class Channel
    • getDiameter

      public double getDiameter()
    • getManningsN

      public double getManningsN()
    • setDiameter

      public void setDiameter(double diameter)
    • setManningsN

      public void setManningsN(double n)
    • getDiameter

      public void getDiameter(hec.data.ParamDouble pd)
    • setDiameter

      public void setDiameter(hec.data.ParamDouble pd)
    • isValid

      public boolean isValid() throws InvalidStateException
      Checks if parameter values are valid for this channel.
      Overrides:
      isValid in class Channel
      Returns:
      true, if parameters are valid, otherwise false.
      Throws:
      InvalidStateException
    • getArea

      public double getArea(double depth)
    • getTopWidth

      public double getTopWidth(double depth)
      Specified by:
      getTopWidth in class Channel
    • getVelocity

      public double getVelocity(double depth)
    • getCelerity

      public double getCelerity(double depth)
      Specified by:
      getCelerity in class Channel
    • getDepth

      public double getDepth(double flow)
      Computes depth for given flow rate.
      Specified by:
      getDepth in class Channel
      Parameters:
      flow - Flow rate.
      Returns:
      Depth for given flow rate.
    • 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 Channel
      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 Channel
      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