HARM
harm and utilities
 All Data Structures Files Functions Variables Typedefs Macros Pages
Functions
wavespeeds.c File Reference

Wrapper for using vchar and storing wavespeed results. More...

#include "decs.h"
Include dependency graph for wavespeeds.c:

Go to the source code of this file.

Functions

int vchar_all (FTYPE *pr, struct of_state *q, int dir, struct of_geom *geom, FTYPE *vmaxall, FTYPE *vminall, int *ignorecourant)
 get wave speeds for flux calculation and for dt calculation More...
 
int vchar_each (FTYPE *pr, struct of_state *q, int dir, struct of_geom *geom, FTYPE *vmaxmhd, FTYPE *vminmhd, FTYPE *vmaxrad, FTYPE *vminrad, FTYPE *vmaxrad2, FTYPE *vminrad2, int *ignorecourant)
 
int get_wavespeeds (int dir, struct of_geom *ptrgeom, FTYPE *p_l, FTYPE *p_r, FTYPE *U_l, FTYPE *U_r, FTYPE *F_l, FTYPE *F_r, struct of_state *state_l, struct of_state *state_r, FTYPE *cminmax_l, FTYPE *cminmax_r, FTYPE *cminmax, FTYPE *ctopptr, FTYPE *cminmaxrad_l, FTYPE *cminmaxrad_r, FTYPE *cminmaxrad, FTYPE *ctopradptr, FTYPE *cminmaxrad2_l, FTYPE *cminmaxrad2_r, FTYPE *cminmaxrad2, FTYPE *ctoprad2ptr)
 get wave speeds for flux calculation More...
 
int get_global_wavespeeds_full (int dir, int is, int ie, int js, int je, int ks, int ke, int idel, int jdel, int kdel, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], FTYPE(*finalwspeed)[COMPDIM][NUMCS][NSTORE1][NSTORE2][NSTORE3])
 complete storage of wave speeds per dimension only called for STOREWAVESPEEDS==1 More...
 
int get_global_wavespeeds (int dir, struct of_geom *ptrgeom, FTYPE *pr, FTYPE *output, FTYPE *outputrad, FTYPE *outputrad2)
 store wavespeeds somewhere More...
 
int global_vchar (FTYPE(*pointspeed)[NSTORE1][NSTORE2][NSTORE3][NUMCS], int dir, int is, int ie, int js, int je, int ks, int ke, int idel, int jdel, int kdel, FTYPE(*wspeed)[COMPDIM][NUMCS][NSTORE1][NSTORE2][NSTORE3])
 GODMARK: something wrong with comparing multiple velocities since grid/metric changes in space (i.e. More...
 
int cminmax_calc (FTYPE cmin_l, FTYPE cmin_r, FTYPE cmax_l, FTYPE cmax_r, FTYPE *cmin, FTYPE *cmax, FTYPE *ctop)
 really HARM is currently using VERY local lax Friedrich. More...
 

Detailed Description

Wrapper for using vchar and storing wavespeed results.

Definition in file wavespeeds.c.

Function Documentation

int cminmax_calc ( FTYPE  cmin_l,
FTYPE  cmin_r,
FTYPE  cmax_l,
FTYPE  cmax_r,
FTYPE *  cmin,
FTYPE *  cmax,
FTYPE *  ctop 
)

really HARM is currently using VERY local lax Friedrich.

maybe try local lax Friedrich, using max wave speed from zones used to reconstruct the zone (most common?) also can try more global wave speed, or even speed of light.

Definition at line 505 of file wavespeeds.c.

Here is the caller graph for this function:

int get_global_wavespeeds ( int  dir,
struct of_geom *  ptrgeom,
FTYPE *  pr,
FTYPE *  output,
FTYPE *  outputrad,
FTYPE *  outputrad2 
)

store wavespeeds somewhere

Definition at line 369 of file wavespeeds.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int get_global_wavespeeds_full ( int  dir,
int  is,
int  ie,
int  js,
int  je,
int  ks,
int  ke,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
FTYPE(*)  finalwspeed[COMPDIM][NUMCS][NSTORE1][NSTORE2][NSTORE3] 
)

complete storage of wave speeds per dimension only called for STOREWAVESPEEDS==1

Definition at line 322 of file wavespeeds.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int get_wavespeeds ( int  dir,
struct of_geom *  ptrgeom,
FTYPE *  p_l,
FTYPE *  p_r,
FTYPE *  U_l,
FTYPE *  U_r,
FTYPE *  F_l,
FTYPE *  F_r,
struct of_state *  state_l,
struct of_state *  state_r,
FTYPE *  cminmax_l,
FTYPE *  cminmax_r,
FTYPE *  cminmax,
FTYPE *  ctopptr,
FTYPE *  cminmaxrad_l,
FTYPE *  cminmaxrad_r,
FTYPE *  cminmaxrad,
FTYPE *  ctopradptr,
FTYPE *  cminmaxrad2_l,
FTYPE *  cminmaxrad2_r,
FTYPE *  cminmaxrad2,
FTYPE *  ctoprad2ptr 
)

get wave speeds for flux calculation

Definition at line 50 of file wavespeeds.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int global_vchar ( FTYPE(*)  pointspeed[NSTORE1][NSTORE2][NSTORE3][NUMCS],
int  dir,
int  is,
int  ie,
int  js,
int  je,
int  ks,
int  ke,
int  idel,
int  jdel,
int  kdel,
FTYPE(*)  wspeed[COMPDIM][NUMCS][NSTORE1][NSTORE2][NSTORE3] 
)

GODMARK: something wrong with comparing multiple velocities since grid/metric changes in space (i.e.

v=dx/dt means something different at each grid point) GODMARK: assumes boundary zones exist (flux method of bounding won't work) – have to apply extra limits on values (i,j,k) used here

defines an effective maximum wave speed centered on the cell interface (FACE)

might choose wavespeeds that correspond to interpolation stencil, which to first approximation is a symmetric stencil of size interporder[reallim]

Definition at line 394 of file wavespeeds.c.

Here is the caller graph for this function:

int vchar_all ( FTYPE *  pr,
struct of_state *  q,
int  dir,
struct of_geom *  geom,
FTYPE *  vmaxall,
FTYPE *  vminall,
int *  ignorecourant 
)

get wave speeds for flux calculation and for dt calculation

Definition at line 16 of file wavespeeds.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int vchar_each ( FTYPE *  pr,
struct of_state *  q,
int  dir,
struct of_geom *  geom,
FTYPE *  vmaxmhd,
FTYPE *  vminmhd,
FTYPE *  vmaxrad,
FTYPE *  vminrad,
FTYPE *  vmaxrad2,
FTYPE *  vminrad2,
int *  ignorecourant 
)

Definition at line 31 of file wavespeeds.c.

Here is the call graph for this function:

Here is the caller graph for this function: