Computational Science Stack Exchange is a question and answer site for scientists using computers to solve scientific problems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In finite difference theory, you learn, that you have to use upwinding for equations with high convection, like Burgers' equation. What does the finite volume equivalent look like? What if the convection is nonlinear like in Burgers' equation?

share|improve this question
up vote 6 down vote accepted

You need to solve a Riemann problem, perhaps approximately. For a linear system of equations, the solution to the Riemann problem is just upwinding applied to the characteristics. An "exact" Riemann solver for nonlinear problems resolves the full wave structure (consisting of shocks, rarefactions, and possibly linearly degenerate contact discontinuities). An approximate Riemann solver does not resolve all waves, which implies (some) excess diffusion, but can be much simpler to implement. Details are discussed in any book on finite volume methods, or in Toro's book on Riemann Solvers.

share|improve this answer

Read any textbook on FV, for example Ferziger and Peric, or Wesseling !!

share|improve this answer
Thanks for the book advice. I have been reading only general numeric math books so far. – vanCompute Dec 13 '12 at 12:16

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.