Hello, I am trying to run a simulation using Celeris WebGPU but I am observing large instabilities when refining the mesh. I was wondering if anybody had seen something similar and if maybe you were able to overcome this problem?
The simulation is around the San Antonio port and Maipo river in Chile. I am forcing a 14s period, 31.4cm amplitude wave from the west boundary of this bathymetry as a prototype. This is how the topo/bathy looks like:
You can see that in the north west portion of the domain there is a deep water region (dark-colored) that corresponds to the geological trench.
When I run it with resolutions of dx=10m or higher everything goes smoothly. But if I change to dx=4 for example, even with Courant numbers as small as 0.01 I get the result below:
I am guessing it may have to do with the narrow portion of the trench, where the bathymetry is deeper and with greater slopes, so I tried smoothing it with a gaussian filter but got a similar result.
Or maybe I am missing something. Could you help me inspect this error please?
Here are the files for the coarse mesh dx = 10m case:
https://1drv.ms/f/c/629ccbf9e520fe1c/EpdvRpL_3w9FuyHFNo9JF34B7P0l2fRiBij3H-knNLKH0A?e=DNQrXw
And these are for the fine mesh dx = 4m:
https://1drv.ms/f/c/629ccbf9e520fe1c/EsSll3mo5qxLvub0och0m9wBS3Lm5j5pp96F1VSwnbq_cg?e=DBhfIa
Thanks in advance, and please do not hesitate to ask for more details.
Thanks for your explanation, I see what you mean and it is very interesting to know that discrete BT models have this challenge.
I will keep refining with h / dx <~50 then, thank you very much.
Hey Jose - what you are seeing here is a fundamental limitation of the equations solved in Celeris. All Boussinesq-type and similar equations are an approximation to the full physics of N-S equations. Most importantly for these approximate equations is the behavior of the linear dispersion relation, or wave speed as a function of kh. In the Celeris equations, the wave speed grows quickly (and unphysically) for large kh, and at very large kh the modeled wave speed is so large that you get the types of unfixable errors that you are seeing. You can think of the smallest resolvable wave with a wavelength of 2*dx, such that kh = pi*h/dx, and then the wave speed errors will be indicated by the h/dx ratio. Practically speaking, when the h/dx ratio > 50, you will likely start to see these issues. This is irregardless of the other simulation configuration and parameters. The practical fix, if you want to be able to run such simulations, is to limit the minimum depth in the bathy such that the min depth /dx <~50. Keep in mind that the Bous equations really only have good accuracy (seperate from stability) up to kh~2.