Skip to content

Boundaries

Boundary lines define the outer extent of your simulation domain. Each line has a type that controls how water behaves at that edge during the simulation.

Boundary types

Type ANUGA class Behaviour
Dirichlet Dirichlet_boundary Fixed water level (stage, momentum = 0). The default for a new boundary.
Reflective Reflective_boundary Water reflects off the edge (solid wall)
Transmissive Transmissive_boundary Water passes freely through
Time Time_boundary A water level that varies over the run

A new boundary starts as Dirichlet, so a boundary you draw and leave alone is a fixed-level edge rather than a wall.

Choosing Time reveals a Boundary value picker on the form, where you supply either a single constant or a saved time series. The picker only appears for the Time type, because the other three take no value.

Each boundary also carries a Location, either External (part of the domain outline) or Internal.

One Time series per model

ANUGA collapses every Time boundary under a single tag, so only the first Time feature's value is used and the rest are ignored, with a warning in the run log. Two Time boundaries carrying different series is an authoring mistake rather than a supported configuration. Only external boundaries are considered.

Drawing boundaries

Boundaries are drawn as LineString features. Together they must form a closed polygon around the domain.

  1. Open the Boundaries section in the Inputs rail
  2. Add a new feature, then draw the line on the map. The drawing popup tells you what to click for this geometry type, and while editing you can drag vertices to adjust the shape.
  3. Fill in the attribute form: a Title, the Boundary type, the Location, and the Boundary value if you chose Time
  4. Save the feature

Warning

All boundary segments must connect end-to-end to form a closed polygon. Gaps between segments will cause mesh generation to fail.

How boundaries work internally

Hydrata sorts boundary line segments in clockwise order around the domain centroid, then joins them into a single closed polygon. This polygon defines the ANUGA mesh extent. Each segment's type is preserved as a boundary tag, so ANUGA applies the correct boundary condition to each edge.