This is an implementation of flux vector splitting using the Steger-Warming Method in C++. It is currently set to solve the Riemann Shock Tube Problem.

The Riemann Shock Tube Problem is an inviscid 1-D problem wherein a tube with a membrane separating high pressure gas and low pressure gas has that membrane suddenly punctured. The result is a seris of expansion waves running through the high pressure section making the high pressure section move and decreasing pressure and temperature. Shocks will run throughout the low pressure section making the gas there move and increasing its pressure in a discrete jump.

Currently, this simulation can predict shocks and expansion waves forming correctly within the Riemann Shock Tube Problem. Associated documentation for the theory behind it is also included although it is lacking.

Certainly this project can use more work particularly in proving the theories and where they come from. Perhaps an integration with the Knowledge Archives Project is appropriate. This code is also serial, which is kind of limited. To be honest, this is unlikely to be of real practical use, it is probably just useful as an educational tool of how flux vector splitting techniques can be implemented.