PLUTO
4.4-patch2
|
Wave-speeds and characteristic decomposition for the RHD equations. More...
#include "pluto.h"
Functions | |
void | MaxSignalSpeed (const State *state, double *cmin, double *cmax, int beg, int end) |
void | PrimEigenvectors (const State *state, int beg, int end) |
void | PrimToChar (double **L, double *v, double *w) |
This file contains various functions containing Jacobian-related information such as characteristic signal speeds, eigenvalues and eigenvector decomposition for the RHD module.
The function MaxSignalSpeed() computes the maximum and minimum characteristic signal velocity for the RHD equations.
The function PrimEigenvectors() calculates left and right eigenvectors and the corresponding eigenvalues for the primitive form the the RHD equations with an adiabatic EoS.
The function PrimToChar() compute the matrix-vector multiplcation between the L matrix (containing primitive left eigenvectors) and the vector v. The result containing the characteristic variables is stored in the vector w = L.v
void MaxSignalSpeed | ( | const State * | state, |
double * | cmin, | ||
double * | cmax, | ||
int | beg, | ||
int | end | ||
) |
Compute the maximum and minimum propagation speeds for the RHD equations.
[in] | state | pointer to a State structure |
[out] | cmin | 1-D array containing the leftmost characteristic |
[out] | cmin | 1-D array containing the rightmost characteristic |
[in] | beg | starting index of computation |
[in] | end | final index of computation |
void PrimEigenvectors | ( | const State * | state, |
int | beg, | ||
int | end | ||
) |
Provide eigenvectors eigenvalues of the relativistic equations in primitive form.
[in,out] | state | Pointer to State structure |
[in] | beg | starting grid index |
[in] | end | final grid index |
Only non-zero components of LL and RR are computed; RR and LL must be initialized to zero outside.
void PrimToChar | ( | double ** | L, |
double * | v, | ||
double * | w | ||
) |
Compute the matrix-vector product between the L matrix (containing primitive left eigenvectors) and the vector v. For efficiency purpose, multiplication is done explicitly, so that only nonzero entries of the left primitive eigenvectors are considered.