Consolidate hydro and MHD utility functions where possible into single functions in the hydro_utils namespace that work for either hydro or MHD builds
Refactor PLMC to use structs and device functions
Add MHD support to PLMC reconstruction
Consolidation
All the basic util functions (pressure, energy, etc) now only exist in hydro_utils and those functions switch between the hydro and MHD versions with #ifdefs
Refactor PLMC
The PLMC reconstructor has been refactored to use device functions that can be shared between different reconstructors. All of those tools are in the reconstruction namespace in the new reconstruction.h file along with tests in reconstruction_tests.h. Also, new tests for the PLMC kernel.
MHD Support in PLMC
MHD support has been added to PLMC. The most complex changes are in the projecting back and forth between primitive and characteristic variables. All tests pass with PLMC now and all the data, allowed margins, etc are also updated for PLMC. The default reconstructor for MHD builds is now PLMC.
Other
Removed the Ryu & Jones 2a shock tube since it's the same as the Dai & Woodward shock tube
Update the MHD blast wave test to use the same initial state as the VL+CT paper. The previous version is not stable for the VL+CT integrator with higher order reconstruction. Note that the VL+CT paper has a typo and the blast pressure should be 10 not 100.
Update the number of ghost cells so that MHD always has the one extra ghost cell that it needs
Fix a bug in the Orszag-Tang vortex initial conditions
Summary
hydro_utils
namespace that work for either hydro or MHD buildsConsolidation
All the basic util functions (pressure, energy, etc) now only exist in
hydro_utils
and those functions switch between the hydro and MHD versions with #ifdefsRefactor PLMC
The PLMC reconstructor has been refactored to use device functions that can be shared between different reconstructors. All of those tools are in the
reconstruction
namespace in the newreconstruction.h
file along with tests inreconstruction_tests.h
. Also, new tests for the PLMC kernel.MHD Support in PLMC
MHD support has been added to PLMC. The most complex changes are in the projecting back and forth between primitive and characteristic variables. All tests pass with PLMC now and all the data, allowed margins, etc are also updated for PLMC. The default reconstructor for MHD builds is now PLMC.
Other