Package hec.rss.model
Class CircularChannel
java.lang.Object
hec.rss.model.Channel
hec.rss.model.CircularChannel
- All Implemented Interfaces:
AsciiSerializable,FieldAccessor,Serializable
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:
-
Field Summary
Fields inherited from class hec.rss.model.Channel
_length, _slope, _unitSystem -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoublegetArea(double depth) doublegetCelerity(double depth) doublegetDepth(double flow) Computes depth for given flow rate.doublevoidgetDiameter(hec.data.ParamDouble pd) getFieldObject(Field fld) This method allows access to java.lang.reflect.Field objects within the implementing class.doubledoublegetTopWidth(double depth) doublegetVelocity(double depth) booleanisValid()Checks if parameter values are valid for this channel.voidsetDiameter(double diameter) voidsetDiameter(hec.data.ParamDouble pd) booleansetFieldObject(Field fld, Object fobj) This allows access to fields withing the implementing object to set there data.voidsetManningsN(double n) Methods inherited from class hec.rss.model.Channel
getLength, getLength, getSlope, getUnitSystem, setchannelLength, setLength, setSlope, setUnitSystem
-
Constructor Details
-
CircularChannel
public CircularChannel()
-
-
Method Details
-
getChannelType
- Overrides:
getChannelTypein classChannel
-
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
Checks if parameter values are valid for this channel.- Overrides:
isValidin classChannel- Returns:
- true, if parameters are valid, otherwise false.
- Throws:
InvalidStateException
-
getArea
public double getArea(double depth) -
getTopWidth
public double getTopWidth(double depth) - Specified by:
getTopWidthin classChannel
-
getVelocity
public double getVelocity(double depth) -
getCelerity
public double getCelerity(double depth) - Specified by:
getCelerityin classChannel
-
getDepth
public double getDepth(double flow) Computes depth for given flow rate. -
getFieldObject
Description copied from interface:FieldAccessorThis method allows access to java.lang.reflect.Field objects within the implementing class.- Specified by:
getFieldObjectin interfaceFieldAccessor- Overrides:
getFieldObjectin classChannel- Parameters:
fld- The field to get.- Returns:
- The data object that is stored in the given field
-
setFieldObject
Description copied from interface:FieldAccessorThis allows access to fields withing the implementing object to set there data.- Specified by:
setFieldObjectin interfaceFieldAccessor- Overrides:
setFieldObjectin classChannel- Parameters:
fld- The java field object representing the member field to be setfobj- The data to set in that field- Returns:
- returns true if successful
-