carlos/Iterative Riemann Solvers for shallow water and Euler equations

Feb-05

Paper submitted to CAMCoS.

Feb-01

Add to the reproducibility repository:

  • Adaptive Riemann solvers for SWE and Euler equations (modify the appropriate files to measure timing and accuracy).
  • Computing relative (instead of absolute) errors for the finite volume simulation section.

Jan-27

I verified that none of the weak wave problems in the ensemble had two rarefactions as a solution. Still, I couldn’t come up with an intuitive explanation of why this is the case (I don’t know if saying that the velocities are 0 is enough). I argued that the idea is to replicate the behavior of the Sod shock tube problem where the physical solution is known to have one shock and one rarefaction.

For the adaptive approximate solvers, we have the following:

Noniterative RS for the SWEs

  • Accuracy strong waves: 5% error
  • Accuracy weak waves: 0.08% error
  • Timing: I am having trouble again measuring execution time. I have tried with cpu and wallclock time, but the output is close to zero. If I measure time externally, the adaptive noniterative solver for the SWEs seems to be around 25% faster than newton with two-shocks IG. However, this also takes into account the process of handling the data matrix, which should take considerable time. If we manage to measure execution time correctly (just the function calls), probably this margin (25% faster than an iterative solver) will be greater.

Iterative RS for the Euler equations

  • Accuracy strong waves: Arbitrary, we iterate in this case
  • Accuracy weak waves: 0.04% error
  • Timing: 25% faster than the fastest fully iterative scheme (Newton with Two shocks initial guess tol=1.e-12)

I added a small comment about this where David pointed it out. I remembered that the differences in execution time with respect to the iterative solvers were negligible, but I am still not sure if this is enough to bring back the adaptive solvers to the body of the paper.

The errors in the finite volume simulations Section are still not relative.

https://github.com/manuel-quezada/approx_vs_exact_rs/compare/main…addressing-comments