Roe solver

From HandWiki
Revision as of 17:36, 6 March 2023 by MedAI (talk | contribs) (correction)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The Roe approximate Riemann solver, devised by Phil Roe, is an approximate Riemann solver based on the Godunov scheme and involves finding an estimate for the intercell numerical flux or Godunov flux [math]\displaystyle{ F_{i + \frac{1}{2}} }[/math] at the interface between two computational cells [math]\displaystyle{ U_{i} }[/math] and [math]\displaystyle{ U_{i+1} }[/math], on some discretised space-time computational domain.

Roe scheme

Quasi-linear hyperbolic system

A non-linear system of hyperbolic partial differential equations representing a set of conservation laws in one spatial dimension can be written in the form

[math]\displaystyle{ \frac{\partial \boldsymbol{U}}{\partial t} + \frac{\partial \boldsymbol{F}(\boldsymbol{U})}{\partial x} = 0. }[/math]

Applying the chain rule to the second term we get the quasi-linear hyperbolic system

[math]\displaystyle{ \frac{\partial \boldsymbol{U}}{\partial t} + A(\boldsymbol{U})\frac{\partial \boldsymbol{U}}{\partial x} = 0, }[/math]

where [math]\displaystyle{ A }[/math] is the Jacobian matrix of the flux vector [math]\displaystyle{ \boldsymbol{F}(\boldsymbol{U}) }[/math].

Roe matrix

The Roe method consists of finding a matrix [math]\displaystyle{ \tilde{A}(\boldsymbol{U}_i,\boldsymbol{U}_{i+1}) }[/math] that is assumed constant between two cells. The Riemann problem can then be solved as a truly linear hyperbolic system at each cell interface. The Roe matrix must obey the following conditions:

  • Diagonalizable with real eigenvalues: ensures that the new linear system is truly hyperbolic.
  • Consistency with the exact jacobian: when [math]\displaystyle{ \boldsymbol{U}_i,\boldsymbol{U}_{i+1} \rightarrow \boldsymbol{U} }[/math] we demand that [math]\displaystyle{ \tilde{A}(\boldsymbol{U}_i,\boldsymbol{U}_{i+1}) = A(\boldsymbol{U}) }[/math]
  • Conserving [math]\displaystyle{ \boldsymbol{F}_{i+1}-\boldsymbol{F}_{i} = \tilde{A}(\boldsymbol{U}_{i+1}-\boldsymbol{U}_{i}) }[/math]

Phil Roe introduced a method of parameter vectors to find such a matrix for some systems of conservation laws.[1]

Intercell flux

Once the Roe matrix corresponding to the interface between two cells is found, the intercell flux is given by solving the quasi-linear system as a truly linear system.

See also

References

  1. P. L. Roe (1981). "Approximate Riemann solvers, parameter vectors and difference schemes". Journal of Computational Physics 43 (2): 357-372. doi:10.1016/0021-9991(81)90128-5. 

Further reading

  • Toro, E. F. (1999), Riemann Solvers and Numerical Methods for Fluid Dynamics, Springer-Verlag.