Wednesday, December 3, 2008

Unsteady flow and Junctions

Written by Chris Goodell, P.E., D. WRE | WEST Consultants
Copyright © 2008. All rights reserved.

I was checking over a model yesterday and stumbled across a somewhat uncommon, but annoying issue with HEC-RAS unsteady flow specific to junctions. At a junction, for unsteady flow modeling, RAS will just translate the downstream water surface elevation to the two upstream cross sections. (*UPDATE-Version 4.1 now has the "Energy Balance Method" for unsteady junctions.  That will solve the problem described in this post.  However, if only works for convergence junctions, not divergence junctions (i.e flow splits).  If you have a divergence junction, you will have to use the technique described below until version 4.2 comes out.  Version 4.2 will allow the Energy Balance Method for Divergence Junctions as well)
Normally this causes no problem at all and is not even noticeable (i.e for relatively shallow bed slopes and relatively large depths-IOW, most natural rivers). However, in cases where you have a steep reach with relatively shallow depths, the upstream cross sections will have an extremely shallow depth, which backs out a high velocity and large velocity head. In turn, the next cross section upstream must balance this high velocity head with a correspondingly high depth-and the see-saw pattern ensues (see left).

Under this scenario, the cross sections MUST be set very close to the junction point, to avoid the problems associated with this limitatin in the model. You can do this by either going out and resurveying new cross sections (boo), or copying the junction-bounding cross sections to locations very close to the junction (better). Just copy the cross section and then adjust the elevations of the copied cross sections to match the bed slopes. Make sure you adjust the junction lengths and cross section reach lengths accordingly. Then you’ll see a result more like this…

Obviously you’ll see that I interpolated some cross sections throughout the reach. For as steep as it is, it needed more.

The obvious question then is, "how close do I need to get the cross sections to the junction?" really depends on how steep the reach is and how shallow the water is. Generally I get them close enough so that the water surface at the upstream cross section is deep enough to avoid an over-correction in the energy loss. This figure might help to explain:


  1. Can you please describe to me in detail how to measure the lengths across a junction. Do you measure from the most upstream cross-section through the junction to the downstream cross section for both reaches/rivers/ Or do you measure one through the junction and one to the junction. This is for an unsteady model. Thanks for the help.

  2. Certainly. It is measured along the main channel flow path from the upstream cross section on the lower reach through the junction to the downstream cross section on the upper reach. You do this for both (all) reaches. And it is the same for steady or unsteady. Make sure you check my latest entry on junctions with regard to the new version of HEC-RAS soon to come out

  3. Thanks for the quick response. I am currently revieweing a HEC-RAS model and the person that set it up measured the distance through the junction for one reach, but measured the other reach only up to the junction itself. My question is what is the impact of them setting up the model this way? Should it be addressed?

  4. For a steady flow model, the energy loss over the junction would be underestimated in the reach where the junction length was not properly defined. In the current version of HEC-RAS, unsteady flow modeling simply copies the water surface elevation of the downstream cross section (d/s of the junction) to the one upstream of the junction. I was wrong when I said in my previous post that it is the same. In practice it should be set up the same way for steady or unsteady, but computationally, it is handled differently. For unsteady flow, the junction length would not be used at all and it would make no difference in the results. However, graphically it would look incorrect on plots and the geometry schematic. In the next version of RAS (4.0.1, soon to come out), unsteady flow will be able to compute energy loss over the junction. Then it will be important to have the correct junction lengths defined.

    Bottom line, the modeler doesn't HAVE to change the junction length if it is an unsteady flow model, but it would be good practice to do so (and it's easy to do).

  5. Update: Version 4.1 does have a new feature that computes energy loss over a junction in unsteady flow. A blog post on this will be coming soon

  6. Hi Chris, I have one basic question about junction, but it's bothering me why do we need to give flow data on every reach while modeling with a junction? For bifurcation, I guess may be it's needed as it hard to calculate what will be the flow in two streams. But, for confluence, why can't model sum up the upstream rivers flow and uses those as a total flow for next reach. Is it same with other 1D models as well or is it only in HEC-RAS? Any feedback would be appreciated.

    1. I agree, but that's just the way it is in RAS.

  7. I plan to put two weirs ( of different widths) in the same chamber to enable two different flow rates from a common inlet.
    I need flows to split into 41 cum/hr and 200 cum/hr. The head over weir need to be the same.
    Is it possible ?

    1. Yes. Try using an inline structure for one weir and a lateral structure for the other.

  8. Hi Chris,

    Thank You for the posts. I have generated 100 year flood plain in HEC RAS and want to export this floodplain boundary lines as shape file into Civil 3D. Is it possible? What's up with .db file?
    Thank You.


Note: Only a member of this blog may post a comment.