PLUTO  4.4-patch2
Functions
roe.c File Reference

Roe Riemann solver for the HD 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 Euler equations of gasdynamics using the standard Roe solver with local characteristic decomposition. Eigenvectors are identical to the ones given in the book by Toro and can also be derived from the maple script "eigenv.maple" in Src/HD/. The solver can be used for adiabatic and isothermal hydrodynamics.

The macro ROE_AVERAGE specifies how the averaging process is done:

The macro CHECK_ROE_MATRIX can be used to verify that the characteristic decomposition reproduces the Roe matrix.

On input, it 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)
Date
June 27, 2019

Function Documentation

◆ Roe_Solver()

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

Solve the Riemann problem using the Roe solver.

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.