1

I am studying approximate Riemann solvers and often the motivation is that Godunov's method can be expensive to carry out, but I cannot see why. Say we have $$u_t + [f(u)]_x = 0$$

To my understanding, Godunov's method amounts to simple function evaluations and if-then statements (i.e. compare $f(u_L)$ and $f(u_R)$), so what part of the method is expensive exactly? I have also read that part of this cost comes from having to run Godunov's method for many iterations, but why? Is the method not deterministic?

CBBAM
  • 5,883
  • 2
  • 6
  • 18
  • Do your sources consider scalar problems or can $u$ be a vector? For multi-dimensional $u$ the Riemann problem is less cheap to solve. Next look into the step size restrictions, small step sizes make for expensive integrations. – Lutz Lehmann Dec 15 '21 at 08:15
  • @LutzLehmann The texts I have been going through allow $u$ to be multi-dimensional. So is the issue simply because of the step size? – CBBAM Dec 15 '21 at 08:34
  • I would think so. First-order methods are always the most expensive, especially when the constant in $error=O(h)$ becomes large. I once documented a very simple toy test problem, https://math.stackexchange.com/questions/1786896/rounding-error-of-trapezoidal-method and linked with source, and gave up to go down to the cross-over point between method and floating-point error in the Euler method, it was taking too long. Already with a second order method this is much less of a problem. – Lutz Lehmann Dec 15 '21 at 08:45
  • @LutzLehmann Thank you. If the bottleneck is in regards to the integration then how come approximate Riemann solvers, which also need to be integrated (at least in theory), don't suffer from high computational cost? – CBBAM Dec 15 '21 at 09:37
  • 3
    Godunov's method uses exact Riemann solver which itself is a complex nonlinear problem for nonlinear conservation laws (gas dynamics or mhd, for example). This is why often approximate solvers are used, which are much more simpler and hense faster – uranix Dec 16 '21 at 13:34

1 Answers1

1

Assuming you mean with Godunov's method the Godunov Flux $$ F (u_L, u_R) = \begin{cases} \min_{u_L \leq \theta \leq u_R} f(\theta) & u_L \leq u_R \\ \max_{u_R \leq \theta \leq u_L} f(\theta) & u_R < u_L \end{cases} $$ as used in the finite volume method, you see that you have to solve a global optimization problem of an arbitrarily complex function $f(u)$. The term global refers here to the fact that you need to find the global extrema (although on a restricted "local" interval). Deterministic global optimization is an active branch of research on its own. This is the main reason why people do not use it in FVM calculations nowadays since the optimization is in general way to costly.

You might have seen a version like presented here (Equation 4.15) for convex or concave functions. Then it is true that you just have to compare some points, yes.

Dan Doe
  • 2,229