CyprienBosserelle / BG_Flood

Numerical model for simulating shallow water hydrodynamics on the GPU using an Adaptive Mesh Refinment type grid. The model was designed with the goal of simulating inundation (River, Storm surge or tsunami). The model uses a Block Uniform Quadtree approach that runs on the GPU but the adaptive/multi-resolution/AMR is being implemented and not yet operational. The core SWE engine and adaptivity has been inspired and taken from St Venant solver from Basilisk and the CUDA GPU memory model has been inspired by the work from Vacondio _et al._2017)
GNU General Public License v3.0
34 stars 15 forks source link

Remove spurious velocities in nearly dry high slopes #20

Closed CyprienBosserelle closed 2 years ago

CyprienBosserelle commented 5 years ago

In steep slopes with rain on grid lead to high velocities breaking the C-properties of the model. This can be tamed by applying a limiter or a damping factor to the flux term. Vacondio et al. apply a flux damping as uhc=uh*sqrt(2)/sqrt(1+max((1,(hlim/h)^4)); This seem pretty crude to me... but was proposed by kurganov and Petrova (2007).

Cyp

CyprienBosserelle commented 4 years ago

I tested the kurganov damping briefly (f6ed4c9) and got unsatisfying results... Need to look at this again in the future also need to chaeck why Basilisk never implemented the damping corresction

CyprienBosserelle commented 4 years ago

Alternatively the correction could be applied only to output for a particular function. However that will not resolve the issue that the spurious velocity lead to tiny time step. Maybe it need to be applied only when calculating dt...

CyprienBosserelle commented 4 years ago

Also need to try to apply the correction only when calculating dt. the suprious velocity could also be filtered out in a post processing. may be the best of both world here

CyprienBosserelle commented 3 years ago

This paper proposes a solution that is accurate in 1D and may work OK in 2D. https://www.sciencedirect.com/science/article/pii/S0309170818305335

CyprienBosserelle commented 2 years ago

The Buttinger solver fixes some of these issues