- 07 Aug 2022
- 2 Minutes to read
- Print
The 2D GPU Solver
- Updated on 07 Aug 2022
- 2 Minutes to read
- Print
Flood Modeller’s 2D GPU solver harnesses the power of modern graphics processing unit (GPU) hardware to provide 2D modelling results fast. It is compatible with NVIDIA GPU hardware and delivers significant speed increases, whilst retaining similar levels of detail and accuracy, when compared to the standard 2D TVD solver. It allows you to improve your modelling capabilities, by constructing flood models with finer grid resolution and wider extents (without adversely affecting simulation runtime), enabling more accurate and detailed results.
GPU solution scheme
In Flood Modeller, the default option is to run simulations using the Central Processing Unit (CPU). When using the 2D TVD solver, an additional option is provided to run the simulation using the Graphics Processor Unit (GPU) to accelerate simulation run times.
The 2D TVD (Total Variation Diminishing) solver has been specifically developed to provide an accurate representation of two-dimensional 'shocks' (rapid changes in water surface profile) and addresses the limitations of solvers found in other software packages.
The 2D TVD solver is capable of modelling trans-critical flow and is widely used for modelling “dam breach” conditions such as very steep catchments or flow down spillways. For rapidly varying flow conditions, where hydraulic jumps may occur, the TVD solver generates more stable and smoother solutions as it’s particularly suited to modelling steep changes in velocity and water level.
The solver uses predictor and corrector steps to compute depth and flow at the new timestep (MacCormack scheme). A TVD term is then applied to the mean of the predictor and corrector steps to remove numerical oscillations near sharp gradients – providing accurate, stable results.
The TVD solver discretises the shallow water equations in a slightly different way to the ADI scheme, as flows are represented at the cell centres, rather than at the edges. Since the TVD scheme uses explicit time stepping, the maximum stable Courant number is around 1. This means a much smaller time step must be used with the TVD scheme to ensure stability.
GPU 2D timestepping
As with the CPU-based TVD solver, the selection of the simulation time step affects the numerical stability of the GPU-based computations. To ensure that the simulation’s maximum Courant number runs around 1, the ratio of simulation time step to the domain resolution needs to be relatively small (~1/10).
GPU 1D timestepping
The selection of the time step for a linked 1D flow model (Urban/River) needs to ensure (a) the convergence of the flow solution for the 1D model and (b) the timesteps are multiples of each other with the time step of the 2D model being smaller than that of the 1D model.
Furthermore, because the solvers for the linked 1D models run on CPU, the selection of the 1D time step can affect the run time of the simulation. Selecting 1D time-steps that are multiple times larger than the time step of the linked 2D GPU-resolved model can result in smaller run times.
More detailed information about the selection of the 1D time in relation to numerical stability of 1D River models is available in the Adjusting advanced parameters to improve 1D model stability section of this manual.