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

Function declarations (used globally) by entire code. More...

#include "copyandinit_functions.funcdeclare.h"
#include "flux.funcdeclare.h"
#include "metric_selfgravity_or_evolvemetric.funcdeclare.h"
#include "initbase.funcdeclare.h"
#include "set_grid.funcdeclare.h"
#include "mpi_fprintfs.funcdeclare.h"
#include "bounds.funcdeclare.h"
#include "transforms.funcdeclare.h"
#include "coord.funcdeclare.h"
#include "metric.funcdeclare.h"
#include "eos.funcdeclare.h"
#include "phys.funcdeclare.h"
#include "phys.tools.funcdeclare.h"
#include "utoprimgen.funcdeclare.h"
#include "tetrad.funcdeclare.h"
#include "wavespeeds.funcdeclare.h"
#include "fixup.funcdeclare.h"
#include "diag.funcdeclare.h"
#include "fluxvpot.funcdeclare.h"
#include "nrutil.funcdeclare.h"
#include "metric.tools.funcdeclare.h"
#include <math.h>
#include "global.funcdeclare.rad.h"
#include "global.funcdeclare.user.h"
Include dependency graph for global.funcdeclare.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define sign(a)   (copysign(1.0,a))
 
#define isfinite(arg)   finite(arg)
 SUPERLONGDOUBLE declarations. More...
 
#define assert   assert_func_empty
 

Functions

int main (int argc, char *argv[])
 Main function that primarily calls init(), diag(), and step_ch_full() in loop. More...
 
int init (int *argc, char **argv[])
 General-Primary init() routine Uses globals inside init() because sets memory and sets physics. More...
 
int IsLittleEndian (void)
 
void * SwapEndian (void *Addr, const int Nb)
 FUNCTION: SwapEndian PURPOSE: Swap the byte order of a structure EXAMPLE: float F=123.456;; SWAP_FLOAT(F);. More...
 
int get_fluxpldirs (int *Nvec, int dir, int *fluxdir, int *pldir, int *plforflux, FTYPE *signflux)
 get directions for cyclic variables signflux determines signature of relationship between flux and A_i and likewise the EMF_i = - E_i As in fluxct.c: For evolution: d_t A1 = EMF1 = - E1 = F2[B3] = -F3[B2] d_t A2 = EMF2 = - E2 = F3[B1] = -F1[B3] d_t A3 = EMF3 = - E3 = F1[B2] = -F2[B1] More...
 
FTYPE interpn (int order, FTYPE x_eval, FTYPE x1, FTYPE f1, FTYPE x2, FTYPE f2, FTYPE x3, FTYPE f3, FTYPE x4, FTYPE f4, FTYPE x5, FTYPE f5, FTYPE x6, FTYPE f6)
 Description: Constructs a second-order polynomial interpolating the set of points {x#, f#}, #=1..3 and evaluates it at the point x. More...
 
void interpfun (int interptype, int numpoints, int i, FTYPE pos, FTYPE *xfun, FTYPE *fun, FTYPE *answer)
 to use generically (e.g. More...
 
void setup_nprlocalist (int whichprimtype, int *nprlocalstart, int *nprlocalend, int *nprlocallist, int *numprims)
 functions for loop stuff More...
 
FTYPE sign_bad (FTYPE a)
 assumes below get inlined much faster than macro using ? : super slow for get_geometry()'s sign() call! More...
 
FTYPE sign_func (FTYPE a)
 not any faster than above (except when used alot) More...
 
FTYPE signavoidzero (FTYPE a)
 much faster than macro using ? : Generally avoid using, instead do: igdet = sign(geom.gdet)/(fabs(geom.gdet)+SMALL) More...
 
FTYPE max (FTYPE a, FTYPE b)
 
FTYPE min (FTYPE a, FTYPE b)
 
FTYPE sec (FTYPE arg)
 
int assert_func (int is_bad_val, char *s,...)
 report More...
 
int assert_func_empty (int is_bad_val, char *s,...)
 report emtpy More...
 

Detailed Description

Function declarations (used globally) by entire code.

Definition in file global.funcdeclare.h.

Macro Definition Documentation

#define assert   assert_func_empty

Definition at line 330 of file global.funcdeclare.h.

#define isfinite (   arg)    finite(arg)

SUPERLONGDOUBLE declarations.

Definition at line 315 of file global.funcdeclare.h.

#define sign (   a)    (copysign(1.0,a))

Definition at line 222 of file global.funcdeclare.h.

Function Documentation

int assert_func ( int  is_bad_val,
char *  s,
  ... 
)

report

Definition at line 3006 of file initbase.c.

int assert_func_empty ( int  is_bad_val,
char *  s,
  ... 
)

report emtpy

Definition at line 3000 of file initbase.c.

int get_fluxpldirs ( int *  Nvec,
int  dir,
int *  fluxdir,
int *  pldir,
int *  plforflux,
FTYPE signflux 
)

get directions for cyclic variables signflux determines signature of relationship between flux and A_i and likewise the EMF_i = - E_i As in fluxct.c: For evolution: d_t A1 = EMF1 = - E1 = F2[B3] = -F3[B2] d_t A2 = EMF2 = - E2 = F3[B1] = -F1[B3] d_t A3 = EMF3 = - E3 = F1[B2] = -F2[B1]

For initialization: A1 = F2[B3] = -F3[B2] A2 = F3[B1] = -F1[B3] A3 = F1[B2] = -F2[B1] B1 = d_2 A3 - d_3 A2 B2 = d_3 A1 - d_1 A3 B3 = d_1 A2 - d_2 A1

opposite ordering required to be used when F[odir1] doesn't exist because N[odir1]==1 Should use signflux when changing between A_i <-> flux

Definition at line 25 of file fluxvpot.c.

Here is the caller graph for this function:

int init ( int *  argc,
char **  argv[] 
)

General-Primary init() routine Uses globals inside init() because sets memory and sets physics.

Definition at line 21 of file initbase.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void interpfun ( int  interptype,
int  numpoints,
int  i,
FTYPE  pos,
FTYPE xfun,
FTYPE fun,
FTYPE answer 
)

to use generically (e.g.

for parabolic interpolation), call like: interpfun(QUADRATICTYPE,3,1,realposition,array from 0 of positions, array from 0 of values, output of answer);

Definition at line 91 of file math.tools.c.

FTYPE interpn ( int  order,
FTYPE  x_eval,
FTYPE  x1,
FTYPE  f1,
FTYPE  x2,
FTYPE  f2,
FTYPE  x3,
FTYPE  f3,
FTYPE  x4,
FTYPE  f4,
FTYPE  x5,
FTYPE  f5,
FTYPE  x6,
FTYPE  f6 
)

Description: Constructs a second-order polynomial interpolating the set of points {x#, f#}, #=1..3 and evaluates it at the point x.

Interpolation is performed using the standard Lagrange method. Arguments: x_eval – abscissa of a point where an interpolated value is to be evaluated x1, x2, x3 – set of abscissas; should all be different; can come in any order f1, f2, f3 – set of function values at the above abscissas, i.e. f# = f( x# ), # = 1..3

Definition at line 20 of file math.tools.c.

int IsLittleEndian ( void  )

Definition at line 56 of file initbase.tools.c.

int main ( int  argc,
char *  argv[] 
)

Main function that primarily calls init(), diag(), and step_ch_full() in loop.

Definition at line 232 of file main.c.

Here is the call graph for this function:

FTYPE max ( FTYPE  a,
FTYPE  b 
)

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

FTYPE min ( FTYPE  a,
FTYPE  b 
)

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

FTYPE sec ( FTYPE  arg)

Definition at line 508 of file metric.tools.c.

void setup_nprlocalist ( int  whichprimtype,
int *  nprlocalstart,
int *  nprlocalend,
int *  nprlocallist,
int *  numprims 
)

functions for loop stuff

Definition at line 970 of file initbase.c.

Here is the caller graph for this function:

FTYPE sign_bad ( FTYPE  a)

assumes below get inlined much faster than macro using ? : super slow for get_geometry()'s sign() call!

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

FTYPE sign_func ( FTYPE  a)

not any faster than above (except when used alot)

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

FTYPE signavoidzero ( FTYPE  a)

much faster than macro using ? : Generally avoid using, instead do: igdet = sign(geom.gdet)/(fabs(geom.gdet)+SMALL)

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

void* SwapEndian ( void *  Addr,
const int  Nb 
)

FUNCTION: SwapEndian PURPOSE: Swap the byte order of a structure EXAMPLE: float F=123.456;; SWAP_FLOAT(F);.

Definition at line 65 of file initbase.tools.c.