PLUTO
4.4-patch2
|
HLLD Riemann solver for the classical MHD equations. More...
#include "pluto.h"
Functions | |
void | HLLD_Solver (const Sweep *sweep, int beg, int end, double *cmax, Grid *grid) |
Solve the Riemann problem for the classical MHD equations with an ideal or isothermal equation of state. For the ideal case, we implement the four-states (of five-wave) HLLD solver of Miyoshi & Kusano (2005). For the isothermal case, we use the three-states approximation described by Mignone (2007).
The macro VERIFY_CONSISTENCY_CONDITION can be turned to YES to verify the correctness of the implementation.
On input, this function takes left and right primitive state vectors stateL->v
and stateR->v
at zone edge i+1/2; On output, return flux and pressure vectors at the same interface i+1/2
(note that the i
refers to i+1/2
).
Also during this step, compute maximum wave propagation speed (cmax) for explicit time step computation.
Reference:
Solve Riemann problem for the adiabatic MHD equations using the four-state HLLD Riemann solver of Miyoshi & Kusano (2005).
[in,out] | sweep | pointer to Sweep structure |
[in] | beg | initial grid index |
[out] | end | final grid index |
[out] | cmax | 1D array of maximum characteristic speeds |
[in] | grid | pointer to array of Grid structures. |
Solve Riemann problem for the isothermal MHD equations using the three-states HLLD Riemann solver of Mignone (2007).