Add upwinding option to Richards FV solver
The following discussion from !132 (merged) should be addressed:
-
@lriedel started a discussion: (+5 comments)
Maybe create a new
enum
flagRichardsFVUpwinding
here, like for the DG operator? Would be great to control this via the config file, especially because upwinding is much more important for FV (right...?). -
Well, the usual upwinding (as far as I know) just that easy: Select the conductivity based on the direction of flux.
-
Nope, the usual upwinding is to upwind the conserved quantity with respect to an advective force (e.g., water flux in the case of solute transport)
Description
Upwinding is a common technique for stabilizing the finite volume method. An option for selecting it like in the DG might be useful. However, I have not run into any stability issues with the FV solver yet. Infiltration fluxes higher than the saturated conductivity can turn the Richards equation hyperbolic, resulting in a very stiff problem. But the FV solver seems to deal with this just fine (although I admittedly only ran very few tests).
Proposal
- Check back with Ole how upwinding should be implemented in case of the Richards FV solver (upwind conductivity or flux) or if it is necessary at all.
- Implement an upwinding option through the config file.
How to test the implementation?
Add upwinding case to ODE tests.
Related issues
#159 (closed): Fix signs in upwinding query (follow-up)