Preparing a stable unsteady HEC-RAS model is a common problem among hydraulic modelers. This is particularly true when preparing a dam-break model in HEC-RAS.
An unstable HEC-RAS model results in numerical errors that grow until the results start to oscillate. As a result, the errors grow until the model computations cannot continue. There are many things that can cause instabilities in an HEC-RAS model.
If your HEC-RAS model is unstable, look for aspects of your model that exhibit extreme changes.
In general, HEC-RAS “likes” gradual changes. If your HEC-RAS model is unstable, look for aspects of your model that exhibit extreme changes. The list below outlines some ways you could stabilize your HEC-RAS model.
Please note that your HEC-RAS model may require more than one change in order to stabilize it. That is why it is important to understand the theory behind the program.
Adjust Computational Time Step
When stabilizing an unsteady HEC-RAS model, consider adjusting the computation interval. Model stability is very sensitive to computational time steps. In addition, an appropriate time step will capture the shape of the hydrograph accurately. A time step that is too large will result in numerical diffusion (i.e, attenuation of the peak). A time step that is too small can result in model instability as the leading edge of the flood wave will steepen to the point of causing oscillation. A time step that is too long may also result in unreasonably long run times.
Calculate the Courant Number to determine (approximately) your time step. This is particularly important when preparing a dam-break model.
HEC-RAS now allows the user to select a variable time step based on the Courant Number. Personally, I have never been able to get the variable time step feature to work properly. However, the video below shows you how to try it on your own.
If you do not want to calculate a Courant Number, you could take a more iterative approach. A practical rule of thumb is to start with a computational time step that is equal to the rise of the inflow hydrograph divided by 24. For example, if the time of rise for the inflow hydrograph is 3 hours, try a computational time step of 1800 min ÷ 24 = 75 minutes. Then decrease the time step if needed to stabilize a model.
Check Your Cross Section Spacing
When addressing unsteady model instability, you should also look at the distance between your cross-sections. When cross-sections are placed too close together, HEC-RAS overestimates the derivatives with respect to distance. This causes the flood wave will steepen.
On the other hand, you can also place cross sections too far apart. When you place cross sections far apart, this can result in significant changes in hydraulic properties. Remember that HEC-RAS likes gradual changes! Placing cross-sections too far apart can also cause the peak flow to be underestimated on the downstream end of the model.
If your cross sections are too close together, consider deleting some of your sections. If your cross-sections are too far apart, and you do not have the data to cut more, add interpolated cross-sections. You can do this by clicking Tools in the Geometric Data Editor. Then select XS Interpolation. Interpolated cross-sections are shown in green in the Cross Section Viewer. They will also be indicated by an asterisk (*) in the output tables.
Additional cross-sections are typically required in steep reaches where supercritical flow is possible, slope changes (i.e., mild slope to steep slope), and transition zones where flow exits the channel.
Adjust Theta Weighting Factor
The HEC-RAS User’s Manual suggests applying a theta weighting factor between 0.6 and 1.0. A higher value (1.0) will result in a greater degree of stability (Hicks and Peacock, 2005). However, applying a value of 0.6 will result in a more accurate model (Brunner, 2014). This is because a theta weighting factor of 1.0 produces a fully implicit formula that is highly diffusive (Aaron A. Lee, 2011 – RAS Solution).
When you are initially setting up your unsteady model, use a value of 1.0. Once you have stabilized other aspects of the model, try lowering the theta weighting factor. As you lower the theta weighting factor, pay attention to how this impacts the results. Keep in mind that it may take several iterations to find an appropriate theta weighting factor.
If your unsteady HEC-RAS model is fairly complex, you will probably not be able to get the theta weighting factor down to 0.6. In these cases, a theta weighting factor of around 0.8 may be the best you can do.
To adjust the theta weighting factor, open the Unsteady Flow Analysis dialog box. Open the Options menu and click Calculation Options and Tolerances.
In addition to the theta weighting factor, you can also try adjusting other computational tolerances (e.g., water surface elevation). Increasing the tolerances will result in more convergence. However, in my experience, increasing these values does not seem to significantly impact model stability.
Check Your HTab Parameters
For unsteady flow analyses, HEC-RAS will convert geometric data to a set of hydraulic curves. The hydraulic parameters considered include conveyance, flow area, top width, and storage. To view these hydraulic curves, go to the main HEC-RAS menu. Click View > Hydraulic Property Tables.
Making sure that your HTab Parameters are set up correctly will result in more accurate hydraulic curves. This is particularly true for low flows.
Go to the Geometric Data Editor and click the HTab Parameters button.
Start by maximizing the number of points for your cross-sections. Then make the increment as small as you can. Just make sure the lines will cover the water surface elevation. Finally, highlight the Starting El column and click Copy Invert.
Check Your Initial Conditions
If your model crashes at the start of the simulation, this is an indication that there may be an issue with your initial conditions. You do not want your cross-sections to go dry. Assign a minimum flow that is 5% of the peak flow rate. In addition, you should make sure that the initial gate settings for the reservoir and the reservoir stage make sense.
The initial water surface elevation for storage areas needs to be consistent with the defined flows and gate settings.
Model Steep Reaches With Modified Puls Hydrologic Routing
HEC-RAS has problems with longitudinal slopes greater than 10% (0.1 ft/ft). This is because a steep angle will essentially remove the pressure component of the St. Venant unsteady equations. For this reason, you should model very steep sections with the Modified Puls Hydrologic Routing technique.
Previously, modelers would represent steep reaches with inline structures. However, figuring out what discharge coefficient to use is somewhat annoying.
To implement Modified Puls Hydrologic routing, first set up a steady flow model with multiple profiles. These profiles should represent the full range of values in your hydrograph. Of course, including more steady flow profiles will result in a better storage/outflow relationship.
Next, go to the Geometric Data Editor. Then go to Options and click Hydrologic Unsteady Routing. The following window will appear.
Then select the regions where you want to apply the Modified Puls Hydrologic Routing and import the storage-discharge relationship from the steady flow profiles for each region. Make sure you select the “Use Modified Puls Routing” checkbox. Finally, you can run the unsteady model.
Check Structure Data
Inline and lateral structures often cause model instabilities. This is especially true for lateral structures because it removes flow from the river system.
In addition, adjust the gate parameters. Try opening and closing the gates more slowly. When you open a gate quickly, this results in an increase in velocity, which causes model instability.
If you have a model that contains an inline or lateral structure, consider adjusting the stability factor. The default stability factor value in HEC-RAS is 1.0 which means the flows are not dampened. If you are having stability issues, try increasing this stability factor. As you increase the stability factor, you will get greater dampening which, in turn, will result in greater model stability. However, the accuracy will decrease.
For 1D-2D lateral structures, make sure you select the “Normal 2D Equation Domain” option rather than the “Weir Equation” option.
Finally, verify that you have applied an appropriate weir coefficient for the inline structure and lateral structure.
To learn more about selecting an appropriate weir coefficient, click here to read my blog post about weir coefficients.
Check for Boundary Condition Issues
Boundary conditions are required at the upstream (supercritical model) and downstream (subcritical model) ends of the hydraulic model.
Downstream boundary conditions cannot be defined using a flat or negative slope. To accomplish a positive downstream slope, you may have to extend the model downstream.
In addition, make sure that your boundary conditions are consistent with any specified initial flows.
Remove Steep Changes in Elevation-Area Curves
Storage areas are typically stable components of an unsteady HEC-RAS model. However, if your storage area is defined using an elevation-area curve with steep changes, this is a problem that must be addressed.
In HEC-RAS, storage area computations are performed using the continuity equation. This means the storage area itself is not the problem. However, a steep elevation-area curve can cause drastic changes in water surface elevation at cross-sections connected to the storage area.
Add Ineffective Flow Areas
You do not want the active flow area of each cross-section to change significantly from one section to the next. As discussed several times in this blog post, HEC-RAS does not like drastic changes.
In addition, water cannot expand faster than 2:1 to 3:1. It cannot contract more quickly than 1:1. This is particularly important near bridges and other structures that cause the flow to contract and expand. To prevent abrupt changes in flow area, you can add ineffective flow areas.
Ineffective flow areas allow the user to define the areas where water is not actively conveyed. These are often areas where water will pond. Therefore, the flow velocity will be close to zero.
Note that ineffective flow areas should be designated as permanent so ineffective flow does not suddenly disappear. You should also make sure that the ineffective flow area extends to a high enough elevation. When water overtops the ineffective flow area, there will be a significant increase in the conveyance area. This will cause the model to oscillate between having an ineffective flow area for one time step and no ineffective flow area at the next time step.
Create a Hot Start File
As discussed previously, the way initial conditions are defined can cause model instabilities. One way to address these issues is to create a hot start file. Hot start files are also called initial conditions files or restart files.
To create a hot start file, create a new plan with a flow file that applies a constant flow at the upstream boundary. Then apply a stage hydrograph as a downstream boundary condition. The water surface elevation should be high and then decrease gradually until it reaches the water surface elevation for the project model.
Manning’s Roughness Coefficient is Too Low
Manning’s roughness coefficients (n) are applied to HEC-RAS models to represent the friction factor in open channels.
Although there is a lot of guidance on selecting appropriate Manning’s roughness coefficients, there is also a significant uncertainty associated with these values. This is due to the empirical nature of Manning’s roughness coefficients.
Research indicates that Manning’s roughness coefficients decrease with depth. If your model has supercritical flows or shallow depths, these conditions may warrant lower Manning’s roughness coefficients. However, applying Manning’s roughness coefficients that are too low can cause model instabilities. To make sure you are applying a Manning’s roughness coefficient that makes sense, use Dr. Robert Jarrett’s equation for high gradient streams.
n=0.39Sf-0.39R-0.16
where,
n = Manning’s roughness coefficient
R = hydraulic radius (ft)
Sf = slope of the energy grade line (ft/ft)