PLUTO  4.4-patch2
Functions
hlld_arithm.c File Reference

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)
 

Detailed Description

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:

Authors
A. Mignone (migno.nosp@m.ne@t.nosp@m.o.inf.nosp@m.n.it) C. Zanni (zanni.nosp@m.@oat.nosp@m.o.ina.nosp@m.f.it)
Date
Sep 11, 2019

Function Documentation

◆ HLLD_Solver()

void HLLD_Solver ( const Sweep sweep,
int  beg,
int  end,
double *  cmax,
Grid grid 
)

Solve Riemann problem for the adiabatic MHD equations using the four-state HLLD Riemann solver of Miyoshi & Kusano (2005).

Parameters
[in,out]sweeppointer to Sweep structure
[in]beginitial grid index
[out]endfinal grid index
[out]cmax1D array of maximum characteristic speeds
[in]gridpointer to array of Grid structures.

Solve Riemann problem for the isothermal MHD equations using the three-states HLLD Riemann solver of Mignone (2007).

Parameters
[in,out]sweeppointer to Sweep structure
[in]beginitial grid index
[out]endfinal grid index
[out]cmax1D array of maximum characteristic speeds
[in]gridpointer to array of Grid structures.