The associated model and definition that demonstrating the use of these components can be
downloaded here. You will need to have installed the
Groundhog plugin for the definition
to work correctly.
Flows
Components for creating simple projections and analysis of surface water flows.
The “flows” components create naïve projections or simulations of surface water flows and provide further means to analyse the results of these calculations. The key component — the FlowPath
— accepts a series of ‘drop points’ on a Surface
or Mesh
that become the starting locations of each hypothetical flow path. From there, each point samples the surface or mesh to determine its slope, which becomes a directing vector (i.e. one that points ‘downhill’). Each point is then moved along this vector a prespecified distance, forming a line. The end of this line then becomes the starting point for the next sample; creating a recursive process where flow paths assemble themselves as Polylines
that grow through this series of descending jumps.
This ‘gradient descent’ process repeats until a path crosses the edge of the form, a specified quantity of iterations are performed, or until the algorithm determines that the path has reached a point without a viable further downhill path. This halting calculation aims to identify a ‘basin’ where water might collect and pool rather than continue to flow downhill.
The component then produces as an output a series of Polylines
, from which the beginnings, ends, and individual segments can be readily extracted. The process provides degrees of flexibility. By accepting any given set of Points
(rather than enforcing a spatial grid or other formation) it offers the ability to work across a number of contexts, from situations where you may want to simulate a uniform distribution (say rain) or just a particular pointsource of water.
The FlowPath
component takes two forms a SurfaceFlowPath
and a MeshFlowPath
depending on the geometric type of the ‘landscape’ you want to test.
Construct flow paths over a surface
Mode  Name  ID  Description  Optional  Type 

Surface 
S

Base landscape form (as a surface) for the flow calculation 
SurfaceParameter


Points 
P

Start points for the flow paths. These should be above the surface (they will be projected on to it) 
PointParameter


Fidelity 
F

Amount to move for each flow iteration. Small numbers may take a long time to compute. If not specified or set to 0 a (hopefully) sensible step size will be calculated. 
NumberParameter


Steps 
L

A limit to the number of flow iterations. Leave unset or to 0 for an unlimited set of iterations 
IntegerParameter


Thread 
T

Whether to multithread the solution (this can speed up long calculations) 
BooleanParameter


Flow Points 
F

The points of each simulated flow path ‘jump’ 
PointParameter


Flow Paths 
C

A polyline linking each of the flow points into a path 
CurveParameter

Construct flow paths over a mesh
Mode  Name  ID  Description  Optional  Type 

Mesh 
M

Base landscape form (as a mesh) for the flow calculation 
MeshParameter


Points 
P

Start points for the flow paths. These should be above the mesh (they will be projected on to it) 
PointParameter


Fidelity 
F

Amount to move for each flow iteration. Small numbers may take a long time to compute. If not specified or set to 0 a (hopefully) sensible step size will be calculated. 
NumberParameter


Steps 
L

A limit to the number of flow iterations. Leave unset or to 0 for an unlimited set of iterations 
IntegerParameter


Thread 
T

Whether to multithread the solution (this can speed up long calculations) 
BooleanParameter


Flow Points 
F

The points of each simulated flow path ‘jump’ 
PointParameter


Flow Paths 
C

A polyline linking each of the flow points into a path 
CurveParameter

Once calculated, these flow paths can then be used to support further analysis of the landscape’s hydrological features.
The first component for this is FlowCatchment
. It uses the collection of precalculated flow paths to identify different catchment areas. To do so, it classifies each flow path into groups depending upon which paths finish or ‘drain’ into the same approximate location. This grouping is visually represented using a Voronoi diagram with each cell centred on the original Pts
used as the ‘start’ of each flow path. Once formed, adjacent Voronoi cells whose origins drain to the same end location are joined together to form ‘catchment’ boundaries. Additionally, the different catchment groups are provided with a distinct color code and their cells/paths are output as distinct branches to aid further visualisation or analysis.
Identify the catchments within a set of flow paths
Mode  Name  ID  Description  Optional  Type 

Flow Paths 
C

The flow paths as generated by the flows component 
CurveParameter


Proximity Threshold 
T

The distance between end points required to form a catchment 
NumberParameter


Catchments 
B

The catchment boundaries identified 
CurveParameter


Flow Paths 
P

The flow paths grouped by catchment 
CurveParameter


Color Codes 
C

Colour codes the uniquely identify each path and boundary 
ColourParameter
