Non-erodible surfaces (also known as hard bottoms) may be simulated in HEC-RAS and are specified using a minimum bed elevation, zb, min , or maximum depth, hmax. In the 2D model the non-erodible surfaces are specified at both cells and faces independently. Non-erodible surfaces are modeled at the subarea scale by limiting the erosion rate so that the minimum bed elevation is preserved (i.e. zbi ≥ zb, min . The time stepping scheme is given by z_{bi}^{n+1}=z_{bi}^{n}+\Delta z_{bi} in which zbin is the previous bed elevation, zbin + 1 is the new bed elevation, and \Delta z_{bi} is the bed change. Assuming that the bed elevation at the current time is higher than the hard bottom (i.e. zbin ≥ zb, min ). Inserting the above equation into the bed change equation leads to the hard-bottom limited erosion rate

1) E_{tki,hb}=D_{tki}+\frac{f_{1ki}\rho _{d1}}{f_{M}\Delta t}\left(z_{bi}^{n}-z_{bi,hb}\right)

where

E_{tki, hb} = subregion hard-bottom limited fractional erosion rate [M/L2/T]

D_{tki} = subregion fractional deposition rate [M/L2/T]

ρ_{d1} = dry density of active layer [M/L3]

f_{1ki} = grain fractions by weight [-]

f_{M} = morphologic acceleration factor [-]

\Delta t = computational time step [T]

The hard-bottom limited erosion rate is therefore

2) E′_{tki} = \min\left(E_{tki, hb}, E_{tki}\right)

The bed-slope term and avalanching algorithm are also modified so that only deposition may occur over non-erodible surfaces following an approach similar to that described above.

When simulating multiple grain classes, the bed gradation can significantly change at non-erodible surfaces during a time step. This means that the model may require at least one to two iterations to converge when simulating non-erodible surfaces with multiple grain classes.