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

Compute characteristics calculate components of magnetosonic velocity corresponding to primitive variables p Based upon cfg 7-10-01. More...

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

Go to the source code of this file.

Macros

#define BOUNDARYSMOOTHER   0
 
#define SMOOTHFACTOR   2.0
 whether to use larger vmin/vmax near boundaries to help with large changes in primitive quantities that Riemann solver cannot handle this also can control courant condition to be consistent, unless set IGNORECOURANT 1 More...
 
#define IGNORECOURANT   0
 factor by which to make vmin/vmax larger. More...
 
#define CHECKSOL   0
 whether to ignore vchar result in courant condition. More...
 
#define USEGROUPVEL   0
 whether to use group velocity rather than phase velocity mutually exclusive with CHECKSOL actually doesn't work when va2=1. More...
 
#define USESASHAREWRITE   1
 

Functions

int vchar (FTYPE *pr, struct of_state *q, int dir, struct of_geom *geom, FTYPE *vmax, FTYPE *vmin, int *ignorecourant)
 Charles believed that near polar axis one should set vmax=vmin=0, but not right since makes flux completely non-diffusive (leads to numerical instabilities) More...
 
int simplefast (int whichcall, int dir, struct of_geom *geom, struct of_state *q, FTYPE cms2, FTYPE *vmin, FTYPE *vmax)
 

Detailed Description

Compute characteristics calculate components of magnetosonic velocity corresponding to primitive variables p Based upon cfg 7-10-01.

Definition in file vchar.c.

Macro Definition Documentation

#define BOUNDARYSMOOTHER   0

Definition at line 13 of file vchar.c.

#define CHECKSOL   0

whether to ignore vchar result in courant condition.

Otherwise dt may be controlled by boundary smoother. Ignoring may lead to numerical instabilities. this leads to numerical instabilities! whether to check if phase velocity is >c and limit it to c. not quite right. really phase or group velocity can have independent other components. Other than k direction, can move with different velocity, so not a good comparison

Definition at line 24 of file vchar.c.

#define IGNORECOURANT   0

factor by which to make vmin/vmax larger.

Definition at line 18 of file vchar.c.

#define SMOOTHFACTOR   2.0

whether to use larger vmin/vmax near boundaries to help with large changes in primitive quantities that Riemann solver cannot handle this also can control courant condition to be consistent, unless set IGNORECOURANT 1

Definition at line 16 of file vchar.c.

#define USEGROUPVEL   0

whether to use group velocity rather than phase velocity mutually exclusive with CHECKSOL actually doesn't work when va2=1.

ctsq->, should avoid somehow

Definition at line 29 of file vchar.c.

#define USESASHAREWRITE   1

Definition at line 261 of file vchar.c.

Function Documentation

int simplefast ( int  whichcall,
int  dir,
struct of_geom geom,
struct of_state q,
FTYPE  cms2,
FTYPE vmin,
FTYPE vmax 
)

Definition at line 263 of file vchar.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int vchar ( FTYPE pr,
struct of_state q,
int  dir,
struct of_geom geom,
FTYPE vmax,
FTYPE vmin,
int *  ignorecourant 
)

Charles believed that near polar axis one should set vmax=vmin=0, but not right since makes flux completely non-diffusive (leads to numerical instabilities)

Definition at line 34 of file vchar.c.

Here is the call graph for this function:

Here is the caller graph for this function: