wiki:u/erica/RoeSolver

Version 32 (modified by Erica Kaminski, 11 years ago) ( diff )

Recap

The Euler equations are a set of non-linear PDE's, which comprise an eigenvalue problem. The eigenvalues for the equations are functions of the solution to the equations themselves. This means that the waves, which propagate with speeds = to their eigenvalues, distort the solution, and the solution distorts them over space and time. Thus the solution to the Riemann problem for the non-linear system does not consist of a closed form expression for the values of pstar and ustar like it does for a linear system of equations. To solve the Euler equations exactly then, we have developed the method of characteristics that describe the propagation of waves outside of the star region. To solve for values of the q-array inside of the star region, we used an iterative scheme and then sampled the solution in the different wave regions. We now are concerned with approximations to this exact solution. The method to be discussed here considers a 'linearized' version of the Euler equations, so analytical methods used for linear, constant coefficient systems of equations can be applied.

The ROE Solver

The Roe solver is an approximation means for the numerical flux of the Godunov method, which is derived through linearizing a hyperbolic system of equations. For instance, the Euler equations in conservative form are written

Error: Failed to load processor Latex
No macro or processor named 'Latex' found

which using the chain rule is identical to

Error: Failed to load processor Latex
No macro or processor named 'Latex' found

If we assume that

Error: Failed to load processor Latex
No macro or processor named 'Latex' found

where, A-hat is a Jacobian matrix of averaged/constant values, we can derive an expression for the numerical flux in terms of 1) wave strengths (alpha), and the 2) eigenvalues (lambda) and 3) right eigenvectors (K) of the 'averaged' Jacobian:

Error: Failed to load processor Latex
No macro or processor named 'Latex' found

where

Error: Failed to load processor Latex
No macro or processor named 'Latex' found

So the goal is to compute the wave speeds and associated eigenvalues and eigenvectors of the Jacobian matrix. There are 2 methods by which we can do this: 1) The 'Roe' approach, which constructs an averaged Jacobian directly, which must satisfy rigorous criteria such as hyperbolicity and conservation, and 2), the newer 'Roe-Pike' approach, which avoids solving for the Jacobian and insteads develops algebraic expressions for the sought quantities based on averages of the initial data. It is the 2nd, more widely used, approach that we will explore here.

Attachments (23)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.