Thursday, April 2, 2009

Surcharge Level in SWMM 5

How does the surcharge depth work in SWMM 5?

The surcharge depth from the node attribute table is added to the maximum full depth in the routine dynwave.c as an upper bound check for the new iteration depth of yNew.

    // --- determine max. non-flooded depth
    yMax = Node[i].fullDepth;
    if ( canPond == FALSE ) yMax += Node[i].surDepth;



If the new depth yNew is greater then yMax then the program will calculate either the amount of flooding from the node or the ponded depth and volume.  If the node cannot pond (canPond is False) then the amount of overflow is the excess flow in the node and the new depth yNew is set to yMax.


    if ( canPond == FALSE )
    {  Node[i].overflow = (Node[i].oldVolume + dV - Node[i].fullVolume) / dt;
        Node[i].newVolume = Node[i].fullVolume;
        yNew = yMax;    }
    else    {
        Node[i].newVolume = Node[i].fullVolume + (yNew-yMax)*Node[i].pondedArea;
        Node[i].overflow = (Node[i].newVolume - Node[i].fullVolume) / dt;    }
        if ( Node[i].overflow < FUDGE ) Node[i].overflow = 0.0;
    return yNew;
As an example, if the node floods then the depth will go above the manhole rim elevation as the following image shows.




If the ponded area of the node is zero then any excess flow is lost as overflow and the depth only stays at the rim elevation.


Reblog this post [with Zemanta]

How to use the ICM Viewer with ICM Standard after installing from ICM Ultimate

  From version 2025 onwards, both Standard and Ultimate versions can be launched from a single installation by modifying the Target path in ...