Potential problem in flux3.f90 when using f-wave solver with capacity-form differencing
I believe there is an issue with limiters when using an f-wave solver with capacity functions. Take a look at flux3.f90: https://github.com/clawpack/pyclaw/blob/master/src/pyclaw/classic/flux3.f90#L226-263
When a Q-wave rpn3() is called wave, s, amdq, and apdq are output, where s has the area ratio gamma embedded inside it, and wave does not have the area ratio
When a F-wave rpn3() is called, the same variables are output, except both s and wave have the area ratio embedded.
This is correct when looking at the cqxx(m,i) update on line 255, but I believe is wrong for the call to limiter() on line 232, where wave should not have the area ratio. If wave were to not include the area ratio, then I believe the limiter would be correct, but the cqxx update would be incorrect.
I am basing this on comparing the q-wave and f-wave approaches.
@weslowrie To be clear, you're concerned that something may be wrong here only when using a capacity function, right?
Could you point to a specific f-wave Riemann solver that you're using this with?
I'm not sure anyone has spent time thinking about whether the capacity function should be included or not when applying the limiter. My first thought is that making either choice should not change the asymptotic order of accuracy.
@ketch yes I am only concerned when using a capacity function. Comparing between q-wave and f-wave with capacity functions, the f-wave has the scaling and the q-wave does not. I'm also not sure whether or not the capacity function should be included when applying the limiter, and you may be right about the order of accuracy. I only brought this up because it is treated inconsistently between q and f-wave, and didn't know if there was a good reason or not.