PLUTO  4.4-patch2
Functions
eigenv.c File Reference

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)
 

Detailed Description

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

Authors
A. Mignone (migno.nosp@m.ne@t.nosp@m.o.inf.nosp@m.n.it)
Date
June 25, 2019

Function Documentation

◆ MaxSignalSpeed()

void MaxSignalSpeed ( const State state,
double *  cmin,
double *  cmax,
int  beg,
int  end 
)

Compute the maximum and minimum propagation speeds for the RHD equations.

Parameters
[in]statepointer to a State structure
[out]cmin1-D array containing the leftmost characteristic
[out]cmin1-D array containing the rightmost characteristic
[in]begstarting index of computation
[in]endfinal index of computation

◆ PrimEigenvectors()

void PrimEigenvectors ( const State state,
int  beg,
int  end 
)

Provide eigenvectors eigenvalues of the relativistic equations in primitive form.

Parameters
[in,out]statePointer to State structure
[in]begstarting grid index
[in]endfinal grid index

Only non-zero components of LL and RR are computed; RR and LL must be initialized to zero outside.

◆ PrimToChar()

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.