GPU Programming in Fortran : Stabilizing the non-linear shallow water equation solver

preview_player
Показать описание
In this livestream, Joe will discuss two issues with the DGSEM implementation of the conservative form of the shallow water equations, including the inability to prove stability and the generation of spurious flows around variable bathymetry. We'll then discuss a modification based on the split-form of the shallow water equations that can be used to resolve both of these issues. Additionally, we'll motivate a modification to the Riemann solver that is necessary for entropy-stability. Following this discussion, we'll show how to add type-bound procedure overrides to implement a flux divergence routine that allows for the selection of either the conservative or split-form methods in SELF for the non-linear shallow water solver. Additionally, we'll cover how to enable GPU acceleration using HIP and ISO_C_Binding to expose the kernel launches in Fortran.

Reference Materials

H. Ranocha (2016), " Shallow water equations: Split-form, entropy stable, well-balanced, and positivity preserving numerical methods"

G. Gassner (2014) “A kinetic energy preserving nodal discontinuous Galerkin spectral element method”

R.J. Leveque (1992), “Numerical Methods for Conservation Laws” (Chapter 3)

D.A. Kopriva (2009), “Implementing Spectral Methods for Partial Differential Equations” (Chapter 5, Section 4)
Рекомендации по теме
Комментарии
Автор

I thought the "F" word was "Flux" :p

juancolmenares