open User's Guide (in this window) open Applet Page (in new window)

Flux Discretization Schemes

With the development of the time integration form complete, the remaining major obstacle that remains is to deal with the evaluation of the flux quantities at the left and right cell face boundaries.  Since the solution is stored and known only at the cell average points (assumed to be the cell centers), neither the conservative variables nor the fluxes are known at the interface boundaries.  This situation requires some innovative thinking to develop a well-posed method of generating a solution to the algebraic equation set.
This situation is made more complex by the addition of a few important details.  First, for supersonic flow, characteristic theory predicts that all information transmission flows from upstream to downstream; this is called a hyperbolic system.  For subsonic flow, however, information is propagated in such a way that waves can travel both upstream to downstream and downstream to upstream.  Thus, a flux calculation algorithm must be of such a form that it calculates the flux at a given cell boundary based on cell values only to the upstream side of the boundary for supersonic flow, and from both sides of the boundary for subsonic flows.  This procedure is further complicated by the fact that a shockwave will create a situation where supersonic flow is present on one side of the shock and subsonic flow is on the other side.  The presence of the shock must be correctly admitted by the conservative flux scheme as well.  Several early flux discretization schemes were shown to poorly handle this situation as they had numerical difficulties created by their severly discontinuous formulation between supersonic and subsonic flow.
There are a large number of techniques available which perform this task.  For the purposes of Gryphon, three of the more popular ones were selected to implement.  These three were selected simply because of their popularity, their recognizability by most users, and their body of testing and documentation.  The three schemes are:
Each is briefly described here, with links to more detailed pages on their implementation in both implicit and explicit time integration formulations.

Van Leer Flux Splitting [Implementation Details]

Van Leer flux splitting takes a logical approach to the problem of flux calculation.  The flux vector is analyzed to determine its eigenvectors, which are the wave speeds of the equation set for the Euler equations.  For the quasi 1-D equation set, there are three speeds: [u+a, u, and u-a].  The flux is split into the respective contributions from each wave speed, with a "positive" or "left" flux component coming from the positve wave speeds and a "negative" or "right" flux component coming from the negative wave speeds.  If the flow is supersonic, only the flux component from the upstream direction is non-zero.  For subsonic flow, both the left and right flux components are non-zero.  The left flux is calculated from conservative variables interpolated using a left biased stencil, while the right flux is calculated from conservative variables interpolated using a right biased stencil.  In this way, each flux component is correctly calculated from known cell points which would affect the boundary.

Roe Flux Difference Splitting with Entropy Correction [Implementation Details]

The Roe scheme is somewhat different from the Van Leer scheme.  Van Leer is sometimes criticized for being "too dissipative," and was even recommended by Van Leer himself only for use in the Euler equations and not in the viscous Navier-Stokes formulations.  In the Roe scheme, the problem of flux calculation is treated as a series of 1-D Riemann problems.  This is again a part of characteristic theory.  For each eigenvector/wave speed, a Riemann problem is solved.  For the Euler equations, this Riemann problem is non-linear, and the effort to solve it is large.  Although the early solution to this non-linear series of problems was a significant step forward for the CFD community, Roe proposed to solve an "approximate" linear version of the Riemann problem.  This results is much faster execution, and it turns out that very little if any accuracy is sacrificed in the process.  In addition, the Roe scheme automatically admits shocks as a possible solution without any extra effort.
The Roe scheme is still one of the most intensive methods utilized in solving convective equation sets, but offers the greatest accuracy of any class of methods available so far.  One major issue with the traditional Roe scheme is that it admits expansion shock as well as compression shocks.  In reality, an expansion shock is not a valid solution of the Euler equations, so the Roe scheme is often supplimented with an "entropy" correction which filters out the possibility of expansion shocks by modifying the eigenvectors that cause the phenomenon.  Harten was an early advocate of the entropy correction, so most fixes implement some version of his correction method.

AUSM Flux Splitting [Implementation Details]

The AUSM flux splitting method is similar to the Van Leer method.  In AUSM however, the pressure term of the flux is split apart from the convective part of the flux.  The convective part of the flux is calculated using either a left or right biased stencil depending on the sign of an averaged, convective Mach number.  The pressure component of the flux is split similarly to the Van Leer concept into a left running and a right running pressure flux, accounting for the portion of each influencing a boundary based on the category of flow at that location.