Bridges in 2D Areas-Important Update!

Written by ironcore | May 17, 2016

***Update:  I received a few very important comments about this post that I want to share.  

First, and this is very important:  These methods are not meant to be used to do any kind of detailed bridge design or bridge scour analysis (contraction, abutment, or pier scour).  The methods I present in this post are strictly as a means to include a bridge in a 2D area to gage its effect on the overall resulting flood inundation.  Meeting FHWA standards for bridge modeling requires much more information than these options will provide you.  

Second, Mark Forest posted a couple of very good comments that I would like to share. Please read his comments at the end of this post.

There have been a lot of requests for examples of how to model bridges in 2D areas.  First, let me state up front that in the current version (5.0.1) there is no direct way to put a bridge in a 2D area, like you would in a 1D reach.  That means, that we currently don’t have a way to use low flow bridge modeling approaches like Energy, Momentum, Yarnell, and WSPRO.  Likewise, you can’t use the high flow approaches (Energy, Pressure/Weir).  Hopefully this will be added to a future version.  

That being said, I’ll present three options for simulating bridges in 2D areas.  

To demonstrate these options, I used a dam breach model adapted from HEC’s Bald Eagle Creek data set.  The animation is included at the end of this article. 
Option 1. Simply modify the terrain to include the bridge embankments, abutments, and even piers.  This requires a little work in GIS manually editing the terrain to include those features.  If you have a RAS model and you don’t want to get into GIS at all, this is probably not the right method for you.  However, if you are modeling an existing bridge, look closely at your terrain. You might see that the bridge components (minus the deck and piers) are already in there.  When processing LiDAR data, it’s common to remove the bridge deck, but leave the roadway approaches and abutments.  This may be sufficient enough, especially if the depth of water doesn’t get high enough to impact the bridge deck and there are no piers, or they are relatively small compared to the bridge opening.  In this case, RAS will just use the regular 2D St. Venant equations to model flow through the bridge opening. 
Here’s an example that shows a bridge that could be modeled using Option 1. 

Notice the bridge deck appears to be inundated.  Don’t be fooled by this.  The deck is actually higher than the roadway approaches (which are dry), but since it’s not included in the terrain, RAS doesn’t know it’s there-it only sees the roadway approaches and the bridge abutments (see next figure).  The deck is in fact not impacted in this case.  Since the deck is not impacted, we can model this bridge using the existing terrain.  In this case RAS will use the 2D St. Venant equations to compute stages and flows through the bridge opening.  I’m not sure if there are piers under this bridge or not.  If there were, you could either ignore them (if they’re relatively small) or try to work them into the terrain somehow.  I suppose if you really wanted to get crazy you could make a very small 2D area connection for each pier, or even use very high n values in the cells that the piers occupy. 

When setting up your geometry to model this as a bridge, there’s really not much to it.  You are basically using the existing terrain and laying a mesh on top of it.  However, it is important to establish cell faces along the top of roadway, since it will be acting as a barrier to flow.  You can easily do this by drawing and enforcing breaklines as shown below with the red polylines.
  • Easy to set up for existing bridges that are included as part of the terrain.
  • Requires manually editing your terrain if you want to model a proposed bridge.  
  • Can only simulate low flow through a bridge (can’t impact the bridge deck).  
  • Can’t simulate piers.
Option 2.  Use a SA/2D Area Connection with a culvert (or culverts).  This is particularly useful for wider bridges with relatively small openings when the bridge deck is impacted during the flood.  If the bridge has piers, you can use multiple culverts, the spacing between them is what simulates the piers.  In this example (same HEC-RAS dataset), you can clearly see that this bridge, its abutments, and its roadway approaches are overtopped by the flood.    
Here I’ve inserted a SA/2D Area Connection for the bridge.  
Although it is technically a bridge, we can simulate it with a culvert by using a box that has the same width and height as the bridge opening.  Simply measure the width and height of the bridge opening and use that for the span and rise of the box culvert.  I grabbed the dimensions of the bridge opening from the 1D version of the Bald Eagle dataset (converted from English Units).  Try to get this as close as possible, although you’ll not get it exactly the same. 
Although this is relatively easy to do, especially if you have the bridge dimensions on hand, it would be wise to calibrate this to the original model.  Since bridges can’t be used directly in 2D areas, you’ll have to do your calibration in a 1D version of your model.  Typically you’ll focus on the inlet coefficient, n values and the culvert width (span) as your calibration parameters.  Try to replicate the stage hydrograph as closely as you can (this is usually difficult to do), but at least calibrate to the timing and water surface elevation of the maximum inundation.   
  • Can simulate low flow and high flow conditions (i.e. bridge overtopping).
  • Uses culvert equations to model a bridge.  
  • You may not be able to get the culvert shape to perfectly match the bridge opening.
  • Requires calibration. 
Option 3.  Use a SA/2D Area Connection with a gate (or gates).  This is particularly useful for narrower bridges with relatively large openings when the bridge deck is impacted by the flood.  If the bridge has piers, you can use multiple gates, the spacing between them used to simulate the piers.  In this example (again…same dataset), it’s hard to tell if the bridge overtops, since there are some dry areas on either side of the deck.  However, it is close.  And if there is any thickness to the deck at all, it is likely that there will at least be pressure flow. We’ll verify this later.
Again, I’ve inserted a SA/2D Area Connection for the bridge. 
From here, the technique is very similar to Option 2, only you’ll use gates instead of culverts.  Again, get the dimensions of the bridge opening and use that to size the gates.  In this example, there are two piers, so I’ll put in three gates (the space between the gates simulates the piers). 
Here’s the bridge as it is input to the 1D version of the Bald Eagle dataset:
…and in the 2D model using gates:
To simulate the two piers, I had to create three different gate groups, since the resulting openings are all slightly different. 
One unique consideration for Option 3 is that you have to add time series boundary conditions for operation of the gates.  It’s easy to do, you just have to create a new unsteady flow file and add in the boundary conditions.  Just set the gates to be fully open for the entire simulation. And don’t forget to set the time series for all three gates.  You’ll get a somewhat unhelpful message if you do forget. 
As with culverts, it’s important to calibrate your gate version of the bridge to the bridge in the 1D version of the model.  For gates, you’ll want to focus on the weir coefficient and the sluice discharge coefficient as well as the width of the gates for your calibration parameters. 
  • Can simulate low flow and high flow conditions (i.e. bridge overtopping).
  • Uses gate equations to model a bridge.  
  • You may not be able to get the gate shape to perfectly match the bridge opening.
  • Requires calibration.  
  • Requires additional boundary conditions (time-series gate openings).
When checking output, you will get stage and flow hydrographs for the two methods that use SA/2D Area connections.  However, you’ll find they are generally not too useful-they’re geared more towards presenting 1D simulation results.  In 2D areas, I prefer to use the Profile Lines.  Below, I plotted both the maximum water surface elevation on the terrain profile as well as the velocity profile.  If you revisit the plot shown above of the SA/2D Area Connection that represents this bridge, you’ll see that the bridge deck upper chord is at an elevation of approximately 174.3 meters.  And the lower chord of the deck is approximately 173.2 meters.  Therefore, the bridge doesn’t overtop during the simulation, but it does go into pressure flow. 
Also, you can clearly see that the right bank will get some potentially damaging velocities! (This is after all, a dam breach simulation). 
It’s interesting-this velocity hotspot is not what you might think.  I initially assumed that this was velocity in the direction of the creek, moving “downstream”-the velocity we typically consider when determining abutment scour.  However, when plotting the particle tracing and velocity vectors on top of the water surface elevation layer, you can see that this is actually high velocity from water spilling over the bank (again, this is a dam breach model, which is why you have water spilling from the overbank into the channel).  The drop in water surface elevation over the bank is about 3 meters!
Here is a zoomed-out view of the dam breach flood event.  Look closely during the animation-the cursor points out the three bridges that were modified for this article.  

Do any of you have any other ways to model bridges in 2D areas?  If so, please share!

Mark ForestPractice Leader – Floodplain Management and Modeling at HDR Engineering has the following to add:  That is a good summary. I would note that if you include the piers in the terrain, it is important to build breaklines through the piers and use a small enough grid spacing around the piers if you want them to be properly simulated as obstructions to the flow path. Otherwise they just displace volume. Also, the impact of the piers really requires the full momentum solution as well. The run-up on the face of the pier will be seen with the full momentum solution when properly gridded around the pier. Also, when you are attempting to simulate flow around the abutments (that you have carefully incorporated into the terrain), it will require a finer mesh around the abutments to capture the more detailed velocity distribution in that part of the model domain. 

Non-pressure flow bridges can be effectively modeled this way, if the terrain has been properly captured.

I would also note that, the region under a bridge deck is not going to be properly captured with LiDAR data since the bridge deck obscures the returns. This usually leaves a “hump-like” feature in the LiDAR data set under the deck. This has to be manually cleaned up in order to model this with 2D. With a 1D model this is not typically a problem since you are extracting the sections for the bridge faces outside of the zone of bad data. But, with the 2D solution, that hump under the deck will be seen as an obstruction to flow through the opening.”


  1. Bruno Neves

    on May 24, 2016

    Hello!In a full 2d model I've been trying to use a 2d connection. It delivers plot and table results but the flow do not appears in te other side of the connection, it Just vanished… any ideas of what may have happened?
    bst regards.


  2. Chris Goodell

    on May 25, 2016

    can you send a screenshot demonstrating the problem?

  3. Terry Barr

    on May 27, 2016

    To add to Mark's comments, if you have that "hump" under the bridge deck in the LiDAR dataset, you can use the terrain modification tools within RASMapper using a couple of cross sections to interpolate under the bridge. Obviously survey is better but I have used this method if none is available.

  4. Anonymous

    on July 24, 2016

    Hello! Thanks for the suggestions for modelling structures/bridges in a 2D-Hec-Ras model. Still I am not happy with this issue. Can you give any suggestions on scientific papers in this area? I tried to find some without any success. Seems to be that all 2D software has its own solution but no clear discussion on that topic.

  5. Anonymous

    on August 23, 2016

    I'm about to set up a 2D HEC-RAS model for a relatively flat coastal area with bridge and culvert crossings. The area is subject to both tidal and river influences. Since there'll be some pressure and weir flow at some of these crossings, might it be better to set up a model with multiple 2D areas connected by the hydraulic structures as opposed to a single 2D area that includes the crossings? Note: some scenarios to be evaluated may include sea level rise in which case pressure and weir flow would become minor, I'd suspect that a single 2D area with bridges and culverts would suffice in that case). Thanks in advance!

  6. Chris Goodell

    on August 24, 2016

    Modeling bridges in pressure flow at SA/2D Area Connections is not possible yet, at least not as you would with 1D reaches. You could connect two 2D areas together with a very short 1D reach and model pressure flow that way. This may lend some insight

  7. Unknown

    on November 21, 2016

    Do you think you could simulate most flows within a bridge by modeling a gate with a user defined curve. And the "user defined curve" would be developed from the 1D model of the bridge (i.e. a capacity curve of the bridge, flow vs elevation)?

  8. Chris Goodell

    on November 21, 2016

    I would be careful with that. User-defined curves can be entered referenced to gate opening, but not TW. So they only work if you have no TW submergence effects. Most bridges do.

  9. Unknown

    on November 21, 2016

    Yes, but wouldn't the curve you develop include these tail-water effects?

  10. Chris Goodell

    on November 22, 2016

    Yes, I suppose so, if you only had one downstream boundary condition. Give it a try and let me know how it goes.

  11. Anonymous

    on February 16, 2017


    Thanks for your very useful blog !
    I builded a full 2d model and I've tried to use option 2 described here to model a bridge
    I obtained this error message :

    "For the Hydraulic Structure culv
    in 2D area 1
    there is an error with the model data.
    The weir station/elevation extends too far beyond
    the last face point (face intersection).
    Shorten the weir stationing or adjust the cell mesh
    Error Accepting the preprocessor files."

    However my weir station/elevation isn't too far beyond the last face point of the connexion. I've tried to adjust station/elevation and also tried to adjusted mesh on this connection SA/2D Area Connection.

    Nothing works.

    Would anyone have an idea for solved this problem ?

    Thank you
    Kevin from France

  12. Chris Goodell

    on February 22, 2017

    That's strange. Usually shortening up the weir so it is inside the 2D area does the trick.

  13. EIRE

    on June 8, 2017

    I have the same problem with a 2D model, and the possible solutions I foung, have not worked.
    I hope you to post about it.

  14. Anonymous

    on June 14, 2017

    I need to include some bridges into a 2D area. Generally, their openings have the same width than the channels. Some questions :
    – what is the best way to represent them ? Culvert, gate ? There are both low and high flows.
    – Is it better to refine localy the mesh before and after, or on the contrary, to represent the channels with a unique cell equal to the width of the bridges ?
    – for low flows, and with culverts, there is an incidence on the water profile, that is not realistic (same width for bridges and channels)… How to delete it ? The entrance and exit loss coeff. are set to zero. Should I set the length to zero too ?


  15. Anonymous

    on August 2, 2017

    Hello Chris,

    What if I ended my 2D mesh a little bit upstream and connected it to a 1D model, simulated the bridge at this domain and then connected it again to another 2D mesh? Would it make my model too unstable?

    Thank you!

  16. Anonymous

    on October 11, 2017

    Hi Chris thanks for this post. I have a full 2D model with a proposed road grade increase in the inundated overbank area (somewhat parallel to the channel). I've added the proposed road grade into the terrain, and modeled it as a SA/2D Area Connection. The idea is to design a culvert(s) to mitigate any increased elevations in the area due to the displaced volume. It's easy enough to set up an 18" CMP, or 24"… But how can I tell how much water is going through the pipe? I don't see an output option for this. I will probably try to subtract water surface grids of each run to get an idea of the changes. Otherwise it's hard to 'see' a difference in RAS Mapper. Also, should the velocity arrows go through the culvert if it's working properly? Thanks for any advice!


  17. Chris Goodell

    on October 12, 2017

    Unfortunately, I don't think HEC has put a way to get that output in the software yet. You might try checking the detailed output table under type "Storage Area Connection" and see if it is there. But I don't think it is. I hope they'll include that in the next version.

    Best of luck!

  18. Anonymous

    on October 13, 2017

    Hi Chris, it seems like 2D Connections only work when US Units is used. Do you know anyone who was successful in modeling 2D connections with SI units?


  19. Bill Mullen

    on October 13, 2017

    I solved this problem by going into "edit geometric data", then clicking on the subject SA/2D Area Connection. Then zoom way into each of the two weir end points (one at a time, of course). I noticed that the end points were not exactly at cell faces. This was corrected simply by clicking on "edit" and then "move points/objects" and moving the points to the nearest cell face. Problem solved.

  20. Chris Goodell

    on October 13, 2017

    Micah, I’ve never had problems doing 2D Connectons in SI Units. Are you using the latest 5.0.3?

  21. Anonymous

    on October 16, 2017

    Hi Bill,

    I tried to follow your advice and move the end points. However, if I zoom in too much I am unable to move any objects. I tried to move them anyways but keep getting the error:
    For the Hydraulic Structure bridge
    in 2D area flood
    there is an error with the model data.
    The weir station/elevation extends too far beyond
    the last face point (face intersection).
    Shorten the weir stationing or adjust the cell mesh
    Error Accepting the preprocessor files.

    What can I do to fix this error? Should I adjust my cell spacing somehow?

    I appreciate your help!


  22. Anonymous

    on October 17, 2017

    I am facing the same problem currently. The flow doesnt get beyond the weir/culvert structure. Were you able to find a solution?



  23. Anonymous

    on November 3, 2017

    Dear Chris, have you been able to run a 2D model where flow is simulated across the weir/culvert structure? In my case flow stops every time in front of the culvert opening and then overtops when water levels get high enough. I have multiple culvert openings so some flow should get through for sure. I would really appreciate your help with this problem.


  24. Chris Goodell

    on November 3, 2017

    It should work. NOt sure what is going on with your project. but yes, I and many others have simulated flow through culvert openings in 2D area connections. It's well tested. Make sure your connections ("From" and "To") are correct and your inputs are all good. See if you are getting any obscure warning messages during computations that might yield some clues.

  25. Bill Mullen

    on November 3, 2017

    Possible things to try or check: 1. Turn on particle tracing to see what the flow is doing; 2. make sure your culvert inverts are higher than the headwater and tailwater cell minimum elevations (although I believe that HEC-RAS will warn you if they're not); 3. do you have a value in "Depth blocked" in the culvert data editor?

  26. AR V

    on December 13, 2017

    I have received an Hecras 1 dimension model. Basically, there is an old existing bridge which needs to be replaced with a new one. The bridge and the approach road has been located on the flat flood plain (0.05%)(My first question do you think this slope is flat?). The new bridge is has smaller opening so we need to build a relief structure under the road next to the bridge to protect the road against the flooding.
    Something like this :

    I have model this with a bridge and a culvert under the road in the floodplain.( The flood plain is divided into two flood plain by the small bump which is located in the middle of the floodplain)
    The extend of my XS are 700 m(The flood for more than 1 in 20 years is spread out to 3 km).
    I have calculated the peak floods by Flood frequency analysis for different return periods) and ran the model in steady state. The flow is quite high Q2 = 280 m3/s … Q100 = 4629 m3/s.

    My first cross section is at change 100 and the last one 800. (The length of my network is just 700 m)

    My questions are :

    1- Is it ok to model this bridge in 1 dimensional hecras model or I need to model it in 2 d model?

    2- There is no hydrological model available for this area. I just have the peak flow. I need to change the peak flow to hydrograph. Ho can I do that?

    3- Is the extend of my model enough for this study (300 m upstream of the bridge and 400 m downstream of the bridge length is 150 m)


  27. Chris Goodell

    on December 13, 2017

    1. Yes. In fact in the current version probably better to model the bridge in 1D.
    2. Assume a duration and make a triangular hydrograph. Not super accurate but easy. For more detail, you can do a hydrologic analysis.
    3. Try it and see. Run a sensitivity on downstream boundary condition. If the results of the differences in results from the sensitivity analysis extend upstream to your bridge, then you need to move your downstream boundary further downstream. Likewise, on the upstream side, if the backwater effect from the proposed bridgeextends to your upstream boundary, then you need to move it further upstream.

  28. AR V

    on December 14, 2017

    Chis, thanks, for your response
    1- I mean that with any 2d modell. It dosen't need to be Hec ras model.
    3- sorry I can not undetstand, what do you mean by results of the differences in result from.

  29. Chris Goodell

    on December 14, 2017

    1. That's for you to decide. Please read up on the differences between 1D and 2D modeling.

    3. Try a few different boundary conditions within a reasonable range. If the differences in results persist up to your bridge, then you should move your boundary condition further downstream. It should be far enough downstream so that errors with your selection of the downstream boundary don't affect the results at the bridge.

  30. Vieri Gonnelli

    on January 12, 2018

    Hi, I've tried to model with the second and third method but I have the following error.
    ERROR with Connection

    The SA 2D Connection at Bridge
    has a culvert lower than the cell it is connected to (this is not allowed in HEC-RAS):
    culvert Culvert #2 culvert elev 160.00
    cell 82178 cell elev 161.23
    between Face Points 91658 91662
    for 2D Area 1

    Writing Results to DSS
    Reading Data for Post Process
    Simulation went unstable at: 13mar2017 01:00:00
    No data for post processing
    Why I have this error?

  31. Anonymous

    on January 12, 2018

    Hi, I have tried with the 2nd and 3rd method but I have this error.
    ERROR with Connection

    The SA 2D Connection at Bridge
    has a culvert lower than the cell it is connected to (this is not allowed in HEC-RAS):
    culvert Culvert #2 culvert elev 160.00
    cell 82178 cell elev 161.23
    between Face Points 91658 91662
    for 2D Area 1

    Writing Results to DSS
    Reading Data for Post Process
    Simulation went unstable at: 13mar2017 01:00:00
    No data for post processing

    Someone can help me?

  32. Unknown

    on January 15, 2018

    Hello Chris,
    Thanks for your site. Im writing my Bachelor Thesis about Hec-Ras 2D and here i get a lot of help. But now i have a problem with the Bridge. I build 2 culverts to simulate a pier. So far everything is clear, but after compute i have a problem. As you can see on the pictures below, the water suddenly switch on one point with a very high elevation.
    Suddenly the elevation go to about 200m. I dont know what wrong with it. Hope you can help me.

    Thanks from Germany

  33. Chris Goodell

    on January 15, 2018

    One of the main reasons I see weird stuff like that happen in 2D areas is when your Courant number is too high. Reduce your computation interval to try to get your Courant number down to 1 (at least less than 2) based on velocities in the main channel and your cell center spacing in the main channel.

  34. Chris Goodell

    on January 15, 2018

    Either raise the culvert up to an invert elevation of 161.23 or lower the cell(s) adjacent to the culvert to 160.00 or lower.

  35. Sebastian Jakubczyk

    on January 16, 2018

    Thanks Chris, now it works!

  36. Chris Goodell

    on January 16, 2018


  37. Sebastian Jakubczyk

    on January 24, 2018

    Hey Chris,
    I´ve got another question about the SA/2D Connection. Then I look at the Results in the RAS Mapper the velocity on this line goes close to zero. I thought it could be the loss coefficient, but it does nothing change. Then I thought the culverts arent on the bottom but they are. Have you a different solution??
    Thank you

  38. Chris Goodell

    on January 24, 2018

    Sebastion, that is an artifact of how RAS transfers information over these connections. Flow is passed from upstream to downstream and stage is passed from downstream to upstream. But velocity is not transferred over the connection. Same thing happens at 1D/2D inline connections. They are supposedly working on fixing that for the next RAS version.

  39. Sebastian Jakubczyk

    on January 24, 2018

    GREAT … or maybe not ;)…

    Thanks Chris

  40. Anonymous

    on April 19, 2018

    Micah, have you solved the issue? I'm having the same problem

  41. Justin Baker

    on August 29, 2018

    Hi there, did anyone get this resolved? Is it possible to use a user-defined curve (developed in 1D) in a 2D model to simulate flow at a bridge?
    Thanks for the really helpful post!

  42. Unknown

    on January 7, 2019

    Hello, Do you know when bridge modeling will be available in 2D?

  43. Mark

    on January 21, 2019

    Hi Chris. Excellent post. Thanks for that.
    I have a query regarding the length of embankment. In your examples, you appear to use a embankment length far longer than the bridge span (over the full floodplain). Is this necessary?
    I have tried my own test cases and from what I can tell, using a breakline to capture the road crest, and a short embankment length (to just capture the bridge and a little extra), appears to be sufficient. Is this correct. Basically, I'm unclear as to the partitioning of flow between the 1D embankment and the 2D mesh, and for my purposes, short embankments are preferred due to very variable topography aside the road way, that makes trying to put an embankment across the full width of the floodplain impractical.
    Thanks for any response. Mark

  44. Chris Goodell

    on January 21, 2019

    Depends on how you want to model it. Both ways can be acceptable. Having the longer embankment allows you to use the weir equation for any overtopping, and also frees up the options to add culverts over there. But if this is not important to you, then yes, you can just capture the bridge and a little extra and let the 2D equations handle the rest.

Add Your Comment

Related Posts