[Next Section] [Previous Section] [Table of Contents]

Full Equations (FEQ) Model for the Solution of the Full, Dynamic Equations of Motion for One-Dimensional Unsteady Flow in Open Channels and Through Control Structures

U.S. GEOLOGICAL SURVEY WATER-RESOURCES INVESTIGATIONS REPORT 96-4240

13.2 Branch Description Block--Branch Tables


Purpose: A description of the nodes on each branch is supplied with this block. The location of each node on the branch is given together with the elevation of the minimum point in the stream channel. Additional data such as special loss coefficients or tables also can be given. The lines in this block must be entered for each branch in the stream system. Line 3 is repeated as needed for each node on the branch. Lines 1 and 2 are given for each branch, followed by three or more line 3's.

Heading:One line of user-selected information. The suggested string is BRANCH DESCRIPTION; only the first six characters of the heading are read and these must be BRANCH. This block is required so that the Function Tables Block (section 13.13) may be given before the Branch Description Block, thereby allowing table lookup of the station and the elevation at one or more nodes on branches in the Branch Description Block.

LINE 1

Variables: BNUM, INERT, CFRATE, WDFAC, ADDNOD

Format: 5X, I5, 9X, A5, 8X, F5.0, 9X, A5, 8X, A5

Example 1: BNUM=00020

Example 2: BNUM=00020 INERTIA= 0.05 CFRATE= 100.WINDFAC= 1.2 ADDNOD= - 1

Explanation:

BNUM specifies the branch number described in the branch table. Each branch number must be numbered but not necessarily consecutively. Thus, the number of branches and the maximum branch number do not need to be the same. For example, numbers for a two-branch system could be 100 and 200. The branch number must be between 1 and 999.

INERTIA refers collectively to the local-acceleration and convective-acceleration terms in the momentum equation. The momentum equation can be computed in FEQ by applying partial inertia terms. A value of INERTIA=1 (the default value in example 1) results in the application of the full inertial terms in the momentum equation. A value of INERTIA=0 results in the application of the noninertia approximation to the momentum equation. Setting INERTIA=0 may result in a division by zero or other computational problems. Thus, if the noninertia approximation is applied, INERTIA should be set to a value close to zero but not exactly zero.

CFRATE specifies the effective inflow area, CF, per unit length of sewer. The unit length of sewer is specified in SFAC in the Run Control Block (section 13.1). Specification of CFRATE permits CF to be assigned to each computational element in a branch in proportion to the computational- element length. If CFRATE is nonzero, then any values of CF given explicitly for the branch on Line 3 will be ignored. The default value in example 1 is 0.

WINDFAC is an adjustment factor for the wind-shear stress on the water surface in the branch. Use of this factor permits adjustment of the effective wind shear to represent the differences in exposure to wind among the branches in the stream system. The default value in example 1 is 1.

ADDNOD requests the addition of nodes to each computational element. ADDNOD=0 is the default in example 1. The added nodes are output in the detailed and summary tables produced in FEQ simulation when a positive value of ADDNOD is used. The added nodes are not output, even though they are shown in the echo of the branch table input and are used in the computations, when a negative value of ADDNOD is used. In Example 2, a node will be placed at the mid-point of each element in the branch table to form two computational elements. This additional node will not be shown in the output from FEQ; however, this node may be cited in error and warning messages. In this example, the node numbers on the branch are output as if there are no additional nodes. This is done to simplify empirical testing for convergence.

To test for convergence, model simulation is done with the selected element lengths and maximum time step. The output is saved, and ADDNOD= - 1 is specified for each branch in the model. Specification of ADDNOD= - 1 will nearly double the number of nodes and computational elements. To execute FEQ, array sizes must be large enough for this expansion. The maximum time step should be reduced by one-half, and another model simulation should be made. Node numbers and the number of nodes in the output will be the same. However, the second simulation should be an improved approximation to the governing equations. If desired, another simulation with ADDNOD= - 3 could be made with the maximum time step being one-fourth of the original time step. Four computational elements will now be within each original computational element. The simulation time and storage required in the program also will increase. With four times the number of elements and one-fourth the time step, this last simulation will take about 16 times longer than the first simulation. The results will converge to a consistent value with succeeding simulations. Obviously, extensive convergence testing can only be done for small stream systems and for short-duration simulations. However, analyzing part of a stream system can provide insight into the distance and time steps required to obtain a reasonable approximation to the governing equations for the entire stream system.

LINE 2

Variable: HEAD

Format: A80

Example: NODE XNUM STATION ELEVATION KA KD HTAB AZM CF YC STD

Explanation:

This is a heading to describe the information on subsequent lines.

LINE 3 (One for each node on the branch, at least three lines per branch)

If NODEID=NO (Line 12, Run Control Block (section 13.1)), then

Variables: NODE, XTAB, X, Z, CA, CD, HL, AZM, CF, YC, STD

Format: 2I5, 2F10.0, 2F5.0, I5, 3F5.0, F10.0

If NODEID=YES, then

Variables: NODE, NAME4, XTAB, X, Z, CA, CD, HL, AZM, CF, YC, STD

Format: I5, 1X, A8, 1X, I5, 2F10.0, 2F5.0, I5, 3F5.0, F10.0

Explanation:

The values describing each node on a branch are specified.

NODE is the node number on the current branch. Node numbers must be greater than zero. A negative value for the node number indicates the end of a branch table. Numbers for nodes on a branch must be assigned in ascending consecutive order. Only the upstream node on a branch must be given a node number. Subsequent nodes will then be automatically numbered in FEQ to satisfy this requirement. This is the preferred method of input to minimize errors and user confusion. The same node number can be used for nodes on different branches, but such duplication is not advised. A useful system is to assign four-digit numbers for a node. The first two digits are the branch number, and the second two digits are the node number on the branch. To apply this numbering procedure, there must not be more than 99 branches in the system or more than 99 nodes on a branch. These conditions apply for most stream systems. For example, the first node on branch 10 would be given the number 1000 or 1001 in this system, depending on user preference of numbering from 1 or from 0. Application of this method, which provides a self-identifying number for a node on a branch with the branch number and location on the branch, can save considerable time and reduce input errors.

The compile time variable, MNBN (Maximum Number Branch Nodes), in the INCLUDE file ARSIZE.PRM (appendix 3) defines the maximum number of nodes. This number may be set to any desired positive value by the user. The value of MNBN must always include the nodes at each end of each branch and any other nodes not on the ends of the branch (interior nodes). The variable MEXTRA in the INCLUDE file ARSIZE.PRM (appendix 3) gives the count of the interior nodes on a branch. A new number does not take effect until FEQ is recompiled and linked. The range of values in current use for MEXTRA is 400 to 700.

NAME4 is the identification string for the node.

XTAB is the number of the table listing the hydraulic characteristics of the cross section at the node.

X is the station of the node.

Z is the elevation of the lowest point in the stream at the node.

CA is the loss factor to apply to the difference in velocity head in the computational element upstream from the node when the flow is accelerating with respect to distance.

CD is the loss factor to apply to the difference in velocity head in the computational element upstream from the node when the flow is decelerating with respect to distance.

HL is the number of the table listing the factor applied to the mean velocity head in the element as an estimate of point losses.

AZM is azimuth of the downstream flow direction, in degrees clockwise from north, for the computational element upstream of the node. The azimuth need only be given if the effect of wind-shear stress on the water surface is simulated. A value of azimuth propagates into blank fields. If the azimuths for all computational elements in a branch are the same, then only the azimuth for the first element must be given. The azimuth applies to a computational element, not a node. Thus, the azimuth for the first element is given at the second node on the branch. If the azimuth is the same for all elements, however, a value given for the first node on the branch will propagate to all subsequent elements.

CF is equal to A si, the effective area of the inlets to a storm sewer. Guidelines for determining CF are discussed in section 13.2.2.

YC is depth of water (distance of hydraulic-grade line above invert) when ponding begins or elevation of the water surface when ponding begins for a surcharged storm sewer. Guidelines for determining YC are discussed in section 13.2.2.

STD is the standard flood elevation for computation of the valley storage for floodway computations. The valley storage below the standard flood elevation will be computed if the elevation is input, and the storage will be reported for each branch and for the entire stream system. Valley storage is the volume of water contained in the branch if the water-surface elevation is at the standard flood elevation at every node on the branch. If the standard flood elevation for the first node on the first branch is set to zero, then the valley storage will not be computed, and normal computations will continue in FEQ. The minimum input for the standard flood elevation is at the upstream and downstream node of each branch. Missing values will then be linearly interpolated. Intermediate values can be given between the upstream and downstream nodes on the branch, and missing values will be linearly interpolated by means of the given standard flood elevations.

The station and elevation given here are used in FEQ simulation unless the table option for these fields is invoked. If the Function Tables Block (section 13.13) is placed ahead of the Branch Description Block, then the string "TAB" or "tab" in either the elevation or the station column indicates that the corresponding value in the cross-section table specified on the same line of input is used in FEQ simulation. The table must be in the input and must include the desired values of station and elevation. These values are then used as if read directly in simulation.

Not all the input values must be specified for each node. The values that must be defined either explicitly by the user or implicitly in FEQ following user directions are the node number, the cross-section table number, the station, and the elevation of the bottom profile. The other fields on the line can be left blank if these features are not needed in the analysis.

13.2.1 Computational-Element Interpolation

Frequently, the spacing of measured cross sections is too large for computation of the unsteady flows. Thus, cross sections must be added to reduce the length of one or more computational elements. Two methods for adding intermediate cross sections are available in FEQ. The first method is simple propagation of the last known cross-section shape at equal station intervals and with linear interpolation for the bottom-profile elevation. This method is selected by leaving one or more blank lines in the branch-table input. Lines of complete information must be above and below the blank lines. The upstream cross-section table number is assigned to each blank line, and the stations and elevations are distributed uniformly between the two lines of known values. The second method is linear interpolation of cross-section hydraulic characteristics between two known cross sections. This method is selected by giving a negative table number for the cross-section table or, more conveniently, by giving a minus sign in the rightmost column of the field for the table number. An available table number will be assigned and supplied at the proper time in simulation. Use of the minus sign circumvents the problem of the user remembering which table numbers are available for interpolated cross sections. If the station and elevation values are given, then they will be used in the interpolation. Otherwise, the station values will be uniformly distributed, and elevations will be linearly interpolated. The first method should be applied only if the channel is prismatic over the stream reach to which cross sections are added. The second method should be applied if the channel hydraulic characteristics vary over the stream reach between the known cross sections.

Another interpolation feature for cross sections is computation of bottom-profile elevations for specified cross-section stations. The elevation of the bottom profile at the first and last node on the branch and the corresponding stations must always be given. With these first and last values given, the bottom-profile elevations are determined at the nodes for which nonzero station values were given and for which the bottom-profile elevation field was left blank. Then the station and the bottom-profile elevation for the nodes for which both the station and the bottom-profile elevation were left blank are computed at equal station intervals between specified stations. For example, if cross-section geometry is known at locations 2,400 ft apart (stations 0+00 and 24+00) and the user wishes to interpolate five cross sections between these locations, especially one at station 18+00, then the interpolated cross sections will be at stations 6+00, 12+00, 18+00, 20+00, and 22+00.

If the ADDNOD option for the branch is nonzero, then new stations, bottom elevations, and the standard flood elevations are interpolated in simulation. Cross-section tables are assigned on the basis of the specification for the unexpanded element. If the table numbers at the nodes for the element are the same, then this table number will be used for nodes added to this element. If the table numbers differ between the element to be expanded and the unexpanded element, then the cross-section table is interpolated at the added nodes. Any computational element for which a nonzero value of HL is specified cannot include added nodes. This is done because no means are available to divide the head loss represented by the table referenced by HL. All other variable values (KA, KD, YC, and CF) propagate into the new computational elements. It is best to leave the CF column blank and use the CFRATE option for the branch to assign the effective inlet areas for storm sewers when ADDNOD is applied.

13.2.2 Storm Sewers as Branches

Simulation of flow in storm sewers presents several special problems. These problems are solvable and flow can be simulated in storm and combined sewers; however, the user must supply additional information to obtain these solutions. The first problem is that the free surface disappears in a closed conduit when flowing full. The governing equations as written in FEQ are then invalid. The solution to this problem is to add a narrow slot (the so-called Preissmann slot; see Cunge and Wegner, 1964) to the top of each closed-conduit cross section so that the conduit is never closed. The slot need be only a fraction of an inch wide so that the distortion of cross-sectional hydraulic characteristics is negligible. Wave-propagation speed in a closed conduit is large and is infinite where the water is treated as incompressible, as in FEQ. If the narrow slot is applied, an infinite celerity will not result in the closed conduit, but a large celerity will result (this is all that is needed for realistic simulation). The slot must be high enough so that the section is never overtopped. The depth printed in the output will be the distance from the invert of the conduit to the hydraulic-grade line in the conduit. The problem of no free surface because of pipe surcharge is solved by always providing a hypothetical free surface.

The second problem with closed conduits is that no storage (negligible storage in the slot) is available when flowing full. As a convenience in the hydraulic analysis, the inflow from the watershed surfaces into the storm sewers is simulated separately by use of a hydrologic model. The runoff generated by rainfall and snowmelt on the land surface is simulated by this model. This runoff water will reach the channel and flow downstream; however, the state of flow in the channel is not simulated in the hydrologic model, and downstream conditions leading to surcharge of the storm sewer are not simulated. Therefore, provision must be made for some storage mechanism to represent, at least approximately, the ponding of water in streets, parking lots, basements, and other forms of depression and detention storage in the watershed. To do this, two additional parameters must be input for each computational element representing a sewer that receives inflow from the land surface. If storage is not considered, all inflow reaching the conduit inlet in a time interval will be forced into the conduit. The computed hydraulic-grade line elevation will become very large (hundreds of feet) and computational failure may result.

The first parameter, Asi, is an estimated effective area of the inlets to a storm sewer for the computational element. This effective area is the product of a discharge coefficient and an approximate area of inlets to the storm sewer in the computational element. This is only an approximation because the equations used to represent the inflow to and outflow from the storm sewer are for orifice flow. The flow through the inlets is orifice flow only when the ponding is deep enough to completely submerge the inlets. Realistic simulation must be maintained to avoid major errors without becoming overly concerned about physical details that are poorly understood and difficult and costly to simulate. The second parameter, YC, gives the distance between the water surface when ponding begins in the element and the invert of the conduit. This value, which does not vary with time, is an approximate value that relates to the depth of the invert below the ground surface and the assumed or actual ponding areas.

The Asi and YC parameters are used to determine the rate at which water can enter or leave through the conduit inlets. Thus, the inflow capacity is determined by orifice flow computed from the difference between the value of YC and the current depth in the conduit. When the current depth is the same as the YC, no water flows into the conduit. Any inflow in excess of the inflow capacity is stored in the ponding area. Water is always ponded such that the water surface is YC above the conduit invert. The capacity of the ponding area to store water is unlimited and of undefined extent and location. The ponded water will all be retained until the inflow or depth in the sewer decrease such that inflow is less than or equal to the inlet capacity. Thus, the excess water is retained without loss. This approach for ponded flow is very simple and gives only a rough approximation to the hydraulic details of a storm-sewer system. This approach is adequate, however, to yield a realistic representation of the major features of flow in a storm-sewer system. If this simple model of ponded flow is inadequate, then the surface ponding and alternative flow paths can be simulated explicitly in FEQ if sufficient data are available.

YC is most often estimated as the distance from the ground surface to the invert of the sewer pipe, yG. The value at the downstream node on each element is used as the average value for the computational element. Therefore, if the YC values are given, the first value should appear for the second node on the branch, and the field for YC for the first node should be left blank. YC values propagate into empty fields. If the same YC value is to be used for the branch, it need be given only for the second node on the branch. More than one YC value can be given. The various YC values will propagate into any subsequent blank fields.

A more convenient option for many situations is to input an approximate land-surface elevation instead of the depth to the invert directly. Therefore, elevations of the ponding level (land-surface elevations) may be input instead of the depth to the invert. The land-surface elevation option is selected by entering a value for the first node on the branch. All other values in the column for YC are then used in FEQ as elevations. The value of yG is computed as the difference between the ponding elevation and the invert of the conduit. If the elevation option is selected, the minimum data needed are the elevation at the first node on the branch and the elevation at the last node on the branch. Linear interpolation for intermediate points is applied in FEQ computations. Intermediate elevations also can be input, and elevations at points between known elevations will be interpolated.

13.2.1 Computational-Element Interpolation
13.2.2 Storm Sewers as Branches

[Next Section] [Previous Section] [Table of Contents]