Skip to content

Commit

Permalink
Channels and end walls (#414)
Browse files Browse the repository at this point in the history
* adding channels

* adding headwalls and fixes

* reverting a couple of changes for the time being to avoid versioning shenanigans
  • Loading branch information
BenTWhite authored Dec 20, 2024
1 parent 3027bd4 commit 5538c7b
Showing 1 changed file with 160 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,12 @@
<ECEnumerator value="1" name="Box" displayLabel="Box" />
</ECEnumeration>

<ECEnumeration typeName="ChannelShape" backingTypeName="int" isStrict="true" description="Available shapes for channel elements.">
<ECEnumerator value="0" name="Trapezoidal" displayLabel="Trapezoidal" />
<ECEnumerator value="1" name="Triangular" displayLabel="Triangular" />
<ECEnumerator value="2" name="Rectangular" displayLabel="Rectangular" />
</ECEnumeration>

<ECEnumeration typeName="RainfallDepthMethod" backingTypeName="int" isStrict="true">
<ECEnumerator value="0" name="Cumulative" displayLabel="Cumulative"/>
<ECEnumerator value="1" name="Incremental" displayLabel="Incremental"/>
Expand Down Expand Up @@ -205,6 +211,59 @@
<ECEnumerator value="3" name="Slot" displayLabel="Slot Inlet"/>
</ECEnumeration>

<ECEnumeration typeName="CurbThroatType" backingTypeName="int" isStrict="true" >
<ECEnumerator value="0" name="Horizontal" displayLabel="Horizontal"/>
<ECEnumerator value="1" name="Inclined" displayLabel="Inclined"/>
<ECEnumerator value="2" name="Vertical" displayLabel="Vertical"/>
</ECEnumeration>

<ECEnumeration typeName="HDS5InletControlCoefficients" backingTypeName="int" isStrict="true">
<ECEnumerator value="0" name="None" displayLabel="None"/>
<ECEnumerator value="1" name="Circle_ConcreteSquareEdgeHeadwall" displayLabel="Concrete - Square edge w/headwall"/>
<ECEnumerator value="2" name="Circle_ConcreteGrooveEndHeadwall" displayLabel="Concrete - Groove end w/headwall"/>
<ECEnumerator value="3" name="Circle_ConcreteGrooveEndProjecting" displayLabel="Concrete - Groove end projecting"/>
<ECEnumerator value="4" name="Circle_CMPHeadwall" displayLabel="CMP - Headwall"/>
<ECEnumerator value="5" name="Circle_CMPMiteredToSlope" displayLabel="CMP - Mitered to slope"/>
<ECEnumerator value="6" name="Circle_CMPProjecting" displayLabel="CMP - Projecting"/>
<ECEnumerator value="7" name="Circle_BeveledRing45DegBevels" displayLabel="Beveled ring, 45° bevels"/>
<ECEnumerator value="8" name="Circle_BeveledRing33_7DegBevels" displayLabel="Beveled ring, 33.7° bevels"/>
<ECEnumerator value="48" name="Circle_SmoothTaperedInletThroat" displayLabel="Smooth tapered inlet throat"/>
<ECEnumerator value="49" name="Circle_RoughTaperedInletThroat" displayLabel="Rough tapered inlet throat"/>
<ECEnumerator value="9" name="Rect_WingwallFlares30DegTo75Deg" displayLabel="30° to 75° wingwall flares"/>
<ECEnumerator value="10" name="Rect_WingwallFlares90DegAnd15Deg" displayLabel="90° and 15° wingwall flares"/>
<ECEnumerator value="11" name="Rect_WingwallFlares0Deg" displayLabel="0° wingwall flares"/>
<ECEnumerator value="12" name="Rect_WingwallFlare45Deg_043D" displayLabel="45° wingwall flare d = .043D"/>
<ECEnumerator value="13" name="Rect_WingwallFlare18DegTo33_7Deg_083D" displayLabel="18° to 33.7° wingwall flare d = .083D"/>
<ECEnumerator value="14" name="Rect_Headwall90Deg_3_4InChamfers" displayLabel="90° headwall w/3/4&quot; chamfers"/>
<ECEnumerator value="15" name="Rect_Headwall90Deg_45DegBevels" displayLabel="90° headwall w/45° bevels"/>
<ECEnumerator value="16" name="Rect_Headwall90Deg_33_7DegBevels" displayLabel="90° headwall w/33.7° bevels"/>
<ECEnumerator value="17" name="Rect_Chamfers3_4In_SkewedHeadwall45Deg" displayLabel="3/4&quot; chamfers; 45° skewed headwall"/>
<ECEnumerator value="18" name="Rect_Chamfers3_4In_SkewedHeadwall30Deg" displayLabel="3/4&quot; chamfers; 30° skewed headwall"/>
<ECEnumerator value="19" name="Rect_Chamfers3_4In_SkewedHeadwall15Deg" displayLabel="3/4&quot; chamfers; 15° skewed headwall"/>
<ECEnumerator value="20" name="Rect_Bevels45Deg_SkewedHeadwall10Deg_45Deg" displayLabel="45° bevels; 10°-45° skewed headwall"/>
<ECEnumerator value="21" name="Rect_Chamfers3_4In_NonOffsetWingwallFlares45Deg" displayLabel="3/4&quot; chamfers; 45° non-offset wingwall flares"/>
<ECEnumerator value="22" name="Rect_Chamfers3_4In_NonOffsetWingwallFlares18_4Deg" displayLabel="3/4&quot; chamfers; 18.4° non-offset wingwall flares"/>
<ECEnumerator value="23" name="Rect_Chamfers3_4In_NonOffsetWingwallFlares45Deg_SkewedBarrel30Deg" displayLabel="3/4&quot; chamfers; 18.4° non-offset wingwall flares; 30° skewed barrel"/>
<ECEnumerator value="24" name="Rect_TopBevels_WingwallFlares45Deg_Offset" displayLabel="Top Bevels; 45° wingwall flares - offset"/>
<ECEnumerator value="25" name="Rect_TopBevels_WingwallFlares33_7Deg_Offset" displayLabel="Top Bevels; 33.7° wingwall flares - offset"/>
<ECEnumerator value="26" name="Rect_TopBevels_WingwallFlares18_4Deg_Offset" displayLabel="Top Bevels; 18.4° wingwall flares - offset"/>
<ECEnumerator value="53" name="Rect_ConcreteTaperedInletThroat" displayLabel="Concrete - Tapered inlet throat"/>
<ECEnumerator value="54" name="Rect_ConcreteSideTaperedlessFavorableEdges" displayLabel="Concrete - Side tapered-less favorable edges"/>
<ECEnumerator value="55" name="Rect_ConcreteSideTaperedMoreFavorableEdges" displayLabel="Concrete - Side tapered-more favorable edges"/>
<ECEnumerator value="56" name="Rect_ConcreteSlopeTaperedLessFavorableEdges" displayLabel="Concrete - Slope tapered-less favorable edges"/>
<ECEnumerator value="57" name="Rect_ConcreteSlopeTaperedMoreFavorableEdges" displayLabel="Concrete - Slope tapered-more favorable edges"/>
<ECEnumerator value="27" name="Rect_CMP90DegHeadwall" displayLabel="CMP - 90° headwall"/>
<ECEnumerator value="28" name="Rect_CMPThickWallProjecting" displayLabel="CMP - Thick wall projecting"/>
<ECEnumerator value="29" name="Rect_CMPThinWallProjecting" displayLabel="CMP - Thin wall projecting"/>
</ECEnumeration>

<ECEnumeration typeName="TreatHeadwallAs" backingTypeName="int" isStrict="true">
<ECEnumerator value="0" name="Transition" displayLabel="Transition" description="Headwall represents a transition between piped flow and channel flow or vice versa"/>
<ECEnumerator value="1" name="PondInflow" displayLabel="Pond Inflow" description="The headwall empties into a pond."/>
<ECEnumerator value="2" name="PondOutflow" displayLabel="Pond Outflow" description="Headwall works as a pond drain."/>
<ECEnumerator value="3" name="AsOutfall" displayLabel="Outfall" description="Headwall acts as boundary outfall to a network."/>
</ECEnumeration>

<ECEntityClass typeName="SewerHydraulicAnalysisModel" modifier="Sealed" displayLabel="Sewer Hydraulics Analysis Model" description="Model containing all Sewer Hydraulic Analysis elements.">
<BaseClass>anlyt:AnalyticalModel</BaseClass>
</ECEntityClass>
Expand Down Expand Up @@ -424,7 +483,7 @@
<BaseClass>FlowControlStructure</BaseClass>
<ECProperty propertyName="OrificeCoefficient" typeName="double" displayLabel="Orifice Coefficient" category="HydraulicData" description="Coefficient of flow for the orifice."/>
<ECProperty propertyName="OrificeOrientation" typeName="OrificeOrientation" displayLabel="Orientation" category="HydraulicData" description="Specify if the orifice oriented perpendicular or parallel to flow."/>
<ECProperty propertyName="OrificeShape" typeName="OrificeShape" displayLabel="Orifice Sfape" category="HydraulicData" description="Specify the shape of the orifice"/>
<ECProperty propertyName="OrificeShape" typeName="OrificeShape" displayLabel="Orifice Shape" category="HydraulicData" description="Specify the shape of the orifice"/>
</ECEntityClass>

<ECEntityClass typeName="OrificeShapeAspect" modifier="Abstract" displayLabel="OrificeShapeAspect">
Expand Down Expand Up @@ -473,11 +532,11 @@
</ECEntityClass>

<ECEntityClass typeName="WeirShapeAspect" modifier="Abstract" displayLabel="WeirShapeAspect">
<BaseClass >bis:ElementUniqueAspect</BaseClass>
<BaseClass>bis:ElementUniqueAspect</BaseClass>
</ECEntityClass>

<ECRelationshipClass typeName="WeirOwnsWeirShapeAspect" strength="embedding" modifier="Sealed">
<BaseClass >bis:ElementOwnsUniqueAspect</BaseClass>
<BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
<Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
<Class class="Weir"/>
</Source>
Expand All @@ -486,7 +545,7 @@
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="RectangularAspect" modifier="Sealed" displayLabel="Rectangular">
<ECEntityClass typeName="RectangularAspect" modifier="Sealed" displayLabel="Rectangular Weir">
<BaseClass >WeirShapeAspect</BaseClass>
<ECProperty propertyName="WeirLength" typeName="double" displayLabel="Weir Length" category="HydraulicData" kindOfQuantity="rru:LENGTH" />
<ECProperty propertyName="RectangularWeirCoefficient" typeName="double" displayLabel="Weir Coefficient" category="HydraulicData" description="Coefficient of flow for the rectangular weir."/>
Expand Down Expand Up @@ -650,6 +709,10 @@
<BaseClass>CatchBasinTypeHydraulicAspect</BaseClass>
<ECProperty propertyName="SlotWidth" typeName="double" displayLabel="Slot Width" category="HydraulicData" kindOfQuantity="rru:LENGTH" />
<ECProperty propertyName="SlotLength" typeName="double" displayLabel="Slot Length" category="HydraulicData" kindOfQuantity="rru:LENGTH" />
<ECProperty propertyName="CurbLength" typeName="double" displayLabel="Curb Length" category="HydraulicData" kindOfQuantity="rru:LENGTH" description="Length of curb opening."/>
<ECProperty propertyName="CurbHeight" typeName="double" displayLabel="Curb Height" category="HydraulicData" kindOfQuantity="rru:LENGTH" description="Size of the vertical opening of curb inlet."/>
<ECProperty propertyName="InclineAngle" typeName="double" displayLabel="Incline Angle" category="HydraulicData" kindOfQuantity="rru:ANGLE" description="Angle throat of the curb inlet relative to the horizontal. Is used when the throat type is inclined."/>
<ECProperty propertyName="CurbThroatType" typeName="CurbThroatType" displayLabel="Throat Type" category="HydraulicData" description="Specify orientation of curb throat relative to the horizontal."/>
</ECEntityClass>

<ECEntityClass typeName="CatchBasinTypeSlotInletHydraulicAspect" displayLabel="CatchBasinTypeSlotInletHydraulicAspect">
Expand All @@ -668,11 +731,63 @@
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="Outfall" modifier="Sealed" displayLabel="Outfall">
<ECEntityClass typeName="Headwall" modifier="Sealed" displayLabel="Headwall">
<BaseClass>BaseStructure</BaseClass>
<ECProperty propertyName="TreatHeadwallAs" typeName="TreatHeadwallAs" displayLabel="Treat Headwall As" description="Specify how the headwall be treated during a calculation."/>
<ECProperty propertyName="HDS5InletControlCoefficients" typeName="HDS5InletControlCoefficients" displayLabel="HDS-5 Inlet Control Coefficients" description="Choose the headwall definition from which to perform inlet control calculations, or choose none to ignore."/>
</ECEntityClass>

<ECEntityClass typeName="TreatHeadwallAsAspect" modifier="Abstract" displayLabel="TreatHeadwallAsAspect">
<BaseClass >bis:ElementUniqueAspect</BaseClass>
</ECEntityClass>

<ECRelationshipClass typeName="HeadwallOwnsTreatHeadwallAsAspect" strength="embedding" modifier="Sealed">
<BaseClass >bis:ElementOwnsUniqueAspect</BaseClass>
<Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
<Class class="Headwall"/>
</Source>
<Target multiplicity="(1..1)" roleLabel="owned by" polymorphic="true">
<Class class="TreatHeadwallAsAspect"/>
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="TreatHeadwallAsTransitionAspect" modifier="Sealed" displayLabel="Headwall as Transition">
<BaseClass>TreatHeadwallAsAspect</BaseClass>
</ECEntityClass>

<ECEntityClass typeName="TreatHeadwallAsNetworkBoundaryAspect" modifier="Sealed" displayLabel="Headwall as Outfall">
<BaseClass>TreatHeadwallAsAspect</BaseClass>
<ECProperty propertyName="BoundaryConditionType" typeName="BoundaryConditionType" displayLabel="Boundary Condition Type" category="HydraulicData" description="Select method to establish bounding tailwater for the network."/>
</ECEntityClass>

<ECRelationshipClass typeName="HeadwallOwnsBoundaryCondtionAspect" strength="embedding" modifier="Sealed">
<BaseClass >bis:ElementOwnsUniqueAspect</BaseClass>
<Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
<Class class="Headwall"/>
</Source>
<Target multiplicity="(0..1)" roleLabel="owned by" polymorphic="true">
<Class class="BoundaryConditionTypeAspect"/>
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="TreatHeadwallAsPondOutflow" modifier="Sealed" displayLabel="Headwall as Pond Outflow">
<BaseClass>TreatHeadwallAsAspect</BaseClass>
<ECNavigationProperty propertyName="UpstreamPond" displayLabel="Upstream Pond" relationshipName="HeadwallRecievesFlowFromPond" direction="Forward" description="Specify the element which the catchment outflows." />
</ECEntityClass>

<ECRelationshipClass typeName="HeadwallRecievesFlowFromPond" strength="referencing" modifier="Sealed">
<Source multiplicity="(0..*)" roleLabel="discharges to" polymorphic="false">
<Class class="TreatHeadwallAsPondOutflow"/>
</Source>
<Target multiplicity="(0..1)" roleLabel="discharges from" polymorphic="false">
<Class class="Pond"/>
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="Outfall" modifier="Sealed" displayLabel="Outfall">
<BaseClass>BaseStructure</BaseClass>
<ECProperty propertyName="BoundaryConditionType" typeName="BoundaryConditionType" displayLabel="Boundary Condition Type" category="HydraulicData" description="Select method to establish bounding tailwater for the network."/>
</ECEntityClass>

<ECRelationshipClass typeName="OutfallOwnsNodeDesignConstraintsAspect" strength="embedding" modifier="Sealed">
<BaseClass >bis:ElementOwnsUniqueAspect</BaseClass>
Expand Down Expand Up @@ -732,6 +847,46 @@
<ECProperty propertyName="StopInvert" typeName="double" displayLabel="Invert (Stop)" category="HydraulicData" kindOfQuantity="rru:ELEVATION" description="Set the invert of the pipe adjacent to the stop node."/>
<ECProperty propertyName="ManningsN" typeName="double" displayLabel="Manning's n" category="HydraulicData" description="The roughness value for the pipe."/>
<ECProperty propertyName="PlanLength" typeName="double" displayLabel="Length" category="HydraulicData" kindOfQuantity="rru:LENGTH" description="The horizontal length of the pipe."/>
</ECEntityClass>

<ECEntityClass typeName="Channel" modifier="Sealed" displayLabel="Channel">
<BaseClass>Conduit</BaseClass>
<ECProperty propertyName="Shape" typeName="ChannelShape" displayLabel="Shape" category="HydraulicData"/>
</ECEntityClass>

<ECEntityClass typeName="ChannelShapeAspect" modifier="Abstract" displayLabel="Channel Shape">
<BaseClass>bis:ElementUniqueAspect</BaseClass>
<ECProperty propertyName="ChannelHeight" typeName="double" displayLabel="Height" category="HydraulicData" kindOfQuantity="rru:LENGTH"/>
</ECEntityClass>

<ECRelationshipClass typeName="ChannelOwnsShapeAspect" strength="embedding" modifier="Sealed">
<BaseClass>bis:ElementOwnsUniqueAspect</BaseClass>
<Source multiplicity="(1..1)" roleLabel="owns" polymorphic="false">
<Class class="Channel"/>
</Source>
<Target multiplicity="(1..1)" roleLabel="is owned by" polymorphic="true">
<Class class="ChannelShapeAspect" />
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="StandardChannelShapeAspect" modifier="Abstract" displayLabel="Standard Channel">
<BaseClass>ChannelShapeAspect</BaseClass>
<ECProperty propertyName="ChannelSpan" typeName="double" displayLabel="Span" category="HydraulicData" kindOfQuantity="rru:LENGTH"/>
</ECEntityClass>

<ECEntityClass typeName="RectangularChannelShapeAspect" modifier="Sealed" displayLabel="Rectangular">
<BaseClass>StandardChannelShapeAspect</BaseClass>
</ECEntityClass>

<ECEntityClass typeName="TriangularChannelShapeAspect" modifier="Sealed" displayLabel="Triangular">
<BaseClass>StandardChannelShapeAspect</BaseClass>
</ECEntityClass>

<ECEntityClass typeName="TrapezoidalShapeAspect" modifier="Sealed" displayLabel="Trapezoidal">
<BaseClass>ChannelShapeAspect</BaseClass>
<ECProperty propertyName="BottomWidth" typeName="double" displayLabel="Bottom Width" category="HydraulicData" kindOfQuantity="rru:LENGTH"/>
<ECProperty propertyName="LeftSideSlope" typeName="double" displayLabel="LeftSideSlope" category="HydraulicData" kindOfQuantity="rru:LENGTH"/>
<ECProperty propertyName="RightSideSlope" typeName="double" displayLabel="RightSideSlope" category="HydraulicData" kindOfQuantity="rru:LENGTH"/>
</ECEntityClass>

<ECEntityClass typeName="Pipe" modifier="Sealed" displayLabel="Pipe">
Expand Down

0 comments on commit 5538c7b

Please sign in to comment.