Flow direction in a geometric network
In utility network applications, knowing the direction of flow along network edges can be essential. Establishing the flow direction in a geometric network determines the direction in which commodities flow along each edge.
The flow direction in a network is determined by the following:
- The connectivity of the network
- The locations of sources and sinks in the network
- The enabled or disabled state of features
Sources and sinks drive flow through a utility network. Sources are junction features that push flow away from themselves through the edges of the network. For example, in a water distribution network, pump stations can be modeled as sources since they drive the water through the pipes away from the pump stations. Sinks are junction features that pull flow toward themselves from the edges in the network. For example, in a river network, the mouth of the river can be modeled as a sink since gravity drives all water toward it. Flow moves away from sources or toward sinks. Because flow direction can be established with either sources or sinks, it usually suffices to specify only sources or only sinks in a network (otherwise, your network may have edges with indeterminate flow).
It is important to remember that disabled features are accounted for when setting flow direction. Disabling a feature makes it act as if flow cannot pass through it. Thus, disabling a feature means that the flow direction cannot be set for the disabled features or for those features that are connected to the sources or sinks exclusively through the disabled feature.
Three categories of flow direction
After you set the flow direction for your network, an edge has one of three categories of flow direction:
Determinate flow direction
If the flow direction of an edge can be uniquely determined from the connectivity of the network, the locations of sources and sinks, and the enabled or disabled states of features, the feature is said to have determinate flow. Determinate flow for an edge is specified as either with or against the direction in which the feature was digitized.
Indeterminate flow direction
Indeterminate flow in a network occurs when the flow direction cannot be uniquely determined from the topology of the network, the locations of sources and sinks, or the enabled or disabled states of the features. Indeterminate flow commonly occurs for edges that form part of a loop, or closed circuit. It can also occur for an edge whose flow is determined by multiple sources and sinks, where one source or sink is driving the flow in one direction through the edge, but another source or sink is driving it in the opposite direction.
For example, consider a geometric network with the sources and sinks positioned like this:
In this case, the flow direction for edges 1 and 2 is set; however, edge 3 has indeterminate flow. To understand why edge 3 has indeterminate flow, consider the case where only the source is present.
This results in a flow direction of edge 3 to the right.
Now, consider the case where only the sink is present.
This results in a flow direction of edge 3 to the left. Due to the opposite potential flow directions of edge 3, this results in a conflict.
For each edge, if the flow direction is in agreement between both the source-only and sink-only cases, the flow direction is set to that direction (as seen with edges 1 and 2). However, if there is a conflict, as there is with edge 3, the flow direction is set to indeterminate since there are two possible outcomes.
Another example resulting in indeterminate flow would be if an edge has a source at both of its ends.
Uninitialized flow direction
Uninitialized flow direction in a network occurs in edges that are isolated from the sources and sinks in the network. This can happen if the edge is not topologically connected through the network to the sources and sinks or if the edge is only connected to sources and sinks through disabled features.
Specifying flow direction
All geometric networks that have flow have sources and sinks. In some cases, you may not know the locations of the sources and sinks, but you might know the flow direction. If this is the case, you must choose the junctions in your network to act as sources and sinks that produce the correct flow direction.
After setting flow direction for your network, indeterminate flow may occur even when you know the direction of flow because the flow direction is determined by properties of the network or the features making up the network in addition to the connectivity or locations of sources and sinks.
For example, in a water network, the flow direction in a pipe is determined by the difference in water pressure between the ends of the pipe. The pressure at each end of the pipe is affected by such things as the material out of which the pipe is made, the pipe diameter, the flow rate through the pipe, the physical configuration of the pipe (including any bottlenecks, valves, or sharp bends), the temperature of the water, the elevation of the ends of the pipe, and the connectivity of the network. Since ArcGIS deals with general networks (and not with domain-specific types of networks), this information is not used to set the flow direction. Thus, the flow direction can be set to indeterminate for some edges in these networks.
A set of similar variables exists in every domain. Developers can write custom flow-direction solvers that use these variables to find determinate flow direction in domain-specific networks.