Skip to content

Shallow water model

The ShallowWaterModel simulates the shallow water dynamics for a fluid of constant density but with varying fluid depth and whose velocity only varies in the horizontal,   .

ShallowWaterModel allows users to prescribe the shallow water dynamics using two different formulations: VectorInvariantFormulation() and ConservativeFormulation().

The VectorInvariantFormulation uses the horizontal velocity and the total depth of the fluid, , as the dynamical variables. Furthermore, the advective terms are rewritten via the vector identity:

Thus, the shallow water dynamics in vector-invariant form become:

where    is the vertical component of the relative vorticity.

The elevation of the bottom bathymetry, measured with respect to the free-surface at rest, is . The free-surface elevation is then:

The ConservativeFormulation() uses the volume transport along each direction   and the total depth of the fluid as the dynamical variables. The shallow water dynamics in conservative form is:

where   denotes a vector whose components are    . We can retrieve the flow velocities by dividing the corresponding transport by the fluid's height, e.g., v = vh / h.