Verification of a 2nd Order Unsplit Godunov Hydrodynamics Method for FLASH

This page shows some comparisons of the FLASH 2.5 PPM solver, and an unsplit 2nd order piecewise Godunov solver (based on Colella 1990) put into FLASH, and a dimensionally split version of this piecewise linear solver. We will refer to these here as the PPM, unsplit piecewise linear, and split piecewise linear solvers. Note: all the solvers use the exact same Riemann solver -- the standard two-shock Riemann solver from FLASH.

 

Sedov Explosion in Axisymmetric Coordinates

Axisymmetric Sedov blast wave calculation run with FLASH using the three solvers. All calculations used FLASH 2.5 with the sedov setup (using this version of init_block.F90 that deals with axisymmetric coords properly). This flash.par was used for both calculations. The code was setup with nxb = nyb = 16.

Density Field

Here we see the density after 0.01 s using the 3 solvers. Note the odd-even decoupling in the piecewise linear unsplit and split cases -- this is a well-known problem for grid aligned shocks. It is not clear why this is more pronounced in the piecewise linear solutions (note, the FLASH PPM solver has a hybrid Riemann solver that can be used to eliminate this, but it was not enabled for these runs).

PPMunsplit piecewise linearsplit piecewise linear

Velocity Field

Here we see that the velocity field looks much better in the piecewise linear solvers. All solvers have some trouble at r=0, but the unsplit/split piecewise linear solvers have far lower errors here than the FLASH PPM calculation. As above, we note the odd-even decoupling noise in the piecewise linear solutions.

PPMunsplit piecewise linearsplit piecewise linear

 

Comparison to Analytic Solution

We can also compare the radial averages to the analytic solution from Sedov (1959). Again, we see that the unsplit/split piecewise linear solvers do much better in the velocity field than the FLASH PPM solver. Comparing the split and unsplit piecewise linear solvers, the velocity field in the unsplit case looks slightly better close to the origin.

PPMunsplit piecewise linearsplit piecewise linear

Shock Tube Tests

A collection of 1-d shock tube tests, run in 2-d. Each test is run twice, once with the propagation along the x-direction and once with the propagation along the y-direction. A 128x128 zone grid was used. Again, results from all 3 solvers are presented. Each figure shows the x-direction case as blue diamonds and the y-direction case as red pluses, with the analytic solution plotted as a solid line.

 

Sod's problem

The standard Sod problem run for 0.2 s. The main difference between the PPM and piecewise linear solutions is in the contact discontinuity. The PPM algorithm has a contact steepener, which results in a sharper contact discontinuity.

PPMunsplit piecewise linearsplit piecewise linear

 

Double rarefaction

Double rarefaction resulting from initial data: ρL = 1.0; uL = -2.0; pL = 0.4; and ρL = 1.0; uL = 2.0; pL = 0.4, shown after 0.15 s. This test creates a vacuum region at the center (with a stationary contact discontinuity). This is test 2 from Toro's text (Chapter 6).

PPMunsplit piecewise linearsplit piecewise linear

 

Strong shock

Strong shock resulting from initial data: ρL = 1.0; uL = 0.0; pL = 1000.0; and ρL = 1.0; uL = 0.0; pL = 0.01, shown after 0.012 s. This is test 3 from Toro's text (Chapter 6). Again, the main difference between the PPM and piecewise linear results is in the contact discontinuity, due to the PPM contact steepener.

PPMunsplit piecewise linearsplit piecewise linear

 

Single-Mode Rayleigh-Taylor Instability

Single mode RT instability comparison between the FLASH PPM solver, a 2nd order unsplit compressible solver (Colella 1990) and a dimensionally split 2nd order Godunov scheme. The initial density ratio is 2:1.

S is the L2 symmetry error about the vertical symmetry axis. We notice that the FLASH PPM solver introduces asymmetry into the solution, which increases with resolution. This is a bug in the FLASH PPM solver.

PPM

3264128256
S = 0.0 S = 1.848e-9 S = 1.807e-8 S = 1.560e-6

unsplit

S = 0.0 S = 0.0 S = 0.0 S = 0.0

dimensionally split

S = 0.0 S = 0.0 S = 0.0 S = 0.0