PLUTO  4.4-patch2
Functions
roe.c File Reference

Implementation of the Roe Riemann solver for the MHD equations. More...

#include "pluto.h"

Functions

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

Detailed Description

Solve the Riemann problem for the adiabatic and isothermal MHD equations using the linearized Riemann solver of Roe. The implementation follows the approach outlined by Cargo & Gallice (1997).

The isothermal version is recovered by taking the limit of $ \bar{a}^2 $ for $ \gamma \to 1$ which gives (page 451) $\bar{a}^2 \to {\rm g\_isoSoundSpeed2} + X$ where X is defined as in the adiabatic case. This follows by imposing zero jump across the entropy wave (first of Eq. 4.20, page 452) giving $ \Delta p = (\bar{a}^2 - X)\Delta\rho$. Then all the terms like $ [X\Delta\rho + \Delta p] \to \bar{a}^2\Delta\rho $.

When the macro HLL_HYBRIDIZATION is set to YES, we revert to the HLL solver whenever an unphysical state appear in the solution.

The macro CHECK_ROE_MATRIX can be used to verify that the characteristic decomposition reproduces the Roe matrix. This can be done also when BACKGROUND_FIELD is set to YES.

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
Oct 24, 2019

Function Documentation

◆ Roe_Solver()

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

Solve Riemann problem for the adiabatic MHD equations using the Roe Riemann solver of Cargo & Gallice (1997).

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.