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: