 23 Oct 2022
 9 Minutes to read
 Print
VPMC Routing
 Updated on 23 Oct 2022
 9 Minutes to read
 Print
The VPMC Routing unit models the flow of water in open channels using a Variable Parameter MuskingumCunge method to route the flow.
Data
Field in Data Entry Form  Description  Name in Datafile  

Section Label  node label at discharge point  Label1 

First Lateral Inflow Node  first lateral inflow node label  Label2 

Second Lateral Inflow Node  second lateral inflow node label  Label3 

First Lateral Inflow  First lateral inflow label  Label4 

Second Lateral Inflow  Second lateral inflow label  Label5 

Third Lateral Inflow  Third lateral inflow label  Label6 

Fourth Lateral Inflow  Fourth lateral inflow label  Label7 

Distance to Next Section  distance to next discharge point or cross section in metres (a zero specifies the end of the reach and for this last node the wavespeed/attenuation data will not be used)  dx 

n/a  bed elevation in m AD (not used in computations)  z 

n/a  bed slope (may be left blank, and not used in computations)  slope 

Minimum number of Subnodes  minimum number of subnodes allowed (default and minimum 2, ie just the upstream and downstream nodes)  minsub 

Maximum number of Subnodes  maximum number of subnodes (default 100, maximum 100)  maxsub 

Subintervals from specified discharge  Check this box to calculate ideal distance spacing based on a specified discharge 


Specified discharge  Discharge used to estimate optimum distance step 


n/a  number of ensuing data lines (can be zero if this is the last section of the reach)  n_{1} 

Discharge  discharge [m^{3}/s]  q_{i} 

Wavespeed  wavespeed [m/s]  c_{i} 

Attenuation  attenuation parameter [1/m]  a_{i} 

Water Level  optional water level corresponding to discharge q_{i} under normal depth conditions  y_{i} 

Specify Velocity Using  For “VQ Power Law”, enter the coefficients a, b, V_{0} and Q_{0} to define the flowvelocity relationship; otherwise (VQ Rating), enter the relationship at discrete points in the supplied table. 


Constant a  scaling parameter for velocity calculation (>0)  a  
Exponent b  power law parameter for velocity calculation (>0)  b  
Lowest Permitted Velocity  lowest permitted velocity (>0)  V_{o}  
Flow Threshold  flow below which velocity is set to V_{o} (>0)  Q_{o}  
n/a
 number of subsequent V Q data pairs  ndat  
V Q Rating  a table of velocity and flow values used to interpolate velocity values for subsequent Flood Modeller Quality simulations  V,Q 
 These fields are only used when the results of the simulation are to be used for a subsequent water quality simulation. However, dummy data values, or the defaults in the 1D Simulation window, must always be specified.
Theory and Guidance
The VPMC Routing (MUSKVPMC) unit models the flow of water in natural and manmade open channels, using a Variable Parameter MuskingumCunge method to route the flow. You must supply a table of wavespeed and attenuation parameter against flow. Lateral inflows can be distributed along a reach between adjacent VPMC Routing units.
The VPMC Routing calculates the discharge within a river or channel reach given the inflow hydrograph at the upstream end, up to two flow boundaries as lateral inflows and up to four lateral inflow units.
The unit is based on the diffusion equation, and uses a numerical scheme which is similar to the Muskingum equation with variable parameters k and x. The algorithm is described in Price R.K. (1977) and further discussed in Reeves A. (1995). A very similar algorithm was applied in the earlier flow routing software RIBAMAN.
The method requires a relationship between discharge, wavespeed and attenuation, which is user defined. The VPMC Cross Section uses the same method, but with the added ability to derive wavespeed and attenuation curves from crosssection details.
A minimum of two VPMC Routing or VPMC Cross Section units is required for each river or channel reach. The downstream section need not have any wavespeed/attenuation or section data, and such data is not used even if it is supplied. In general, it is only necessary to supply two nodes for any one reach, even if the distance between them is considerable.
Flood Modeller automatically selects a distance step based on the Courant condition at each timestep, but within constraints set by the user. The distance increment also cannot exceed the distance between adjacent sections. Intermediate nodes are generated internally, and so it is only necessary to provide a VPMC Routing node at each end of a reach. Flows at these internal nodes cannot be examined directly, but you can control how many such nodes are generated.
Up to two boundaries can be connected as lateral inflows to each VPMC Routing node. These can be flow/time boundaries or hydrological boundaries. The generated flow is distributed evenly along a reach between adjacent VPMC Routing or VPMC Cross Section nodes. To split a lateral inflow into more than one VPMC Routing or VPMC Cross Section node, one must attach the inflow boundary unit to a lateral inflow unit; the lateral inflow nodes (labels 47) within the VPMC unit must then be crossreferenced in the lateral inflow unit.
You cannot use Replicated Sections with VPMC Routing units.
Equations
The equation used in the VPMC Routing is a form of the convective diffusion equation derived from the St Venant equations, written here in conservative form:

where: Q = discharge [m^{3}/s] c = c(Q) = wavespeed [m/s] µ = µ(Q) = attenuation [m^{2}/s] x = chainage along reach [m] t = time [s] q = lateral inflow per unit length [m^{2}/s]. 
In linear form, the finite difference scheme for this equation is the same as for the MuskingumCunge equation with variable parameters.
You supply a table of discharges Q, wavespeeds c and attenuation parameters a (µ=aQ). Guidance on derivation of these parameters is given in standard textbooks and in the Flood Studies Report (1975) Volume 3. Alternatively, a VPMC Cross Section, which generates wavespeed/attenuation curves from section details, can be used (see this section also for a suggested derivation of wavespeed and attenuation parameters).
Space Increment
Flood Modeller determines the space increment for each reach at each timestep so that the equation:


is satisfied as nearly as possible, i.e. giving a Courant number as near as possible to unity. The space step cannot exceed the distance between adjacent sections, and an integer number of space steps is required between each section. You can also specify a maximum and minimum number of subnodes (between 2 and 100) and so control the space increment within each reach. Setting the maximum and minimum to the same value allows the space step to be fixed at a constant value, although doing so (or to within a smaller range than the defaults) reduces the ability to achieve the courant condition stated above.
The number of subnodes used at each timestep is stored in the unit state array for the upstream MUSK unit and can be inspected graphically or tabulated in the usual way.
Flood Modeller differs from RIBAMAN in that here the space increment can vary with time; RIBAMAN fixes it using the wavespeed corresponding to the peak inflow into the reach.
Time Increment
The time step is supplied by the user as usual; it should be sufficiently small to capture the shape of the flood wave. It may be advisable for it also to satisfy


It has been suggested that this condition helps to eliminate the leadingedge dip which appears in many floodrouting algorithms. For more details, see Ponce and Theurer, discussion of Weinmann D.E. and Laurenson E.M. (1979), Journal of the Hydraulics Division, ASCE Vol. 106, No. HY11, pp 19451947. However, the algorithm implemented in Flood Modeller includes a truncation of the attenuation parameter curve which eliminates the dip on the leading edge of the flood wave in almost all cases.
Note: Since the method used is inherently timestep dependent, then adaptive timestepping with any of the Muskingum VPMC routing methods should only be used with caution.
Note that the VPMC methods may be considered as an extension of the Muskingum method, by which the k and x parameters vary dynamically. In order to conform to the recommended constraints for these parameters, then the Courant number should be approximately equal to 1 (as described above), and the dimensionless attenuation parameter (which differs from the attenuation parameter entered in the VPMC table by a factor of (3) above) should be restricted to the range (0,1), equivalent to 0 <x%lt;½. This may be specified by using the Minimum and Maximum VPMC attenuation parameter options in the Advanced Parameters tab in the simulation (*.ief) file editor.
Velocity Calculation
If the flood routing model is to be used with the Water Quality model then an approximate formula must be used to calculate nodal velocities as crosssectional data are not utilised. These values are then used to determine flow areas which are written into the 'unit mode' array if the water quality model is to be run subsequently.
Two options are available to specify velocity as a function of flow:
 Power Law Function
V = V_{o} + a( Q  Q_{o} )b for Q > Q_{o}
V = V_{o} for Q ≤ Q_{o}
 User Supplied Relationship
In this case you provide velocity and flow data pairs and the program linearly interpolates between these values.
General
The wavespeed/attenuation curves are copied into the Unit Characteristics file (extension .zzu) if the model is run in Boundary mode.
If Flood Modeller is used then Muskingum units can be preceded or followed by normal Flood Modeller river reaches. However a water level must be provided at the downstream end of a river reach if it is joined to a Muskingum unit. This can be achieved either by providing the optional table of water levels within the MUSKVPMC data entry, or by attaching a QRATING unit to the upstream node of the MUSKINGUM reach.
Muskingum and river sections cannot be mixed within a reach; reaches of the two types can be joined by JUNCTION units (with only two nodes if necessary). The three types of Muskingum unit (MUSKINGUM, MUSKVPMC and MUSKXSEC) can be mixed within a reach.
The normal Flood Modeller connectivity rules apply for Muskingum units and therefore an appropriate downstream boundary (e.g. HeadTime Boundary or FlowHead Boundary) is required at the downstream end of Muskingum routing reaches which are not connected to a structure, although this will not have any impact on the routing calculations.
REPLICATE units cannot be used to replicate MUSKVPMC or MUSKXSEC units. MUSKVPMC units also cannot be used in conjunction with INTERPOLATE units.
In very rare circumstances, it is possible in large models for the data storage space within Flood Modeller to become full. If an error message indicates that this has happened, then the storage required for each MUSKVPMC unit can be reduced by decreasing the value of maxsub and allowing fewer internal subnodes. This may also decrease run times.
The variation of the number of space increments may occasionally lead to the loss of resolution on the flood wave or poor volume conservation. This is because the space increment is based on the discharge at the upstream end of the reach, and so the number of calculation subnodes may drop dramatically while the floodwave is still within the reach. If this becomes a problem, the user should fix the parameters minsub and maxsub to give a suitable number of subnodes; the recommended number is that corresponding to the maximum inflow into the reach. This can be obtained by carrying out a full unsteady run and inspecting the resulting inflows and subnode numbers (which are stored in the unit state for the upstream section). The model can then be run again with the new fixed space increment.
RIVER units should not be directly connected to Conduit units. Users can connect CONDUIT and RIVER reaches using a Junction if no head loss occurs at the join. Alternatively, the specialised Culvert Inlet and Culvert Outlet units can be used to model the losses associated with transitions from open channel to culverts and vice versa. Bernoulli Loss units are also available to model more generalised losses.
Datafile Format
Line 1  keyword 'RIVER' [comment]
Line 2  keyword 'MUSKVPMC'
Line 3  Label1 [, Label2 [, Label3]] [, Label4, Label5, Label6, Label7]
Line 4  dx, z, slope, minsub, maxsub
Line 5  keyword 'WAVESPEED ATTENUATION'
Line 6  n_{1}
Line 7 to Line 6+n_{1}  q_{i}, c_{i}, a_{i}, [y_{i}]
Line 7+n_{1}  keyword 'VQ POWER LAW' or 'VQ RATING'
Line 8+n_{1}  V_{o}, Q_{o}, a, b, (if 'VQ POWER LAW') or ndat (if 'VQ RATING')
Line 9+n_{1} to Line 8+n_{1}+ndat  V, Q (if 'VQ RATING')