Virtual Flume

Ven Te Chow’s book “Open Channel Hydraulics” is arguably the gold-standard book for hydraulic engineers-especially those of us who model open channel flow.

Written by Chris Goodell | Kleinschmidt Associates

Copyright © The RAS Solution. All rights reserved.

I’ve mentioned this before, but I am thoroughly impressed with the robustness of the finite volume solution scheme used in 2D areas in HEC-RAS. As long as your Courant Numbers are in a good spot, you rarely get errors and instabilities in 2D areas. HOWEVER, the transition from 1D to 2D and back is another story. In fact, the majority of errors I get in 1D/2D models occur there (either at the cross section to 2D area interface for inline connections, or in the cells adjacent to the lateral structure for offline connections). In this post, I’m going to talk about the errors next to lateral structures at 1D/2D boundaries.

Take this for example. The model runs well with friendly blue bars everywhere. But I just can’t let go of the 5.154-ft error. It only happens once and obviously doesn’t cause the model to crash. But it’s there, and a 5-ft error is a little more than I can stomach.

My usual go-to output for cross section errors, the water surface profile plot, gives me no clues as to what is wrong. In RAS Mapper, I have what appears to be a flooded situation around the time where the error occurs, but reasonable looking results. I turned on the Update per Screen option in the Velocity Layer Properties window, so that I could optimize the velocity scale for this view. Here I noticed that the maximum velocity is 11.5 feet per second (fps) (which is about 3.5 meters per second). This is way too high for this river, and in fact while hovering around the centerline of the river, I get maximum velocities of around 2.8 to 2.9 fps. But since the Update per Screen option is turned on for velocity here, that indicates that there is a hotspot velocity of 11.5 fps somewhere in this view. I just have to find it.

On closer inspection, I can see some lighter shades of blue and green (i.e. higher velocities) in the floodplain adjacent to the lateral structures (as highlighted in the white circles). Knowing that cells adjacent to lateral structures are typically going to be the culprits in 1D/2D models, I zoomed in to the cells around the lateral structures to get a closer look. I started with the circled area to the right, since that was closest to the cross section that generated the numerical error of 5.154 ft.

While zoomed in, it was hard to see at first, with the terrain turned on, so I turned off the terrain and noticed this little sliver of high velocity right at the boundary of the 1D river and the 2D area.

Turning the velocity off and the terrain back on, you can see how the 2D area dips into the main channel just slightly, and in fact it overlaps the lateral structure as well. This reveals a very typical problem that you can run into with 1D/2D offline connections with lateral structures. For a given timestep, RAS will compute a volume of water going over (or through in the case of gates and culverts) the lateral structure into a given cell. But if the receiving cell has a small sliver of low lying area, like in this example, that relatively small amount of volume could be enough to significantly raise the water surface in the cell. Perhaps enough so that it is even higher than the water surface adjacent to it in the 1D reach. This would then send water back the other direction the next time step. Besides the numerical shock of a sudden and large rise in stage, the oscillating effect of sending water back and forth can set up errors that persist, grow, and lead to an instability.

Now if you’re using the weir equation on the lateral structure, you could change your weir submergence decay exponent from the default value of 1 to 3 (1 is the most accurate, 3 is the most stable). This has a dampening effect on the oscillations and errors you get from this situation. Read more about the weir submergence decay exponent in the HEC-RAS User’s Manual on page 8-41. You might also reduce the weir coefficient. This will reduce the volume of water that transfers from the river to the cell for a given timestep. If there is no elevated feature represented by the lateral structure (e.g. it is not a levee), you would want to use a very low weir coefficient on the order of 0.1 to 0.5, as discussed in the 2D Modeling User’s Manual on page 3-50. However, in this case, it might be better to just use the 2D equations over the lateral structure instead of the weir equation. Using the “Normal 2D Equation Domain” (this is just a funny way of saying “Use 2D Equations”) is a relatively new feature available in lateral structures. But if your lateral structure does not represent an elevated terrain feature (e.g. a weir or levee), then this might be the better option to use.

However, in recognizing that the 2D area perimeter and the lateral structure are poorly located, I will fix this first to see if that’s all that is needed to solve the problem.

First, I’ll pull in the 2D area to just beyond the high ground. This can easily be done in RAS Mapper on the 2D Area Perimeter Layer while in edit mode. Next, I’ll pull over the lateral structure so that it resides ON the high ground.

In the current version of HEC-RAS (as I type this post), Version 5.0.7, you cannot edit lateral structures in RAS Mapper. So you have to do it in the Geometry Editor for now, using the Edit…Move Points/Objects command. After moving the lateral structure, I adjusted the location of the 2D perimeter again, so it is just inside the lateral structure. Here you can see a much better placement of both the 2D perimeter and lateral structure.

And don’t forget, since I moved the lateral structure placement, I have to re-extract the terrain onto it. Fortunately, HEC-RAS gives us a short cut to do this with the Terrain Profile button.

After re-running, the error is gone and the results look much better. Notice the peak velocity in the scale is back to a normal value of 2.6 fps. And the 5.154-ft error is gone!

## Comments

## Luis Partida

on February 4, 2020This may be an excessively large model in its current form. But another suggestion is to refine the mesh region adjacent to the cross section. If the LOB and ROB are connected to the same 2D mesh this can be done by simply drawing a full closed polygon around the region. If the LOB and ROB are NOT connected to the same region the mesh must be refined into 2 different override regions. You will notice once this is done the 1D connection to the 2D cell will be much closer in elevation then prior, this helps in the transfer of runoff from XS to cell. I understand your issue here, just giving alternative advice for anyone reading. Thanks!

## Anonymous

on February 12, 2020What does it mean to use the 2D equation option when one side of the lateral structure is 1D cross-sections? Along the same lines, if there is a breach in the lateral structure, one must specify a breach weir coefficient. How is that weir coefficient reconciled with a selection of using the 2D equation to represent the lateral structure?

## Chris G.

on February 12, 2020It basically treats the lateral structure as if it were a series of cell faces, then it solves the 2D equations across those faces. The water surface elevation in the "cell" on the 1D side of the faces is determined by interpolation between the cross sections. If you use the 2D equations, instead of the weir equation, the weir coefficient is not used. 2D equation usually works better when there is a high degree of submergence on the weir, or if there is not weir at all. Weir equation usually works better when there is a defined elevated structure represented by the lateral structure (e.g. a levee or dike).

## jim

on March 17, 2021I have a 1D-2D coupled model using lateral structures and the result shows a big volume accounting error of 38.36%. When I checked 1D reach volume and 2D area volume error by looking at the computation log file, each of them have less than .2% error. I am wondering how the total volume accounting error is so big while each individual ones (1D channel, 2D areas) are tiny. Thanks.

## Chris Goodell

on March 23, 2021My guess is that you have instabilities at the 1D-2D boundary. Suggest setting some 1D/2D iterations, rerun your model, and see if that brings your volume accounting error down to a reasonable level.

## Jim

on March 23, 2021Thank you Chris. Yes, if I turn on the 1D-2D iterations the volume accounting error goes down: 5 gives me an error of 1.x% while 20 gives me an error of 0.x%. Another finding: if I change the 2D area manning’s n from landuse varying n to a uniform value (0.06, or 0.25 does not matter) without 1D-2D iteration on, the volume accounting error also goes down to less than 1%. Is this something that can be explained?

## Chris Goodell

on March 29, 2021Thanks for sharing that Jim. My guess is using a uniform n value helps to minimize changes from one cell to the next. I imagine that would also minimize errors between computation points. So in that respect it makes sense, but I’m not sure if that’s the exact reason.

## Wilox

on July 28, 2021Hi everyone,

I want to do a modelling of combined 1D-2D with HEC RAS and 1D finite solver like 1D numerical solution.

When I want launch a HEC-RAS modelling with a hotstart file and a 2D flow area connected at a cross section by a weir, I receive this error message* :

ERROR with Restart File

The geometry (number of cells/faces) for the 1D Finite Volume

appears different than the geometry used

to create the Restart file

Please recreate the Restart file with the current data

by re-running the plan that originally created the Restart file

Program execution halted

Error starting unsteady simulation – Stopping compute process

• In HEC-RAS Unsteady Computation Options and Tolerances, I’ve tried different options in 2D Flow Options like :

– Equation Set : Diffusion Wave, SWE-ELM or SWE-EM

– Matrix Solver : PARDISO, SOR or FGMRES-SOR

– Change 1D/2D Unsteady Flow Options

• I’ve also tried to use Prior WS Filename but it doesn’t work :

Error Setting Flow Distribution From Results, exiting…

Error processing event conditions

• In restart file options, I’ve used Write Initial Condition file(s) during simulation to create file at the beginning of simulation and at the end of the simulation. Intermediate simulation time was also created to test many ones.

But I receive always the same message*.

Else, in another project I’ve tried to use finite difference solver with a 2D flow area and it works. But in this current project, I must to use finite volume solver by stability issues and restitue study at time.

Therefore I would like to know if someone I’ve already launch a hotstart file with a 2D flow area and 1D finite volume ? Please.

Thanks you very much for reading me.

## Chris Goodell

on July 28, 2021Make sure you rerun the restart plan first, and that it is writing the restart file. Then when you run your actual plan, make sure it is reading the correct restart file.

## Yasir altaf

on January 16, 2022Hi

Actually I am developing a 1D2d model using hecras 6.0.

I have linked the channel with the mesh using (spacing of 20 by 20 )in the flood plain by lateral structures.

My model is stable and model is running fine. However I am facing the problem that during even very low flows water is seeping into 2d area though at such low flows it should have been confined to channel only.

## Chris Goodell

on January 28, 2022You may need to use break lines to reorient the cell faces along the high ground that should be blocking flow. If you still see leaking after that, try turning on hydraulic connectivity in your map image display options to see where the leaking is coming from. Then fix that area up either with breaklines or smaller cells or both.

## Alex Murray

on September 21, 2022Hi all,

I am working on a 1D/2D RAS model in Version 6.1 but cannot get the model to run. I am getting the error “2D Solution went unstable” every run. I have iterations between 1D and 2D on, and I am seeing that there are large errors occurring at the SA/2D connection between two 2D areas that represents a levee (40 ft wide, Cd of 1.5, and Broad Crested). Is there a solution for this?

I have attempted changing the timestep up and down, using the “Adjust time step based on Courant” option, changing grid cell sizes, using breaklines, increasing maximum iterations, and some other fixes but I cannot get it to run.

Thanks

## Add Your Comment