Depth averaged 2D model formulation¶
Governing equations¶
The two dimensional model solves the depth averaged shallow water equations
(7)(8).
The prognostic variables are the water elevation \(\eta\) and depth
averaged velocity \(\bar{\mathbf{u}}\).
The corresponding fields in Thetis are called 'elev_2d'
and 'uv_2d'
.
Wetting and drying¶
Wetting and drying is included through the modified bathymetry formulation of
Karna et al. (2011). The modified equations are given by
(13)(14). The \(\alpha\) parameter
associated with the wetting and drying scheme can be specified by the
ModelOptions2d.wetting_and_drying_alpha
option. It can also be computed automatically, by setting the
ModelOptions2d.use_automatic_wetting_and_drying_alpha
option to True
.
Spatial discretization¶
Thetis supports different finite element discretizations, summarised in the table below.
Element Family 
Name 
Degree n 
\(\bar{\mathbf{u}}\) space 
\(\eta\) space 

Equal order DG 

1, 2 
P(n)DG 
P(n)DG 
RaviartThomas DG 

1, 2 
RT(n+1) 
P(n)DG 
P1DGP2 

1 
P(n)DG 
P(n+1) 
BrezziDouglasMarini DG 

1, 2 
BDM(n+1) 
P(n)DG 
Table 1. Finite element families for polynomial degree n.
The element family and polynomial degree are set by the ModelOptions2d.element_family
and ModelOptions2d.polynomial_degree
options.
LaxFriedrichs stabilization is used by default and may be controlled using
the
ModelOptions2d.use_lax_friedrichs_velocity
option. The scaling parameter used by this scheme may be controlled using the
ModelOptions2d.lax_friedrichs_velocity_scaling_factor
option.
Temporal discretization¶
Thetis supports different time integration methods, set by the
ModelOptions2d.swe_timestepper_type
option.
Time integrator 
Thetis class 
Unconditionally stable 
Description 


No 
Forward Euler method 


Yes 
Backward Euler method 


Yes 
CrankNicolson method 


Yes 
DIRK(2,3,2) method 


Yes 
DIRK(3,4,3) method 


No 
SSPRK(3,3) method 


No 
LPUM2 SSP IMEX scheme 


No 
Efficient pressure projection solver 


– 
Solves equations in steady state 
Table 2. Time integration methods for 2D model.
Model time step is defined by the ModelOptions2d.timestep
option.
For explicit solvers, Thetis can also estimate the maximum stable time step
based on the mesh resolution, used element family and time integration scheme.
To use this feature, the user should provide the maximal horizontal velocity
scale with ModelOptions2d.horizontal_velocity_scale
option and set
ModelOptions2d.timestepper_options
.use_automatic_timestep
to True
.