Numerical Methods

I have extended my Riemann solver for use in a Godunov reconstructions. I then ran the results using Riemann-problem like setups (see table 6.2 and figures 6.8-6.12 of Riemann Solvers and Numerical Methods for Fluid Dynamics by Toro) and compared the Godunov solution (blue) to the exact Riemann solution (green). Plots are (top to bottom) density, velocity, pressure.

One caveat worth mentioning is that I didn't implement a method to compute timesteps and instead just use a sufficiently small fixed tilmestep. Not the most efficient way to do it but it allows me to verify that I understand the concept behind a Godunov solver, and it still ran fast enough where I couldn't tell

Since then I have implemented various approximate solvers. Examples include Two-Rarefaction Riemann Solver (TRRS), Primitive Variable Riemann Solver (PVRS), and the Roe solver. Pictured below is the same Godunov method using the Roe solver:

Approximate solvers allow us to bypass the iterative nature of the exact Riemann solver, which allows for a considerable speedup when simulating more complex problems. Most approximate solvers however suffer one or more shortcomings. For example, the roe solver tends to do well with discontinuities, but often fails with rarefactions as a result of entropy violation. One option for handling this is to use an adaptive solver, which selects a solver based the type of solution expected.

Whether exact or approximate solvers are used, the Godunov method used so far is accurate only to first order. Improvements can be achieved using various techniques, such as the Weighted Average Flux (WAF) and Total Variation Diminishing (TVD) schemes. Compared to the first order methods, discontinuities and rarefactions are much sharper when using higher order accuracy, at the expense of an increased chance of various numerical artifacts.

Below I have implemented a WAF-TVD scheme using an exact solver. A notable challenge with this scheme in particular (which gave me some trouble) is that for most solvers (including the exact solver) an extra step is required to handle rarefactions.

Lastly I have been reading about splitting schemes, which allow for solutions to equations with source terms. I have not yet implemented these, but these will be particularly important for me to understand since my research focuses on the effects of a source term (technically it's a sink term) in the energy equation.

Attachments (7)

Download all attachments as: .zip

Comments

No comments.