![leaf]()
massbal_updateRoutingTotals
![leaf]()
link_setTargetSetting
![hide]()
controls_evaluate
![leaf]()
clearActionList
![leaf]()
evaluatePremise
![leaf]()
updateActionValue
![leaf]()
updateActionList
![leaf]()
executeActionList
 
![hide]()
link_setSetting
![leaf]()
orifice_setSetting
![leaf]()
weir_setSetting
 
![leaf]()
massbal_getStepFlowError
![leaf]()
massbal_initTimeStepTotals
![leaf]()
node_setOldQualState
![leaf]()
link_setOldQualState
![hide]()
addExternalInflows
![leaf]()
inflow_getExtInflow
![leaf]()
massbal_addInflowFlow
![leaf]()
inflow_getExtInflow
![leaf]()
massbal_addInflowQual
 
![hide]()
addDryWeatherInflows
![leaf]()
inflow_getDwfInflow
![leaf]()
massbal_addInflowFlow
![leaf]()
massbal_addInflowQual
 
![hide]()
addWetWeatherInflows
![leaf]()
subcatch_getWtdOutflow
![leaf]()
massbal_addInflowFlow
![leaf]()
massbal_addInflowQual
 
![hide]()
addGroundwaterInflows
![leaf]()
massbal_addInflowFlow
![leaf]()
massbal_addInflowQual
 
![hide]()
addRdiiInflows
![leaf]()
rdii_getNumRdiiFlows
![leaf]()
massbal_addInflowFlow
![leaf]()
massbal_addInflowQual
 
![hide]()
addIfaceInflows
![leaf]() 
iface_getNumIfaceNodes
![leaf]()
massbal_addInflowFlow
![leaf]()
massbal_addInflowQual
 
![leaf]() 
systemHasChanged
checks if the hydraulic state of the system has changed from the previous time step.
 
![leaf]() 
link_setOldHydState
replaces link's old hydraulic state values with current ones.
 
![leaf]() 
node_setOldHydState
replaces a node's old water quality state values with new ones.
 
![leaf]() 
node_initInflow
initializes a node's inflow at start of next time step.
 
![hide]()
![full-1]() 
 flowrout_execute
![hide]()
![full-1]() 
 dynwave_execute
![hide]()
execRoutingStep
![hide]() 
initNodeState
initializes node's surface area, inflow & outflow
 
![leaf]() 
node_getPondedArea
computes surface area of water at a node based on depth.
 
![leaf]() 
node_getSurfArea
computes surface area of water stored at a node from water depth.
 
 
![hide]() 
findConduitFlow
finds new flow in a conduit-type link
 
![hide]() 
getConduitFlow
updates flow in conduit link by solving finite difference form of continuity and momentum equations.
 
![hide]() 
getFlowClass
determines flow class for a conduit based on depths at each end.
 
![hide]() 
link_getYnorm
computes normal depth for given flow rate.
 
![leaf]()
xsect_getAofS
![leaf]()
xsect_getYofA
 
![hide]() 
link_getYcrit
computes critical depth for given flow rate.
 
![hide]() 
xsect_getYcrit
computes critical depth at a specific flow rate
 
![hide]() 
getYcritEnum
solves a * sqrt(a(y)*g / w(y)) - q for y using interval enumeration with starting guess of y0.
 
![hide]() 
getQcritical
finds difference between critical flow at depth yc and target value Qcritical.
 
![leaf]() 
xsect_getAofY
computes xsection's area at a given depth.
 
![leaf]() 
xsect_getWofY
computes xsection's top width at a given depth.
 
 
 
![hide]() 
getYcritRidder
solves a * sqrt(a(y)*g / w(y)) - q for y using Ridder's root finding method with starting guess of y0.
 
![leaf]()
getQcritical
![leaf]()
findroot_Ridder
 
 
 
 
![hide]() 
findSurfArea
assigns surface area of conduit to its up and downstream nodes.
 
![leaf]()
getWidth
 
![hide]() 
getArea
computes area of flow cross-section in a conduit
 
![leaf]()
xsect_getAofY
 
![hide]() 
getHydRad
computes hydraulic radius of flow cross-section in a conduit.
 
![leaf]()
xsect_getRofY
 
![hide]() 
link_getFroude
computes Froude Number for given velocity and flow depth
 
![leaf]()
xsect_isOpen
![leaf]()
xsect_getAofY
![leaf]()
xsect_getWofY
 
![leaf]()
xsect_isOpen
![hide]() 
forcemain_getFricSlope
computes the headloss per unit length used in dynamic wave flow routing for a pressurized force main using either the Hazen-Williams or Darcy-Weisbach flow equations.
 
![leaf]()
forcemain_getReynolds
![leaf]()
forcemain_getFricFactor
 
![leaf]() 
findLocalLosses
computes local losses term of momentum equation.
 
![leaf]()
culvert_getInflow
![leaf]() 
checkNormalFlow
checks if flow in link should be replaced by normal flow.
 
![leaf]() 
link_setFlapGate
based on the sign of the flow, determines if a flap gate associated with the link should close or not.
 
![hide]()
link_getLength
![leaf]() 
conduit_getLength
finds true length of a conduit
 
 
 
![leaf]() 
updateNodeFlows
updates cumulative inflow & outflow at link's end nodes.
 
 
![hide]() 
findNonConduitFlow
finds new flow in a non-conduit-type link
 
![hide]() 
link_getInflow
finds total flow entering a link during current time step.
 
![leaf]()
conduit_getInflow
![leaf]()
pump_getInflow
![leaf]()
orifice_getInflow
![leaf]()
weir_getInflow
![leaf]()
outlet_getInflow
![hide]() 
node_getOutflow
computes outflow from node available for inflow into a link.
 
![leaf]()
divider_getOutflow
![leaf]()
storage_getOutflow
 
 
![hide]() 
getModPumpFlow
modifies pump curve pumping rate depending on amount of water available at pump's inlet node.
 
![leaf]() 
node_getMaxOutflow
limits outflow rate from a node with storage volume.
 
 
![leaf]() 
findNonConduitSurfArea
finds the surface area contributed by a non-conduit link to its upstream and downstream nodes.
 
![leaf]() 
updateNodeFlows
updates cumulative inflow & outflow at link's end nodes.
 
 
![hide]() 
link_setOutfallDepth
sets depth at outfall node connected to link j.
 
![leaf]()
link_getYnorm
![leaf]()
link_getYcrit
![hide]() 
node_setOutletDepth
sets water depth at a node that serves as an outlet point.
 
![leaf]()
outfall_setOutletDepth
 
 
 
![leaf]() 
checkCapacity
determines if a conduit link is capacity limited.
 
 
![hide]() 
updateStorageState
updates depth and volume of a storage node using successive approximation with under-relaxation for Steady or Kin. Wave routing.
 
![leaf]()
getStorageOutflow
![leaf]()
node_getLosses
![leaf]()
node_getPondedDepth
![leaf]()
node_getDepth
 
![hide]() 
getLinkInflow
finds flow into upstream end of link at current time step under Steady or Kin. Wave routing.
 
![leaf]()
link_getInflow
![leaf]()
node_getMaxOutflow
 
![hide]() 
steadyflow_execute
performs steady flow routing through a single link.
 
![leaf]()
xsect_getAofS
 
![hide]() 
kinwave_execute
finds outflow over time step t Step given flow entering a conduit using Kinematic Wave flow routing.
 
![leaf]()
xsect_getAofS
![leaf]()
link_getLength
![leaf]()
linsolveContinuityk_getLength
![hide]() 
solveContinuity
solves continuity equation  f(a) = Beta1*S(a) + C1*a + C2 = 0 for 'a' using the Newton-Raphson root finder function.
Return code has the following meanings: 
>= 0 number of function evaluations used
-1   Newton function failed
-2   flow always above max. flow
-3   flow always below zero
 
![leaf]()
findroot_Newton
![hide]() 
evalContinuity
computes value of continuity equation (f) and its derivative (df) w.r.t. normalized area for link with normalized outlet area 'a'.
 
![leaf]()
xsect_getSofA
![leaf]()
xsect_getdSdA
 
 
![leaf]()
xsect_getSofA
 
![hide]() 
setNewNodeState
updates state of node after current time step for Steady Flow or Kinematic Wave flow routing.
 
![leaf]()
node_getDepth
 
![hide]() 
setNewLinkState
updates state of link after current time step under Steady Flow or Kinematic Wave flow routing
 
![leaf]()
xsect_getYofA
![leaf]()
updateNodeDepth
 
 
![hide]()
qualrout_execute
![leaf]()
findLinkMassFlow
![leaf]()
treatment_setInflow
![leaf]()
findStorageQual
![leaf]()
findNodeQual
![leaf]()
treatmnt_treat
![leaf]()
findLinkQual
 
![leaf]()
removeStorageLosses
![leaf]()
removeOutflows
![leaf]()
massbal_updateRoutingTotals
![leaf]()
stats_updateFlowStats
 
Replies