From XMS Wiki
Jump to: navigation, search
Model Info
Model type 2D current and sediment transport simulation.
Developer Dr. Reinaldo Garcia
Web site

General Section

  • Data Visualization
  • Mesh Editing
  • Observation

RiverFlow2D is a hydrodynamic, mobile bed model for rivers and estuaries that uses a stable and powerful finite element method to compute high resolution flood hydraulics, including supercritical and subcritical flows over dry or wet river beds. Use of flexible triangular mesh allows resolving the flow field, sediment transport and bed elevation changes around key features in complex river environments. RiverFlow2D (formally written as RiverFLO 2D or RiverFLO-2D) has been applied on numerous river projects worldwide including large rivers in the United States, South America, Europe and Asia.

SMS 12.1 and later versions do not come packaged with installation files or a license for RiverFlow2D (unlike SMS 11.2), but can still run RiverFlow2D with the Generic Model Interface. Installation files, licensing, and technical support for RiverFlow2D in SMS 12.1 and later are only provided through its parent company Hydronia (



  • Flexible triangular finite element meshes
  • Mesh refinement to resolve complex river features
  • Supercritical and subcritical flow
  • Steady and time-dependent flow
  • Mobile-bed sediment transport
  • Numerically stable explicit solution scheme
  • Dry-wet bed capability not requiring initially wet elements
  • Parallelized code for multiple-core processor computers
  • Documented input ASCII, free format files
  • Comprehensive ASCII output files
  • Graphical output in a variety of formats

Using the Model / Practical Notes

The RiverFlow2D installation package includes several executable files. To connect SMS to the numeric engine:

  1. Select the Preferences command from the Edit menu
  2. Click on the File Locations tab in the Preferences dialog
  3. In the Model Executables area, scroll down to the Generic line and click on the button on the right side. A dialog to select the executable will appear.
  4. Browse to the RiverFlow2D program folder and select the RiverFlow2D program.
  5. Click the Open button to select the file and the OK button to close the preferences dialog.

RiverFlow2D Components

In RiverFlow2D there are different supported components that can be specified by selecting the nodestring or element and assigning a Component or Boundary Condition to them. These options are not used is this tutorial but are available for other simulations. Here is an overview of the different options:


  • Exterior Boundary Condition: Allows users to specify one of the supported exterior boundary conditions. See the RiverFlow2D manual for more details for the different boundary condition types. This is normally done through the model but can be assigned directly to a nodestring.
  • Interior Boundary Condition: Allows users to specify a stage-discharge rating table along an internal line in the model. More details are in the RiverFlow2D documentation
  • Weir: A weir may be defined across a nodestring to have RiverFlow2D use the weir equation to calculate the flow from the upstream elements to the downstream.


  • Pier: Pier locations at the centroid of the element may be specified and RiverFlow2D will simulate them using the drag equation. Users may also simulate a pier by representing it with a polygon and turning the meshing option off in the polygon attributes in the model.
  • Source/Sink: The user may provide a hydrograph to simulate a point inflow or outflow. The Source/Sink location is the centroid of the element it is assigned to.
  • Culvert Inlet: A culvert can be defined be selecting an inlet and outlet element and specifying the culvert parameters in the Culvert Inlet dialog. The culvert parameters are then set depending on the culvert component type option.
  • Culvert Outlet: The outlet location of the culvert. The only parameter in this component is the name of the culvert specified in the Culvert Inlet dialog. This allows specifying multiple culverts. All other parameters are set in the Culvert Inlet dialog.

Graphical Interface

RiverFlow2D uses the Generic Model Graphical Interface which allows users to construct the grid, assign model parameters and boundary conditions based on a template provided by the RiverFlow2D developers, and view the output of an analysis.

Global Parameters

The 2DM file for RiverFlow2D has been set up with the following options in the Global Parameters dialog:

  • Control Data – Sets the model run control parameters like run time and time step duration. Users may switch from a steady state model to a transient model and the associated parameters will be displayed and Boundary Condition options will update automatically. The initial conditions of the model can also be specified here.
  • Sediment Control – Displays one of the different sediment discharge formulas supported. After selecting the method, the required inputs are displayed.
  • Rainfall/Evaporation – Defines time varying rainfall and evaporation data. The RiverFlow2D model assumes that this rainfall or evaporation is constant over the entire model.
  • Graphic Output Options – Contains the parameters that can be set for the graphical output plots that are generated while RiverFlow2D is running. These plots are useful to view potential problems so as to not have to wait until the model converges to see any major issues.
  • Component Controls – Allows turning on and off the different specified components. Instead of deleting, for example, a set of piers, the user can simply turn the pier flag on and off to run the simulation with and without the effects of the piers.

The options in the Global Parameters dialog can be changed using the Generic Model Graphical Interface.

Modeling hints for RiverFlow2D

  • In the model parameters, RiverFlow2D supports a Variable Time step option. When this is on, the user must specify a multiplier. Experience has shown that users may need to try various values for this multiplier in order to get proper mass conservation.
  • The global parameter group Graphic Output Options causes the engine to launch a separate window during analysis to provide graphical feedback of its progress.

Reading Legacy Projects into SMS

An existing RiverFlow2D project consists of the following files:

  • *.dat – basic input data
  • *.fed – geometry
  • *.ifl – boundary conditions in open countours
  • *.hvt – water surface elevation vs. time
  • *.qvt – flow rate vs. time
  • *.plt – plot options
  • *.sed – sediment data
  • *.tba – list of boundary nodes

Aquaveo does not currently have a utility to convert these files directly to SMS format. In order to work with data from this project in the SMS environment follow these steps:

Mesh Data

  • Open the *.fed file in a file editing program such as Notepad ++.
  • Copy and paste the data into Microsoft Excel.
  • In Excel, click on the data menu and select Text to Columns.
  • Then select Fixed Width. This will divide the data into individual columns. Click next twice, then finish.
  • Most projects are only concerned with the data in the first three columns so delete the data in the other columns.
  • Delete one more sets of data now. Scroll down and notice that the data changes. This is because it switches from mesh data to element data. Delete the element data so only the mesh data remains.
  • Do a file 'Save as' and save the file as a comma delimited (*.csv) file. Click Ok, then click No. The file is now ready to be read into SMS.
  • When reading the file into SMS, use the Import Wizard. In the Import Wizard, make sure the file is set to Delimited and click Next.
  • Change the SMS data type to mesh, then click Finish.
  • Once read into SMS, delete the undesired elements.

Nodestring Boundary Conditions

  • Open the *.hvt file in a file editor and copy and paste the data into Excel. Click on the data menu and select Text to Columns. Then select Fixed Width. Click next twice, then Finish.
  • Repeat the above step for the *.qvt file. The data in these files are now ready to be copied and pasted into SMS and assigned as boundary conditions in their respective nodestrings.

Control Data

The *.dat file does not need to be converted

  • Open the *.dat file into the Argus One RiverFlow2D engine. Note the data that appears.
  • In SMS, click on the RiverFlow2D menu and click Global Parameters. Click on the Control Data tab and record the data from the *.dat file in the RiverFlow2D engine.

Remaining Files

These files are also read into the Argus One RiverFlow2D engine, and the data from there can be manually recorded in SMS under their respective tabs in RiverFlow2D | Global parameters.

Case Studies / Sample Problems

Hoh River Washington

This tutorial is distributed with RiverFlow2D and includes a typical riverine application and floodplain.

External Links

Related Topics