# Description

The purpose of this model is to demonstrate how GoldSim can calculate hydraulic functions dynamically. This particular model uses a specific dam outlet example to calculate discharge from an outlet structure as conditions change through time. The majority of the model logic is contained in a single Script element (click button "Headloss Script"), which calculates the headloss working upstream from the discharge point to the reservoir water surface. Click on the "Go To Simulation Page" to run the model.

To view the contents of the model and the expressions used to calculate the flows and reservoir levels, click on the "Go To Model" button.

The outlet structure consists of 3 outlet pipes with shutoff valves (Outlet No. 1-3) and a 4th pipe for draining the reservoir at the very bottom (Drain Pipe). You can open and close the valves at each outlet by pushing the switch buttons next to each outlet. Water flows through the drains and into the outlet tower, which is a large vertical cylinder, open to the atmosphere. At the bottom of the tower, a long discharge pipe leads to a cone valve, which drops the pressure in the line at that point. A tailwater level is assumed at the outlet, which drives the hydraulic gradeline moving back upstream. It is assumed that water exiting the cone valve discharges to a river.

Depending on the headlosses and flows in the discharge pipe, the water level in the outlet tower may or may not affect the flow through 1 or more of the outlet pipes. GoldSim first calculates the water level in the tower and if the level is above the outlet then a submerged orifice equation is used. If, however, the level in the tower is below the invert of the drain, then the orifice is assumed to be free flowing and a different function is used. A solver function is used to iterate to solve for a solution in which the flows and headlosses all agree. This solver repeats on each time step and the flows are removed from the total volume in the reservoir, causing the water level in the reservoir to drop on the next time step.