HARM
harm and utilities
 All Data Structures Files Functions Variables Typedefs Macros Pages
Functions
phys.tools.funcdeclare.h File Reference

Function declarations for global use of things in phys.tools.c. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void mhd_calc (FTYPE *pr, int dir, struct of_geom *geom, struct of_state *q, FTYPE *mhd, FTYPE *mhdabs)
 MHD stress tensor, with first index up, second index down mhd^dir_j. More...
 
void mhd_calc_em (FTYPE *pr, int dir, struct of_geom *geom, struct of_state *q, FTYPE *mhd, FTYPE *mhdabs)
 MHD stress tensor, with first index up, second index down mhd^dir_j. More...
 
void mhd_calc_ma (FTYPE *pr, int dir, struct of_geom *geom, struct of_state *q, FTYPE *mhd, FTYPE *mhdabs, FTYPE *mhddiagpress, FTYPE *mhddiagpressabs)
 MHD stress tensor, with first index up, second index down mhd^dir_j understood that mhddiagpress only contains non-zero element on mhddiagpress[dir] and all others should be 0.0. More...
 
int area_map (int call_code, int type, int size, int i, int j, int k, FTYPE(*prim)[NSTORE2][NSTORE3][NPR])
 2D only for now since really only useful for 2D imaging map out region around failure point OPENMPNOTE: Assume area_map() not called by multiple threads, so static's are ok (including firsttime) More...
 
void bcon_calc (FTYPE *pr, FTYPE *ucon, FTYPE *ucov, FTYPE *bcon)
 calculate magnetic field four-vector More...
 
void lowerf (FTYPE *a, struct of_geom *geom, FTYPE *b)
 
int dualfullfaraday_calc (FTYPE *pr, int dir, struct of_state *q, FTYPE *dualf)
 Notation for HARM paper and JCM's GRFFE paper is that: B^ = *F^{} and for lab-frame we chose ={-1,0,0,0}. More...
 
int dualfaradayspatial_calc (FTYPE *pr, int dir, struct of_state *q, FTYPE *dualf, FTYPE *dualfabs)
 spatial part of dualfaraday More...
 

Detailed Description

Function declarations for global use of things in phys.tools.c.

Definition in file phys.tools.funcdeclare.h.

Function Documentation

int area_map ( int  call_code,
int  type,
int  size,
int  i,
int  j,
int  k,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR] 
)

2D only for now since really only useful for 2D imaging map out region around failure point OPENMPNOTE: Assume area_map() not called by multiple threads, so static's are ok (including firsttime)

Definition at line 956 of file diag.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void bcon_calc ( FTYPE pr,
FTYPE ucon,
FTYPE ucov,
FTYPE bcon 
)

calculate magnetic field four-vector

Definition at line 1092 of file phys.tools.c.

Here is the caller graph for this function:

int dualfaradayspatial_calc ( FTYPE pr,
int  dir,
struct of_state q,
FTYPE dualf,
FTYPE dualfabs 
)

spatial part of dualfaraday

Definition at line 599 of file phys.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int dualfullfaraday_calc ( FTYPE pr,
int  dir,
struct of_state q,
FTYPE dualffull 
)

Notation for HARM paper and JCM's GRFFE paper is that: B^ = *F^{} and for lab-frame we chose ={-1,0,0,0}.

One can then show that b^i u^j - b^j u^i = B^i v^j - B^j v^i where b^ = u_ *F^{} and v^i = u^i/u^t

The form using B^i and v^i avoids catastrophic cancellation because otherwise starting with B^i (as primitive) and converting to b^i leads to u^i u^j (u.B)/u^t term that cancels exactly Since this is quite a high order term, then for highly relativistic flows this causes catastrophic cancellation issues, so this is why we use the primitives directly even if more complicated looking and more expensive to compute stress tensor or maxwell tensor

returns ^{ dir} well, actually returns dualffull[dir], so gives columns instead of rows

Definition at line 633 of file phys.tools.c.

Here is the caller graph for this function:

void lowerf ( FTYPE a,
struct of_geom geom,
FTYPE b 
)

Definition at line 1797 of file phys.tools.c.

Here is the caller graph for this function:

void mhd_calc ( FTYPE pr,
int  dir,
struct of_geom geom,
struct of_state q,
FTYPE mhd,
FTYPE mhdabs 
)

MHD stress tensor, with first index up, second index down mhd^dir_j.

Definition at line 1180 of file phys.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void mhd_calc_em ( FTYPE pr,
int  dir,
struct of_geom geom,
struct of_state q,
FTYPE mhd,
FTYPE mhdabs 
)

MHD stress tensor, with first index up, second index down mhd^dir_j.

Definition at line 1211 of file phys.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void mhd_calc_ma ( FTYPE pr,
int  dir,
struct of_geom geom,
struct of_state q,
FTYPE mhd,
FTYPE mhdabs,
FTYPE mhddiagpress,
FTYPE mhddiagpressabs 
)

MHD stress tensor, with first index up, second index down mhd^dir_j understood that mhddiagpress only contains non-zero element on mhddiagpress[dir] and all others should be 0.0.

Definition at line 1196 of file phys.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function: