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

Default values for code choices/switches appearing in user's init.h. More...

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

Go to the source code of this file.

Macros

#define ORDERSTORAGE   5
 Set array storage order as defined in global.storage.h 0 corresponds to original HARM 5 optimal for extended radial grid, less so in , and even less so in . More...
 
#define NEWMETRICSTORAGE   1
 whether to use new metric storage method that directly creates geom-> structure that is directly used rather than doing indirect memory copies and calculations More...
 
#define ASYMDIAGCHECK   0
 whether to check symmetry along diagonal (for test==151 in Sasha's tests) More...
 
#define ACCURATEDIAG   1
 whether to use accurate (bit more expensive) diagnostics. Only necessary for timeorder>2 More...
 
#define FLUXDIAGPARTS   0
 
#define ACCURATESOURCEDIAG   1
 whether to accurately update diagnostics related to source() terms. More...
 
#define DIAGSOURCECOMPSTEP   4
 
#define ACCURATESINCOS   1
 whether to use sin/cos exactly symmetrized around pi/2 if one doesn't do this, then = pole can lead to =small number instead of 0.0 More...
 
#define HOT2ENTROPY   1
 whether to try entropy inversion if hot fails More...
 
#define HOT2COLD   1
 whether to try cold inversion if hot fails (only used if cold makes sense) More...
 
#define HOT2FFDE   1
 whether to try FFDE inversion if hot fails (only used if FFDE makes sense) More...
 
#define ENTROPY2COLD   1
 whether to try cold inversion if entropy fails More...
 
#define ENTROPY2HOT   1
 whether to try HOT inversion if entropy fails More...
 
#define ENTROPY2FFDE   1
 whether to try FFDE inversion if entropy fails (only used if FFDE makes sense) More...
 
#define BADENERGYMAC(ugenergy, ugentropy)   ((ugenergy) < 0.5*(ugentropy))
 
#define BADENERGY2MAC(ugenergy, ugentropy)   ((ugenergy) < (ugentropy))
 
#define DIVMETHODPREFLUX   0
 which method to store divergence condition More...
 
#define DIVMETHODPOSTFLUX   1
 
#define DIVERGENCEMETHOD   1
 
#define COMPDIM   3
 NUMBER OF DIMENSIONS FOR COMPUTATION Can choose 3 and still do 1D optimized problems Choosing 2 or even 1 reduces some memory load for those things that are accessed by using 1,2,3 instead of arbitrarily accessed not sure if 1 works. More...
 
#define GETGEOMUSEPOINTER   0
 whether to have get_geometry() point to global gcov,gcon,gcovpert – faster and no limitations apparently faster now to choose 0 define GETGEOMUSEPOINTER 1 not used when NEWMETRICSTORAGE==1 More...
 
#define SPLITNPR   0
 whether to split NPR PLOOPs More...
 
#define ANALYTICMEMORY   1
 whether to store analytical values – required for some boundary condition methods More...
 
#define WENOMEMORY   0
 whether want to use weno memory (required for c2e or a2c or c2a for weno/eno) More...
 
#define HIGHERORDERMEM   1
 whether need higher order memory stuff More...
 
#define SPLITMAEMMEM   (0)
 whether to split off MA and EM parts of flux for higher order for now always do if doing higher order GODMARK: If SPLITMAEM==0 and pointfield method, then only EMF terms have fixed stencil define SPLITMAEMMEM (HIGHERORDERMEM) More...
 
#define DOMONOINTERP   SMONOINTERP
 #define DOMONOINTERP NOMONOINTERP define DOMONOINTERP JMONOINTERP More...
 
#define SPLITPRESSURETERMINFLUXMA   0
 whether to split isotropic pressure off of flux for separate interpolation this splitting only used ultimately if splitmaem==1 (even if computed separately) More...
 
#define SPLITPRESSURETERMINFLUXEM   0
 below not setup yet: More...
 
#define MERGEDC2EA2CMETHODMA   0
 whether to do a2c during c2e see interpline.c More...
 
#define MERGEDC2EA2CMETHODEM   0
 
#define MERGEDC2EA2CMETHOD   (MERGEDC2EA2CMETHODMA || MERGEDC2EA2CMETHODEM)
 
#define HIGHERORDERROUGH   0
 
#define HIGHERORDERSMOOTH   1
 
#define HIGHERORDERVERYSMOOTH   2
 
#define HIGHERORDERTYPE   HIGHERORDERROUGH
 CHOOSE SMOOTHNESS EXPECTED OF SOLUTION for HIGHERORDER TERMS: More...
 
#define DO_SPLITC2E   NOSPLITA2C
 #define HIGHERORDERTYPE HIGHERORDERSMOOTH More...
 
#define DO_SPLITA2C   ENERGY_CONTROLS_ALL_WEIGHTS
 
#define DO_SPLITA2CSMOOTH   DO_SPLITA2C
 
#define DO_SPLITA2C4FLUX   DO_SPLITA2C
 
#define DO_SPLITA2C4MAFLUX   MASSENERGYMOMENTUM_IS_COUPLED_WEIGHTS
 
#define DO_SPLITA2C4SMOOTHFLUX   DO_SPLITA2C
 
#define DO_SPLITSOURCE   NOSPLITA2C
 
#define EMFLUXFIELDTERMTYPE   ENOFLUX
 
#define FIELDTERMTYPE   ENOFLUX
 
#define FIELDFVTYPE   ENOCONSERVED
 
#define VELTERMSMINIMIZE(pl)   (pl==RHO || pl==UU || pl==UU+dir)
 for MASSENERGYMOMENTUM_IS_COUPLED_WEIGHTS used in reconstruct.c and interpline.mono.c More...
 
#define ORTHOVEL1TERMSMINIMIZE(pl)   (pl==UU+odir1)
 
#define ORTHOVEL2TERMSMINIMIZE(pl)   (pl==UU+odir2)
 
#define PRESSUREMINIMIZE(pl)   (pl==FLUXSPLITPMA(dir))
 
#define EMFTERMS(pl)   (pl>=B1 && pl<=B3)
 
#define ALLOTHERSMINIMIZE(pl)   (! (VELTERMSMINIMIZE(pl) || ORTHOVEL1TERMSMINIMIZE(pl) || ORTHOVEL2TERMSMINIMIZE(pl) || PRESSUREMINIMIZE(pl) || ((emffixedstencil==1)&&EMFTERMS(pl)) ) )
 ALLOTHERS corresponds to all those pl's not specially handled by the minimization routine. More...
 
#define FIELDSTAGMEM   1
 #define OTHERADVECTMINIMIZE(pl) ( YFLPL(pl) && DOYFL!=DONOYFL || pl==YL && DOYL!=DONOYL || pl==YNU && DOYNU!=DONOYNU || pl==ENTROPY && DOENTROPY!=DONOENTROPY) More...
 
#define STOREFLUXSTATE   1
 whether to store get_state() data into array for later use since expensive to compute get_geometry() and ucon_calc() type things More...
 
#define STORESHOCKINDICATOR   1
 whether to compute and store Shock (and other indicators) just once rather than for every call to slope_lim(). Since there can be many (e.g. 33 in 3D for staggered field method) that would be overly expensive for a simple diffusive check or correction that it itself is not higher-order! More...
 
#define FIELDTOTHMEM   1
 whether to define Toth memory stuff define FIELDTOTHMEM (!FIELDSTAGMEM) // CHANGINGMARK More...
 
#define TRACKVPOT   0
 whether to track and dump A_i the vector potential More...
 
#define EVOLVEWITHVPOT   TRACKVPOT
 whether to redefine fields from A_i during evolution currently only done after each full timestep to avoid being expensive only machine error different from evolution of field itself More...
 
#define MODIFYEMFORVPOT   MODIFYVPOT
 more often makes sense to modify A_i and not EMF_i, since want A_i to be smooth so Bstag^i is computed properly (and Bcent^i based upon Bstag^i) More...
 
#define CORNGDETVERSION   1
 whether to specify gdet at end when setting EMF or to have internal to variables before averaging. More...
 
#define N1   64
 #define CORNGDETVERSION 0 More...
 
#define N2   64
 
#define N3   1
 
#define MAXBND   5
 #if(DOENOFLUX==ENOFINITEVOLUME) More...
 
#define MCOORD   KSCOORDS
 #else define MAXBND 3 endif More...
 
#define MAXWELL   PRIMMAXWELL
 defines how one forms the EM stress-energy tensor GENMAXWELL is perfectly fine for relativistic problems that are not near machine error for highly relativistic flows that usually is only for tests define MAXWELL GENMAXWELL prim version avoids catastrophic cancellation in non-rel limit OPTMARK: MAXWELL GENMAXWELL faster if don't care about cancellation issues (i.e. More...
 
#define UD0PLUS1FIX   1
 whether to avoid catastrophic cancellations for non-rel and ultra-rel speed and gravity regimes with u_t+1 More...
 
#define DO_VORTICITY_IMAGE   0
 
#define PRODUCTION   0
 
#define FULLOUTPUT   0
 0: full images, dumps, etc., few more key failure stderr/fail_file messages 1: only log density image since too many images (takes alot of time), no utoprim failure messages – assume debug.out and debug???? will have info if needed 2: #1 but also avoid error_check() and avoid per-MPI-proc log and fail files (good for running on >1000 cores) 3: #2 but also avoid dumps not needed except by python (remove all SM-related dumps) More...
 
#define MAILWHENDONE   1
 
#define MAILFROMREMOTE   0
 
#define REMOTEHOST   "ki-rh42.slac.stanford.edu"
 
#define REMOTEUSER   "jon"
 
#define EMAILADDRESS   "jmckinne@stanford.edu"
 
#define EMAILMESSAGE   "Done with GRMHD run DEFAULT"
 
#define SUPERLONGDOUBLE   0
 whether doing super long doubles More...
 
#define PERFTEST   0
 
#define DOAVG   0
 0: don't perform performance test 1: do More...
 
#define DOAVGDUMP   (DOAVG)
 
#define DOJETDIAG   1
 0: don't do time average dumps, so don't allocate memory 1: do More...
 
#define DOAVG2   0
 0: don't do jet diagnostics (ener, not flener that is always done) 1: do More...
 
#define DOGDUMP   1
 0: don't split AVG file 1: do More...
 
#define DORDUMP   1
 0: don't output grid dump 1: do More...
 
#define DOMAINDUMP   1
 0: don't output restart dumps 1: do More...
 
#define DOMAINDUMPDIAG   (DOMAINDUMP)
 
#define DODEBUGDUMP   1
 0: don't output main dump files 1: do More...
 
#define DODEBUG   1
 0: don't output debug dump file or ener file(ener is based on dump counts) 1: do More...
 
#define DOFLOORDUMP   1
 0: don't output debug dump file or ener file(ener is based on dump counts) 1: do More...
 
#define DOFLOORDIAG   (DOFLOORDUMP)
 
#define DODISSMEASUREDUMP   0
 0: don't output file with diag_fixup() activated changes in conserved quantities 1: do More...
 
#define DODISSMEASUREDIAG   (DODISSMEASUREDUMP)
 
#define DOEOSDUMP   1
 0: don't do dissmeasure dump files 1: do More...
 
#define DOEOSDIAG   (DOEOSDUMP)
 
#define DORADDUMP   1
 0: don't do eosdump files 1: do More...
 
#define DORADDIAG   (DORADDUMP)
 
#define DOVPOTDUMP   (1 && TRACKVPOT)
 0: don't do raddump files 1: do More...
 
#define DOIMAGEDUMP   (1)
 
#define DOAREAMAPDUMP   (1)
 
#define DOENODEBUG   0
 
#define DOGRIDSECTIONING   0
 whether to do ENO debug More...
 
#define WENO_USE_PRIM_REDUCTION   1
 0: don't do grid sectioning 1: do (only part of the grid in the active section is evolved) More...
 
#define WENO_EXTRA_A2C_MINIMIZATION   0
 0: do not perform the c2a limiting on the fluxes 1: perform the limiting of c2a flux reconstruction based on the limiting of the a2c primitive correction: if the a2c reconstruction of the conserved quantities leads to very different primitives, then no a2c reconstruction is done; in this case no reconstruction is done on the fluxes either. More...
 
#define WENO_REDUCE_A2C_LOOK_OTHER_DIRECTIONS   1
 
#define LIMIT_FLUXC2A_PRIM_CHANGE   0
 0: do not perform additional reduction 1: perform additional reduction: for NDIM > 1, subsequent 1d a2c reconstructions reduce to lower order (=no reconstruction) if any of the previous reconstructions reduced More...
 
#define DO_WENO_DEBUG   0
 0: do not limit primtive correction due to c2a done on fluxes 1: limit c2a correction More...
 
#define DOSUPERDEBUG   0
 whether to debug WENO More...
 
#define ALLOWMETRICROT   0
 0: don't output super debug output 1: do More...
 
#define DOMIXTHETAPHI   0
 TODO: More...
 
#define DOEVOLVEMETRIC   0
 careful not to use DOMIXTHETAPHI in .h files since init.h might change it. More...
 
#define EVOLVEMETRICSUBSTEP   0
 0 = evolve only infrequently after many steps 1 = evolve on every substep in full RK form 2 = use accdt and ndt1/2/3 to determine whether one should evolve metric on substeps or longsteps More...
 
#define LIMITDTWITHSOURCETERM   0
 whether to limit timestep using source term at t=0 and full flux term for future times More...
 
#define LIMITSOURCES   0
 whether to limit source update by some constraint (gives dUriemann to source()) More...
 
#define USEGRAVITYDTINDTLIMIT   0
 whether to use gravitydt to limit dt More...
 
#define RESTRICTDTSETTINGINSIDEHORIZON   1
 0: no restriction beyond normal ghost+active bounds 1: don't limit via accdt or gravitydt inside horizon 2: in addition to #1, don't limit due to velocity inside horizon (can't be used if boundary condition drives solution and would limit dt more than active region) More...
 
#define DODISS   0
 
#define DODISSMEASURE   0
 
#define DOLUMVSR   0
 0: don't do calculation 1: do More...
 
#define DODISSVSR   0
 see diag_source() More...
 
#define WHICHENTROPYEVOLVE   EVOLVESIMPLEENTROPY
 below only applies to dissipation inversion More...
 
#define DOSELFGRAVVSR   0
 #define WHICHENTROPYEVOLVE EVOLVEFULLENTROPY More...
 
#define DOFIELDLINE   1
 
#define ROEAVERAGEDWAVESPEED   0
 0: don't output energy and field line stuff 1: do More...
 
#define ATHENAROE   0
 whether to use Athena's version of Roe averaging and estimating wave speeds More...
 
#define STOREWAVESPEEDS   0
 whether to store wave speeds over whole grid before computing flux useful to avoid extra calculations if doing "local" LAXF or "global" LAXF. More...
 
#define PERCELLDT   1
 whether to compute per cell $dt$ by storing $dt$ per dimension and then computing minimum per cell rather than minimum per dimension. Can give up to a factor of 3X improvement in speed (just changes effective Courant factor). More...
 
#define USESTOREDSPEEDSFORFLUX   (STOREWAVESPEEDS)
 whether to use stored wave speeds for flux calculation (allows one to store wave speeds for interp.c but use true VERYLOCALVCHAR that is vchar's estimated from boundary as in standard HARM – rather than maximum from center zones as done by STORED version of VERYLOCALVCHAR) silly choice would be 0 if VCHARTYPE=GLOBALVCHAR since interp.c doesn't use the stored wave speeds if this is the case. More...
 
#define VCHARTYPE   VERYLOCALVCHAR
 
#define TRUEFAST   0
 TRUEFAST=0 : use overall larger phase velocity TRUEFAST=1 : use true phase velocity (has problems with catastrophic cancellation) More...
 
#define FORCESOLVEL   0
 whether to force dt to use velocity based upon speed of light Doesn't change how fluxes are computed! More...
 
#define FORCESOLVELFLUX   0
 below changes how fluxes are computed More...
 
#define CHECKONINVERSION   1
 whether to check on inversion and report problem Also, use diag_fixup() to account for changes in U when inversion success (tracks changes due to Newton iteration error and machine error) More...
 
#define CHECKONINVERSIONRAD   0
 
#define PRECISEINVERSION   1
 
#define WHICHVEL   VELREL4
 whether we use ultimately precise inversion or "workable" inversion precision (see utoprim's for how defined) More...
 
#define REMOVERESTMASSFROMUU   1
 which velocity to compute in (init can be anything (see init.c's for transformations) More...
 
#define RELTYPE   RELEOM
 
#define EOMTYPE   EOMGRMHD
 
#define EOMRADTYPE   EOMRADNONE
 #define EOMTYPE EOMCOLDGRMHD More...
 
#define EVOLVENRAD   0
 
#define WHICHRADSOURCEMETHOD   SOURCEMETHODNONE
 
#define UTOPRIMTRYAGAIN   0
 #define WHICHRADSOURCEMETHOD SOURCEMETHODIMPLICITEXPLICITCHECK More...
 
#define WHICHEOS   IDEALGAS
 which EOS (EoS) (equation of state) to use More...
 
#define DOENTROPY   DONOENTROPY
 #define WHICHEOS MIGNONE define WHICHEOS GRBPWF99 define WHICHEOS KAZFULL More...
 
#define FIXUPAFTERINIT   1
 whether to call fixup() after initialization More...
 
#define FIXUPAFTERRESTART   1
 whether to call fixup() after restart More...
 
#define CHECKSOLUTION   0
 checks if solution is reasonble and fails a point if not only checks if b^2/>>BSQORHOMAX, etc. More...
 
#define GAMMAPERCDIFFMAX   2.0
 factor by which zone-zone values can be different for and internal energy, used of CHECKSOLUTION==1 More...
 
#define UPERCDIFFMAX   10.0
 
#define DOEXTRAINTERP   0
 whether to interpolate extra quantity (e.g. v^2) and use to renormalize velocities after they are interpolated More...
 
#define DOYFL   0
 must also set RESCALEINTERP=1 More...
 
#define DOYL   0
 whether to evolve Y_l (see kazeosfull.c) More...
 
#define DOYNU   DOYL
 whether to evolve Y_ (see kazeosfull.c) More...
 
#define LIMADJUST   LIMITERFIXED
 whether to control the limiter More...
 
#define HYDROLIMADJUSTONLY   1
 #define LIMADJUST LIMITERBSQORHOANDU More...
 
#define FLUXADJUST   FLUXFIXED
 determine how flux is computed per zone More...
 
#define HYDROFLUXADJUSTONLY   1
 #define FLUXADJUST FLUXBSQORHOANDU More...
 
#define STEPOVERNEGU   NEGDENSITY_FIXONFULLSTEP
 whether to allow negative internal energy in substep UTOPRIMFAILRETURNTYPE==UTOPRIMRETURNADJUSTED should be set in global.h More...
 
#define STEPOVERNEGRHO   NEGDENSITY_FIXONFULLSTEP
 seems to make things worse (more failures, but also worse failures) More...
 
#define STEPOVERNEGURHO   NEGDENSITY_FIXONFULLSTEP
 
#define UTOPRIMADJUST   UTOPRIMAVG
 #define UTOPRIMADJUST UTOPRIMSTATIC More...
 
#define UTOPRIMFAILRETURNTYPE   UTOPRIMRETURNADJUSTED
 0: return non-updated quantities 1: if u<0 or rho<0, then return updated quantities, else return non-updated quantities More...
 
#define SMOOTHSING   1
 whether to smooth singularity of black hole over grid scale More...
 
#define COORDSINGFIXCYL   0
 
#define COORDSINGFIX   1
 
#define SINGSMALL   (1000*NUMEPSILON)
 whether to move polar axis to a bit larger theta theta value where singularity is displaced to More...
 
#define VOLUMEDIFF   0
 Hawley uses 0.06283 (0.02Pi) More...
 
#define DOSTOREPOSITIONDATA   1
 whether to use volume regularization or not More...
 
#define STORETLAB2ORTHO   0
 whether to store X,V,dxdxp in case are expensive to compute More...
 
#define CONNDERTYPE   DIFFNUMREC
 which derivative type to use when computing connection coefficients define CONNDERTYPE DIFFGAMMIE More...
 
#define CONNMACHINEBODY   1
 whether to correct connection so body forces are 0 when p=constant only makes sense for non-higher order scheme does help near the pole to avoid failures More...
 
#define CONNAXISYMM   1
 whether connection coefficients are computed as being axisymmetric Speeds-up connection calculation when starting computations currently all setups are axisymmetric metrics, but don't assume list won't diverge. More...
 
#define WHICHEOM   WITHGDET
 if WHICHEOM==WITHNOGDET, then below determines which EOMs get what geometric prefactor. Notice (as described in phys.c's source_conn() ) that geometry issue applies AFTER additions/subtractions of EOMs (as done by REMOVERESTMASSFROMUU). More...
 
#define GDETVOLDIFF   0
 #define WHICHEOM WITHNOGDET More...
 
#define FIXGDETSPC_WHEN_1DRADIAL   1
 whether to make gdet finite volume-like when reverting to 1D spherical polar coordinates More...
 
#define FORCEGDETPOSITIVE   0
 whether to force gdet to be positive everywhere. More...
 
#define MINDT   1.e-20
 
#define JONCHECKS   1
 
#define JONCHECKS2   1
 
#define FLOORDIAGS   1
 
#define ANALYTICGCON   0
 whether to use analytic g^{} if available More...
 
#define ANALYTICCONNECTION   0
 
#define ANALYTICSOURCE   0
 only applies to certain metric's and coordinates, see set_grid.c More...
 
#define OUTFLOWAVOIDBC   0
 very slow with gcc, some extend pgcc, not a bit problem with icc only applies to certain metric's and coordaintes, see phys.c More...
 
#define FLUXDIMENSPLIT   PERFECTUNSPLIT
 
#define A2CDIMENSPLIT   PERFECTUNSPLIT
 
#define BOUNDFLUXRECON   0
 whether to bound flux if doing fluxrecon More...
 
#define BOUNDUNEW   0
 whether to bound unew (GODMARK: no separate algorithm yet, so only works for non-outflow boundary conditions) – only needed if unewisavg==1 More...
 
#define DODQMEMORY   1
 whether to have dq's : only used by second order methods More...
 
#define BOUNDARYINTERPADJUST   0
 whether to adjust interpolation based upon boundary conditions defunct. More...
 
#define COMPUTEFRDOT   0
 
#define CALCFARADAYANDCURRENTS   0
 
#define WHICHCURRENTCALC   CURRENTCALC1
 
#define FARADAYT0   1
 
#define CURRENTST0   1
 
#define BOUNDPLPR   0
 
#define NOFLUXCTONX1DN   0
 
#define OUTFLOW   0
 
#define SYMM   1
 
#define ASYMM   2
 
#define FIXED   3
 
#define POLARAXIS   4
 
#define FIXEDOUTFLOW   5
 
#define NSSURFACE   6
 
#define PERIODIC   7
 
#define OUTFLOWNOINFLOW   8
 
#define RAMESHOUTFLOW   9
 
#define HORIZONOUTFLOW   10
 
#define BCEXTRAP   100
 
#define CYLAXIS   101
 
#define BCEXTRAP_VEL3   102
 
#define JETINJECTION   103
 
#define BCU1EXTRAPOTHERFIXED   104
 
#define BCEXTRAPCONSTRAINED   105
 
#define RESCALEOUTFLOW   106
 
#define RESCALEFIXEDALLOUTFLOWU1   107
 
#define FIXED_RESCALEOUTFLOWU1   108
 
#define BONDIMDOTOUTFLOW   109
 
#define BONDIINTOUTFLOW   110
 
#define DISKSURFACE   111
 
#define FREEOUTFLOW   112
 
#define R0SING   113
 
#define FIXEDUSEPANALYTIC   200
 
#define EVOLVECHECKS   0
 
#define FIXUPZONES   FIXUP1ZONE
 
#define HLLBOUNDARY   0
 
#define FIXUPFLUX   0
 
#define ZEROOUTFLOWFLUX   0
 
#define ZEROPOLEFLUX   0
 
#define FLIPGDETAXIS   1
 
#define FLIPU3AXIS   0
 
#define FLIPB3AXIS   0
 
#define FLIPU2AXIS   0
 
#define FLIPB2AXIS   0
 
#define FLIPU1AXIS   0
 
#define FLIPB1AXIS   0
 
#define DOPOLEDEATH   0
 
#define DOPOLESMOOTH   0
 
#define DOPOLEGAMMADEATH   0
 
#define RESCALEINTERP   0
 
#define RESCALEINTERPFLUXCTSTAG   0
 
#define BDIRCONT   1
 
#define HYPERHLL   0
 
#define HORIZONSUPERFAST   0
 
#define VARTOINTERP   PRIMTOINTERP
 
#define VARTOINTERPFIELD   GDETVERSION
 
#define VLINEWITHGDETRHO   1
 
#define PLINEWITHFIELD   1
 
#define PARALINEUSESMONO   0
 
#define USEAVGPRIMITIVEFORWENOFLAT   1
 
#define USEPRIMITIVEFROMAVGCONSERVED   0
 
#define CONTACTINDICATOR   0
 
#define COMPUTEDRHODP   1
 
#define SUPERFASTDIVREDUCE   0
 
#define MINPREFORDER   3
 
#define SHOCKINDICATOR   1
 
#define WHICHPARA   PARA4
 
#define BONDI_BOUNDARY_SET_PL_PR   0
 
#define NUMPANALYTICOTHER   0
 
#define DODUMPOTHER   0
 
#define FLUXDUMP   0
 
#define NUMPOTHER   0
 
#define CONNDELTA   (MY1EM5)
 
#define USERERSETREGION   0
 
#define BCSIGMACONSTATPOLE   0
 
#define DOONESTEPDUACCOUNTING   1
 
#define FIELDLINEGDETB   0
 
#define DO_ASSERTS   0
 
#define ADJUSTFLUXCT   0
 
#define ADJUSTFLUX   0
 
#define DEBUGINOUTLOOPS   0
 
#define OUTEREXTRAP   3
 
#define HORIZONEXTRAP   3
 
#define NUMITERVPHI   5
 
#define POLEDEATH   (MIN(DOPOLEDEATH,N2BND))
 
#define MAXPOLEDEATH   (MIN(DOPOLEDEATH+1,N2BND))
 
#define DEATHEXPANDAMOUNT   0
 
#define POLEINTERPTYPE   3
 
#define POLEGAMMADEATH   (MIN(DOPOLEGAMMADEATH,N2BND))
 
#define GAMMAPOLEOUTGOING   1.1
 
#define GAMMAPOLEINGOINGOUT   1.3
 
#define GAMMAPOLEOUTGOINGPOWER   0.1
 
#define GAMMAPOLEOUTGOINGRADIUS   6.0
 
#define GAMMAPOLEOUTGOINGRADIUSIN   4.0
 
#define GAMMAPOLEOUTGOINGMAX   (5.0)
 
#define GAMMAPOLEINGOING   GAMMAMAX
 
#define GAMMARADPOLEOUTGOING   1.3
 
#define GAMMARADPOLEINGOINGOUT   1.7
 
#define GAMMARADPOLEOUTGOINGPOWER   0.5
 
#define GAMMARADPOLEOUTGOINGRADIUS   6.0
 
#define GAMMARADPOLEOUTGOINGRADIUSIN   4.0
 
#define GAMMARADPOLEOUTGOINGMAX   (3.0)
 
#define GAMMARADPOLEINGOING   GAMMAMAXRAD
 
#define POLEDENSITYDROPFACTOR   5.0
 
#define POLEGAMMAJUMPFACTOR   2.0
 
#define RADIUSMOREDEATH   (300.0)
 
#define AVERAGEINRADIUS   0
 
#define RADIUSTOSTARTAVERAGING   7
 
#define RADIUSTOAVOIDRADIALSUCK   (2.0*Rhor)
 
#define IFLIMITPOLEDEATH   0
 
#define LIMITEDPOLEDEATHINRADIUS   1
 
#define RADIUSLIMITPOLEDEATHIN   (3.0)
 
#define IFLIMITPOLEDEATHIOUT   (-100)
 
#define POLESMOOTH   (MIN(DOPOLESMOOTH,N2BND))
 
#define OUTERDEATH   0
 
#define OUTERDEATHRADIUS   (1E3)
 
#define OUTERDEATHGAMMAMAX   (6.0)
 
#define OUTERDEATHGAMMAMAXRAD   (GAMMAMAXRAD)
 
#define OLDNONCONT   0
 
#define OUTERRADIALSUPERFAST   0
 
#define DOCOMPTON   0
 
#define ENFORCEMHDCONS2RADCONS   0
 
#define DOPERF   0
 
#define ENSURECONS   0
 
#define BORROWENTROPY   0
 

Detailed Description

Default values for code choices/switches appearing in user's init.h.

Definition in file definit.h.

Macro Definition Documentation

#define A2CDIMENSPLIT   PERFECTUNSPLIT

Definition at line 704 of file definit.h.

#define ACCURATEDIAG   1

whether to use accurate (bit more expensive) diagnostics. Only necessary for timeorder>2

Definition at line 20 of file definit.h.

#define ACCURATESINCOS   1

whether to use sin/cos exactly symmetrized around pi/2 if one doesn't do this, then = pole can lead to =small number instead of 0.0

Definition at line 35 of file definit.h.

#define ACCURATESOURCEDIAG   1

whether to accurately update diagnostics related to source() terms.

Not really necessary since those source terms don't lead to perfect conservation anyways Calling diag_source_comp() can be somewhat expensive, so just do on final steps for now (i.e. below set to 0)

Definition at line 29 of file definit.h.

#define ADJUSTFLUX   0
#define ADJUSTFLUXCT   0
#define ALLOTHERSMINIMIZE (   pl)    (! (VELTERMSMINIMIZE(pl) || ORTHOVEL1TERMSMINIMIZE(pl) || ORTHOVEL2TERMSMINIMIZE(pl) || PRESSUREMINIMIZE(pl) || ((emffixedstencil==1)&&EMFTERMS(pl)) ) )

ALLOTHERS corresponds to all those pl's not specially handled by the minimization routine.

EMFTERMS only handled specially if emffixedstencil==1 below is always true unless hit certain terms that are true

Definition at line 208 of file definit.h.

#define ALLOWMETRICROT   0

0: don't output super debug output 1: do

whether to allow metric rotations 0: don't 1: do

Definition at line 415 of file definit.h.

#define ANALYTICCONNECTION   0

Definition at line 693 of file definit.h.

#define ANALYTICGCON   0

whether to use analytic g^{} if available

Definition at line 691 of file definit.h.

#define ANALYTICMEMORY   1

whether to store analytical values – required for some boundary condition methods

Definition at line 80 of file definit.h.

#define ANALYTICSOURCE   0

only applies to certain metric's and coordinates, see set_grid.c

Definition at line 696 of file definit.h.

#define ASYMDIAGCHECK   0

whether to check symmetry along diagonal (for test==151 in Sasha's tests)

Definition at line 17 of file definit.h.

#define ASYMM   2
#define ATHENAROE   0

whether to use Athena's version of Roe averaging and estimating wave speeds

Definition at line 484 of file definit.h.

#define AVERAGEINRADIUS   0
#define BADENERGY2MAC (   ugenergy,
  ugentropy 
)    ((ugenergy) < (ugentropy))

Definition at line 55 of file definit.h.

#define BADENERGYMAC (   ugenergy,
  ugentropy 
)    ((ugenergy) < 0.5*(ugentropy))

Definition at line 54 of file definit.h.

#define BCEXTRAP   100
#define BCEXTRAP_VEL3   102
#define BCEXTRAPCONSTRAINED   105
#define BCSIGMACONSTATPOLE   0
#define BCU1EXTRAPOTHERFIXED   104
#define BDIRCONT   1
#define BONDI_BOUNDARY_SET_PL_PR   0
#define BONDIINTOUTFLOW   110
#define BONDIMDOTOUTFLOW   109
#define BORROWENTROPY   0
#define BOUNDARYINTERPADJUST   0

whether to adjust interpolation based upon boundary conditions defunct.

Not used anymore by ENO scheme and shouldn't be activated for other schemes. LEAVE 0!

Definition at line 718 of file definit.h.

#define BOUNDFLUXRECON   0

whether to bound flux if doing fluxrecon

Definition at line 707 of file definit.h.

#define BOUNDPLPR   0
#define BOUNDUNEW   0

whether to bound unew (GODMARK: no separate algorithm yet, so only works for non-outflow boundary conditions) – only needed if unewisavg==1

Definition at line 710 of file definit.h.

#define CALCFARADAYANDCURRENTS   0
#define CHECKONINVERSION   1

whether to check on inversion and report problem Also, use diag_fixup() to account for changes in U when inversion success (tracks changes due to Newton iteration error and machine error)

Definition at line 513 of file definit.h.

#define CHECKONINVERSIONRAD   0

Definition at line 514 of file definit.h.

#define CHECKSOLUTION   0

checks if solution is reasonble and fails a point if not only checks if b^2/>>BSQORHOMAX, etc.

can cause erratic issues near BH, so default is turned off KORALNOTEMARK: Not setup for radiation, but ok since not generally used.

Definition at line 571 of file definit.h.

#define COMPDIM   3

NUMBER OF DIMENSIONS FOR COMPUTATION Can choose 3 and still do 1D optimized problems Choosing 2 or even 1 reduces some memory load for those things that are accessed by using 1,2,3 instead of arbitrarily accessed not sure if 1 works.

Definition at line 68 of file definit.h.

#define COMPUTEDRHODP   1
#define COMPUTEFRDOT   0
#define CONNAXISYMM   1

whether connection coefficients are computed as being axisymmetric Speeds-up connection calculation when starting computations currently all setups are axisymmetric metrics, but don't assume list won't diverge.

Definition at line 665 of file definit.h.

#define CONNDELTA   (MY1EM5)
#define CONNDERTYPE   DIFFNUMREC

which derivative type to use when computing connection coefficients define CONNDERTYPE DIFFGAMMIE

Definition at line 655 of file definit.h.

#define CONNMACHINEBODY   1

whether to correct connection so body forces are 0 when p=constant only makes sense for non-higher order scheme does help near the pole to avoid failures

Definition at line 660 of file definit.h.

#define CONTACTINDICATOR   0
#define COORDSINGFIX   1

Definition at line 632 of file definit.h.

#define COORDSINGFIXCYL   0

Definition at line 630 of file definit.h.

#define CORNGDETVERSION   1

whether to specify gdet at end when setting EMF or to have internal to variables before averaging.

point is that gdet at end is probably better, esp. at coordinate singularities.

Definition at line 240 of file definit.h.

#define CURRENTST0   1
#define CYLAXIS   101
#define DEATHEXPANDAMOUNT   0
#define DEBUGINOUTLOOPS   0
#define DIAGSOURCECOMPSTEP   4

Definition at line 30 of file definit.h.

#define DISKSURFACE   111
#define DIVERGENCEMETHOD   1

Definition at line 61 of file definit.h.

#define DIVMETHODPOSTFLUX   1

Definition at line 59 of file definit.h.

#define DIVMETHODPREFLUX   0

which method to store divergence condition

Definition at line 58 of file definit.h.

#define DO_ASSERTS   0
#define DO_SPLITA2C   ENERGY_CONTROLS_ALL_WEIGHTS

Definition at line 133 of file definit.h.

#define DO_SPLITA2C4FLUX   DO_SPLITA2C

Definition at line 135 of file definit.h.

#define DO_SPLITA2C4MAFLUX   MASSENERGYMOMENTUM_IS_COUPLED_WEIGHTS

Definition at line 136 of file definit.h.

#define DO_SPLITA2C4SMOOTHFLUX   DO_SPLITA2C

Definition at line 137 of file definit.h.

#define DO_SPLITA2CSMOOTH   DO_SPLITA2C

Definition at line 134 of file definit.h.

#define DO_SPLITC2E   NOSPLITA2C

#define HIGHERORDERTYPE HIGHERORDERSMOOTH

for pointfield method doesn't keep divb=0 properly but original WHAM method for a2c

Definition at line 132 of file definit.h.

#define DO_SPLITSOURCE   NOSPLITA2C

Definition at line 138 of file definit.h.

#define DO_VORTICITY_IMAGE   0

Definition at line 275 of file definit.h.

#define DO_WENO_DEBUG   0

0: do not limit primtive correction due to c2a done on fluxes 1: limit c2a correction

Definition at line 405 of file definit.h.

#define DOAREAMAPDUMP   (1)

Definition at line 373 of file definit.h.

#define DOAVG   0

0: don't perform performance test 1: do

Definition at line 310 of file definit.h.

#define DOAVG2   0

0: don't do jet diagnostics (ener, not flener that is always done) 1: do

Definition at line 321 of file definit.h.

#define DOAVGDUMP   (DOAVG)

Definition at line 311 of file definit.h.

#define DOCOMPTON   0
#define DODEBUG   1

0: don't output debug dump file or ener file(ener is based on dump counts) 1: do

Definition at line 343 of file definit.h.

#define DODEBUGDUMP   1

0: don't output main dump files 1: do

Definition at line 339 of file definit.h.

#define DODISS   0

Definition at line 457 of file definit.h.

#define DODISSMEASURE   0

Definition at line 459 of file definit.h.

#define DODISSMEASUREDIAG   (DODISSMEASUREDUMP)

Definition at line 353 of file definit.h.

#define DODISSMEASUREDUMP   0

0: don't output file with diag_fixup() activated changes in conserved quantities 1: do

Definition at line 352 of file definit.h.

#define DODISSVSR   0

see diag_source()

Definition at line 467 of file definit.h.

#define DODQMEMORY   1

whether to have dq's : only used by second order methods

Definition at line 713 of file definit.h.

#define DODUMPOTHER   0
#define DOENODEBUG   0

Definition at line 376 of file definit.h.

#define DOENTROPY   DONOENTROPY

#define WHICHEOS MIGNONE define WHICHEOS GRBPWF99 define WHICHEOS KAZFULL

whether to activate entropy variable

Definition at line 559 of file definit.h.

#define DOEOSDIAG   (DOEOSDUMP)

Definition at line 358 of file definit.h.

#define DOEOSDUMP   1

0: don't do dissmeasure dump files 1: do

Definition at line 357 of file definit.h.

#define DOEVOLVEMETRIC   0

careful not to use DOMIXTHETAPHI in .h files since init.h might change it.

whether to evolve metric value of M and a and Q

Definition at line 433 of file definit.h.

#define DOEXTRAINTERP   0

whether to interpolate extra quantity (e.g. v^2) and use to renormalize velocities after they are interpolated

Definition at line 581 of file definit.h.

#define DOFIELDLINE   1

Definition at line 477 of file definit.h.

#define DOFLOORDIAG   (DOFLOORDUMP)

Definition at line 348 of file definit.h.

#define DOFLOORDUMP   1

0: don't output debug dump file or ener file(ener is based on dump counts) 1: do

Definition at line 347 of file definit.h.

#define DOGDUMP   1

0: don't split AVG file 1: do

Definition at line 326 of file definit.h.

#define DOGRIDSECTIONING   0

whether to do ENO debug

Definition at line 382 of file definit.h.

#define DOIMAGEDUMP   (1)

Definition at line 371 of file definit.h.

#define DOJETDIAG   1

0: don't do time average dumps, so don't allocate memory 1: do

GODMARK: only setup for full Pi theta grid, not Pi/2 or any other theta grid. e.g. will fail for defcoord=3 Pi/2 grid. Causes code to crash

Definition at line 317 of file definit.h.

#define DOLUMVSR   0

0: don't do calculation 1: do

see diag_source()

Definition at line 464 of file definit.h.

#define DOMAINDUMP   1

0: don't output restart dumps 1: do

Definition at line 334 of file definit.h.

#define DOMAINDUMPDIAG   (DOMAINDUMP)

Definition at line 335 of file definit.h.

#define DOMIXTHETAPHI   0

TODO:

  • coordinate transformations still valid?
  • SET RESET THETAROT for IC so IC uses normal metric? whether metric mixes r- or -. Alows for optimizations since not often mixing with

Definition at line 425 of file definit.h.

#define DOMONOINTERP   SMONOINTERP

#define DOMONOINTERP NOMONOINTERP define DOMONOINTERP JMONOINTERP

Definition at line 96 of file definit.h.

#define DOONESTEPDUACCOUNTING   1
#define DOPERF   0
#define DOPOLEDEATH   0
#define DOPOLEGAMMADEATH   0
#define DOPOLESMOOTH   0
#define DORADDIAG   (DORADDUMP)

Definition at line 363 of file definit.h.

#define DORADDUMP   1

0: don't do eosdump files 1: do

Definition at line 362 of file definit.h.

#define DORDUMP   1

0: don't output grid dump 1: do

Definition at line 330 of file definit.h.

#define DOSELFGRAVVSR   0

#define WHICHENTROPYEVOLVE EVOLVEFULLENTROPY

see metric.c

Definition at line 475 of file definit.h.

#define DOSTOREPOSITIONDATA   1

whether to use volume regularization or not

Definition at line 647 of file definit.h.

#define DOSUPERDEBUG   0

whether to debug WENO

Definition at line 408 of file definit.h.

#define DOVPOTDUMP   (1 && TRACKVPOT)

0: don't do raddump files 1: do

whether to dump vector potential

Definition at line 369 of file definit.h.

#define DOYFL   0

must also set RESCALEINTERP=1

whether to evolve Y_fl (see fixup.c)

Definition at line 585 of file definit.h.

#define DOYL   0

whether to evolve Y_l (see kazeosfull.c)

Definition at line 587 of file definit.h.

#define DOYNU   DOYL

whether to evolve Y_ (see kazeosfull.c)

Definition at line 589 of file definit.h.

#define EMAILADDRESS   "jmckinne@stanford.edu"

Definition at line 297 of file definit.h.

#define EMAILMESSAGE   "Done with GRMHD run DEFAULT"

Definition at line 298 of file definit.h.

#define EMFLUXFIELDTERMTYPE   ENOFLUX

Definition at line 140 of file definit.h.

#define EMFTERMS (   pl)    (pl>=B1 && pl<=B3)

Definition at line 203 of file definit.h.

#define ENFORCEMHDCONS2RADCONS   0
#define ENSURECONS   0
#define ENTROPY2COLD   1

whether to try cold inversion if entropy fails

Definition at line 45 of file definit.h.

#define ENTROPY2FFDE   1

whether to try FFDE inversion if entropy fails (only used if FFDE makes sense)

Definition at line 49 of file definit.h.

#define ENTROPY2HOT   1

whether to try HOT inversion if entropy fails

Definition at line 47 of file definit.h.

#define EOMRADTYPE   EOMRADNONE

#define EOMTYPE EOMCOLDGRMHD

Definition at line 536 of file definit.h.

#define EOMTYPE   EOMGRMHD

Definition at line 533 of file definit.h.

#define EVOLVECHECKS   0
#define EVOLVEMETRICSUBSTEP   0

0 = evolve only infrequently after many steps 1 = evolve on every substep in full RK form 2 = use accdt and ndt1/2/3 to determine whether one should evolve metric on substeps or longsteps

Definition at line 438 of file definit.h.

#define EVOLVENRAD   0

Definition at line 537 of file definit.h.

#define EVOLVEWITHVPOT   TRACKVPOT

whether to redefine fields from A_i during evolution currently only done after each full timestep to avoid being expensive only machine error different from evolution of field itself

Definition at line 233 of file definit.h.

#define FARADAYT0   1
#define FIELDFVTYPE   ENOCONSERVED

Definition at line 142 of file definit.h.

#define FIELDLINEGDETB   0
#define FIELDSTAGMEM   1

#define OTHERADVECTMINIMIZE(pl) ( YFLPL(pl) && DOYFL!=DONOYFL || pl==YL && DOYL!=DONOYL || pl==YNU && DOYNU!=DONOYNU || pl==ENTROPY && DOENTROPY!=DONOENTROPY)

whether to use staggered fields (which requires memory for it)

Definition at line 214 of file definit.h.

#define FIELDTERMTYPE   ENOFLUX

Definition at line 141 of file definit.h.

#define FIELDTOTHMEM   1

whether to define Toth memory stuff define FIELDTOTHMEM (!FIELDSTAGMEM) // CHANGINGMARK

Definition at line 224 of file definit.h.

#define FIXED   3
#define FIXED_RESCALEOUTFLOWU1   108
#define FIXEDOUTFLOW   5
#define FIXEDUSEPANALYTIC   200
#define FIXGDETSPC_WHEN_1DRADIAL   1

whether to make gdet finite volume-like when reverting to 1D spherical polar coordinates

Definition at line 677 of file definit.h.

#define FIXUPAFTERINIT   1

whether to call fixup() after initialization

Definition at line 562 of file definit.h.

#define FIXUPAFTERRESTART   1

whether to call fixup() after restart

Definition at line 565 of file definit.h.

#define FIXUPFLUX   0
#define FIXUPZONES   FIXUP1ZONE
#define FLIPB1AXIS   0
#define FLIPB2AXIS   0
#define FLIPB3AXIS   0
#define FLIPGDETAXIS   1
#define FLIPU1AXIS   0
#define FLIPU2AXIS   0
#define FLIPU3AXIS   0
#define FLOORDIAGS   1

Definition at line 688 of file definit.h.

#define FLUXADJUST   FLUXFIXED

determine how flux is computed per zone

Definition at line 600 of file definit.h.

#define FLUXDIAGPARTS   0

Definition at line 21 of file definit.h.

#define FLUXDIMENSPLIT   PERFECTUNSPLIT

Definition at line 703 of file definit.h.

#define FLUXDUMP   0
#define FORCEGDETPOSITIVE   0

whether to force gdet to be positive everywhere.

Definition at line 680 of file definit.h.

#define FORCESOLVEL   0

whether to force dt to use velocity based upon speed of light Doesn't change how fluxes are computed!

Definition at line 506 of file definit.h.

#define FORCESOLVELFLUX   0

below changes how fluxes are computed

Definition at line 508 of file definit.h.

#define FREEOUTFLOW   112
#define FULLOUTPUT   0

0: full images, dumps, etc., few more key failure stderr/fail_file messages 1: only log density image since too many images (takes alot of time), no utoprim failure messages – assume debug.out and debug???? will have info if needed 2: #1 but also avoid error_check() and avoid per-MPI-proc log and fail files (good for running on >1000 cores) 3: #2 but also avoid dumps not needed except by python (remove all SM-related dumps)

0: normal computational zones outputted on diagnostics else, FULLOUTPUT # of extra boundary zones on each side (if allowed by dimensionality) If # of requested boundary zones is larger than real #, then real # used ONLY CAN BE USED WITH USEMPI==0

Definition at line 290 of file definit.h.

#define GAMMAPERCDIFFMAX   2.0

factor by which zone-zone values can be different for and internal energy, used of CHECKSOLUTION==1

Definition at line 576 of file definit.h.

#define GAMMAPOLEINGOING   GAMMAMAX
#define GAMMAPOLEINGOINGOUT   1.3
#define GAMMAPOLEOUTGOING   1.1
#define GAMMAPOLEOUTGOINGMAX   (5.0)
#define GAMMAPOLEOUTGOINGPOWER   0.1
#define GAMMAPOLEOUTGOINGRADIUS   6.0
#define GAMMAPOLEOUTGOINGRADIUSIN   4.0
#define GAMMARADPOLEINGOING   GAMMAMAXRAD
#define GAMMARADPOLEINGOINGOUT   1.7
#define GAMMARADPOLEOUTGOING   1.3
#define GAMMARADPOLEOUTGOINGMAX   (3.0)
#define GAMMARADPOLEOUTGOINGPOWER   0.5
#define GAMMARADPOLEOUTGOINGRADIUS   6.0
#define GAMMARADPOLEOUTGOINGRADIUSIN   4.0
#define GDETVOLDIFF   0

#define WHICHEOM WITHNOGDET

whether to include memory and fill with gdetvol_func()

Definition at line 674 of file definit.h.

#define GETGEOMUSEPOINTER   0

whether to have get_geometry() point to global gcov,gcon,gcovpert – faster and no limitations apparently faster now to choose 0 define GETGEOMUSEPOINTER 1 not used when NEWMETRICSTORAGE==1

Definition at line 74 of file definit.h.

#define HIGHERORDERMEM   1

whether need higher order memory stuff

Definition at line 86 of file definit.h.

#define HIGHERORDERROUGH   0

Definition at line 112 of file definit.h.

#define HIGHERORDERSMOOTH   1

Definition at line 113 of file definit.h.

#define HIGHERORDERTYPE   HIGHERORDERROUGH

CHOOSE SMOOTHNESS EXPECTED OF SOLUTION for HIGHERORDER TERMS:

Definition at line 121 of file definit.h.

#define HIGHERORDERVERYSMOOTH   2

Definition at line 114 of file definit.h.

#define HLLBOUNDARY   0
#define HORIZONEXTRAP   3
#define HORIZONOUTFLOW   10
#define HORIZONSUPERFAST   0
#define HOT2COLD   1

whether to try cold inversion if hot fails (only used if cold makes sense)

Definition at line 40 of file definit.h.

#define HOT2ENTROPY   1

whether to try entropy inversion if hot fails

Definition at line 38 of file definit.h.

#define HOT2FFDE   1

whether to try FFDE inversion if hot fails (only used if FFDE makes sense)

Definition at line 42 of file definit.h.

#define HYDROFLUXADJUSTONLY   1

#define FLUXADJUST FLUXBSQORHOANDU

whether to change flux calculation for all variables or just hydro variables

Definition at line 604 of file definit.h.

#define HYDROLIMADJUSTONLY   1

#define LIMADJUST LIMITERBSQORHOANDU

whether to limit all variables or just hydro variables

Definition at line 597 of file definit.h.

#define HYPERHLL   0
#define IFLIMITPOLEDEATH   0
#define IFLIMITPOLEDEATHIOUT   (-100)
#define JETINJECTION   103
#define JONCHECKS   1

Definition at line 684 of file definit.h.

#define JONCHECKS2   1

Definition at line 685 of file definit.h.

#define LIMADJUST   LIMITERFIXED

whether to control the limiter

Definition at line 593 of file definit.h.

#define LIMIT_FLUXC2A_PRIM_CHANGE   0

0: do not perform additional reduction 1: perform additional reduction: for NDIM > 1, subsequent 1d a2c reconstructions reduce to lower order (=no reconstruction) if any of the previous reconstructions reduced

Definition at line 401 of file definit.h.

#define LIMITDTWITHSOURCETERM   0

whether to limit timestep using source term at t=0 and full flux term for future times

Definition at line 441 of file definit.h.

#define LIMITEDPOLEDEATHINRADIUS   1
#define LIMITSOURCES   0

whether to limit source update by some constraint (gives dUriemann to source())

Definition at line 444 of file definit.h.

#define MAILFROMREMOTE   0

Definition at line 294 of file definit.h.

#define MAILWHENDONE   1

Definition at line 293 of file definit.h.

#define MAXBND   5

#if(DOENOFLUX==ENOFINITEVOLUME)

Definition at line 253 of file definit.h.

#define MAXPOLEDEATH   (MIN(DOPOLEDEATH+1,N2BND))
#define MAXWELL   PRIMMAXWELL

defines how one forms the EM stress-energy tensor GENMAXWELL is perfectly fine for relativistic problems that are not near machine error for highly relativistic flows that usually is only for tests define MAXWELL GENMAXWELL prim version avoids catastrophic cancellation in non-rel limit OPTMARK: MAXWELL GENMAXWELL faster if don't care about cancellation issues (i.e.

not in ultra rel or non-rel regimes)

Definition at line 268 of file definit.h.

#define MCOORD   KSCOORDS

#else define MAXBND 3 endif

choose metric

Definition at line 260 of file definit.h.

#define MERGEDC2EA2CMETHOD   (MERGEDC2EA2CMETHODMA || MERGEDC2EA2CMETHODEM)

Definition at line 109 of file definit.h.

#define MERGEDC2EA2CMETHODEM   0

Definition at line 108 of file definit.h.

#define MERGEDC2EA2CMETHODMA   0

whether to do a2c during c2e see interpline.c

Definition at line 107 of file definit.h.

#define MINDT   1.e-20

Definition at line 682 of file definit.h.

#define MINPREFORDER   3
#define MODIFYEMFORVPOT   MODIFYVPOT

more often makes sense to modify A_i and not EMF_i, since want A_i to be smooth so Bstag^i is computed properly (and Bcent^i based upon Bstag^i)

Definition at line 236 of file definit.h.

#define N1   64

#define CORNGDETVERSION 0

size of global arrays ALSO CONTROLS WHETHER MEMORY IS ALLOCATED FOR SPECIAL 1D/2D/3D directional arrays e.g. if N3==1, then second dimension is neglected in all calculations

Definition at line 248 of file definit.h.

#define N2   64

Definition at line 249 of file definit.h.

#define N3   1

Definition at line 250 of file definit.h.

#define NEWMETRICSTORAGE   1

whether to use new metric storage method that directly creates geom-> structure that is directly used rather than doing indirect memory copies and calculations

Definition at line 14 of file definit.h.

#define NOFLUXCTONX1DN   0
#define NSSURFACE   6
#define NUMITERVPHI   5
#define NUMPANALYTICOTHER   0
#define NUMPOTHER   0
#define OLDNONCONT   0
#define ORDERSTORAGE   5

Set array storage order as defined in global.storage.h 0 corresponds to original HARM 5 optimal for extended radial grid, less so in , and even less so in .

Definition at line 11 of file definit.h.

#define ORTHOVEL1TERMSMINIMIZE (   pl)    (pl==UU+odir1)

Definition at line 200 of file definit.h.

#define ORTHOVEL2TERMSMINIMIZE (   pl)    (pl==UU+odir2)

Definition at line 201 of file definit.h.

#define OUTERDEATH   0
#define OUTERDEATHGAMMAMAX   (6.0)
#define OUTERDEATHGAMMAMAXRAD   (GAMMAMAXRAD)
#define OUTERDEATHRADIUS   (1E3)
#define OUTEREXTRAP   3
#define OUTERRADIALSUPERFAST   0
#define OUTFLOW   0
#define OUTFLOWAVOIDBC   0

very slow with gcc, some extend pgcc, not a bit problem with icc only applies to certain metric's and coordaintes, see phys.c

whether to (with ENO method) avoid boundary zones if doing outflow on that boundary

Definition at line 701 of file definit.h.

#define OUTFLOWNOINFLOW   8
#define PARALINEUSESMONO   0
#define PERCELLDT   1

whether to compute per cell $dt$ by storing $dt$ per dimension and then computing minimum per cell rather than minimum per dimension. Can give up to a factor of 3X improvement in speed (just changes effective Courant factor).

Definition at line 492 of file definit.h.

#define PERFTEST   0

Definition at line 306 of file definit.h.

#define PERIODIC   7
#define PLINEWITHFIELD   1
#define POLARAXIS   4
#define POLEDEATH   (MIN(DOPOLEDEATH,N2BND))
#define POLEDENSITYDROPFACTOR   5.0
#define POLEGAMMADEATH   (MIN(DOPOLEGAMMADEATH,N2BND))
#define POLEGAMMAJUMPFACTOR   2.0
#define POLEINTERPTYPE   3
#define POLESMOOTH   (MIN(DOPOLESMOOTH,N2BND))
#define PRECISEINVERSION   1

Definition at line 516 of file definit.h.

#define PRESSUREMINIMIZE (   pl)    (pl==FLUXSPLITPMA(dir))

Definition at line 202 of file definit.h.

#define PRODUCTION   0

Definition at line 278 of file definit.h.

#define R0SING   113
#define RADIUSLIMITPOLEDEATHIN   (3.0)
#define RADIUSMOREDEATH   (300.0)
#define RADIUSTOAVOIDRADIALSUCK   (2.0*Rhor)
#define RADIUSTOSTARTAVERAGING   7
#define RAMESHOUTFLOW   9
#define RELTYPE   RELEOM

Definition at line 531 of file definit.h.

#define REMOTEHOST   "ki-rh42.slac.stanford.edu"

Definition at line 295 of file definit.h.

#define REMOTEUSER   "jon"

Definition at line 296 of file definit.h.

#define REMOVERESTMASSFROMUU   1

which velocity to compute in (init can be anything (see init.c's for transformations)

whether to subtract rest-mass from energy equation for divT=0 equation of motion 0: use MHD stress tensor with explicit rest-mass included 1: as 0, but subtract out rest-mass from conservation and flux terms for evolution 2: use MHD stress tensor withOUT rest-mass this changes mhd_calc() in phys.c and assumes rest of code uses mhd stress-energy tensor without restmass also!! DIAGNOSTICS also without rest-mass for UU terms.

Definition at line 529 of file definit.h.

#define RESCALEFIXEDALLOUTFLOWU1   107
#define RESCALEINTERP   0
#define RESCALEINTERPFLUXCTSTAG   0
#define RESCALEOUTFLOW   106
#define RESTRICTDTSETTINGINSIDEHORIZON   1

0: no restriction beyond normal ghost+active bounds 1: don't limit via accdt or gravitydt inside horizon 2: in addition to #1, don't limit due to velocity inside horizon (can't be used if boundary condition drives solution and would limit dt more than active region)

Definition at line 454 of file definit.h.

#define ROEAVERAGEDWAVESPEED   0

0: don't output energy and field line stuff 1: do

whether to use Roe-averaged state in determining diffusive term in flux

Definition at line 482 of file definit.h.

#define SHOCKINDICATOR   1
#define SINGSMALL   (1000*NUMEPSILON)

whether to move polar axis to a bit larger theta theta value where singularity is displaced to

SINGSMALL can't be smaller than DXDELTA in dxdxp (i.e. currently ~1E-5 for DOUBLE) define SINGSMALL (1E-3) define SINGSMALL (1E-20)

Definition at line 640 of file definit.h.

#define SMOOTHSING   1

whether to smooth singularity of black hole over grid scale

Definition at line 628 of file definit.h.

#define SPLITMAEMMEM   (0)

whether to split off MA and EM parts of flux for higher order for now always do if doing higher order GODMARK: If SPLITMAEM==0 and pointfield method, then only EMF terms have fixed stencil define SPLITMAEMMEM (HIGHERORDERMEM)

Definition at line 92 of file definit.h.

#define SPLITNPR   0

whether to split NPR PLOOPs

Definition at line 77 of file definit.h.

#define SPLITPRESSURETERMINFLUXEM   0

below not setup yet:

Definition at line 102 of file definit.h.

#define SPLITPRESSURETERMINFLUXMA   0

whether to split isotropic pressure off of flux for separate interpolation this splitting only used ultimately if splitmaem==1 (even if computed separately)

Definition at line 100 of file definit.h.

#define STEPOVERNEGRHO   NEGDENSITY_FIXONFULLSTEP

seems to make things worse (more failures, but also worse failures)

Definition at line 611 of file definit.h.

#define STEPOVERNEGU   NEGDENSITY_FIXONFULLSTEP

whether to allow negative internal energy in substep UTOPRIMFAILRETURNTYPE==UTOPRIMRETURNADJUSTED should be set in global.h

Definition at line 608 of file definit.h.

#define STEPOVERNEGURHO   NEGDENSITY_FIXONFULLSTEP

Definition at line 613 of file definit.h.

#define STOREFLUXSTATE   1

whether to store get_state() data into array for later use since expensive to compute get_geometry() and ucon_calc() type things

Definition at line 217 of file definit.h.

#define STORESHOCKINDICATOR   1

whether to compute and store Shock (and other indicators) just once rather than for every call to slope_lim(). Since there can be many (e.g. 33 in 3D for staggered field method) that would be overly expensive for a simple diffusive check or correction that it itself is not higher-order!

Definition at line 220 of file definit.h.

#define STORETLAB2ORTHO   0

whether to store X,V,dxdxp in case are expensive to compute

whether to store tetrads (uses tons of memory, and so far not needed – shouldn't be needed in general if do things covariantly)

Definition at line 651 of file definit.h.

#define STOREWAVESPEEDS   0

whether to store wave speeds over whole grid before computing flux useful to avoid extra calculations if doing "local" LAXF or "global" LAXF.

default HARM was using VERY local LAXF (only wavespeeds from primitives interpolated to the edge).

Definition at line 489 of file definit.h.

#define SUPERFASTDIVREDUCE   0
#define SUPERLONGDOUBLE   0

whether doing super long doubles

Definition at line 303 of file definit.h.

#define SYMM   1
#define TRACKVPOT   0

whether to track and dump A_i the vector potential

Definition at line 228 of file definit.h.

#define TRUEFAST   0

TRUEFAST=0 : use overall larger phase velocity TRUEFAST=1 : use true phase velocity (has problems with catastrophic cancellation)

Definition at line 502 of file definit.h.

#define UD0PLUS1FIX   1

whether to avoid catastrophic cancellations for non-rel and ultra-rel speed and gravity regimes with u_t+1

Definition at line 272 of file definit.h.

#define UPERCDIFFMAX   10.0

Definition at line 577 of file definit.h.

#define USEAVGPRIMITIVEFORWENOFLAT   1
#define USEGRAVITYDTINDTLIMIT   0

whether to use gravitydt to limit dt

Definition at line 448 of file definit.h.

#define USEPRIMITIVEFROMAVGCONSERVED   0
#define USERERSETREGION   0
#define USESTOREDSPEEDSFORFLUX   (STOREWAVESPEEDS)

whether to use stored wave speeds for flux calculation (allows one to store wave speeds for interp.c but use true VERYLOCALVCHAR that is vchar's estimated from boundary as in standard HARM – rather than maximum from center zones as done by STORED version of VERYLOCALVCHAR) silly choice would be 0 if VCHARTYPE=GLOBALVCHAR since interp.c doesn't use the stored wave speeds if this is the case.

So shouldn't store in this case since no point.

Definition at line 496 of file definit.h.

#define UTOPRIMADJUST   UTOPRIMAVG

#define UTOPRIMADJUST UTOPRIMSTATIC

Definition at line 619 of file definit.h.

#define UTOPRIMFAILRETURNTYPE   UTOPRIMRETURNADJUSTED

0: return non-updated quantities 1: if u<0 or rho<0, then return updated quantities, else return non-updated quantities

Definition at line 625 of file definit.h.

#define UTOPRIMTRYAGAIN   0

#define WHICHRADSOURCEMETHOD SOURCEMETHODIMPLICITEXPLICITCHECK

whether to try other methods for the inversion if primary choices fails created because utoprim_2d_final fails for large b^2/rho when other methods (even utoprim_2d) do not fail. seems that in some cases causes code to stall while 1D method takes forever on many iterations

Definition at line 547 of file definit.h.

#define VARTOINTERP   PRIMTOINTERP
#define VARTOINTERPFIELD   GDETVERSION
#define VCHARTYPE   VERYLOCALVCHAR

Definition at line 498 of file definit.h.

#define VELTERMSMINIMIZE (   pl)    (pl==RHO || pl==UU || pl==UU+dir)

for MASSENERGYMOMENTUM_IS_COUPLED_WEIGHTS used in reconstruct.c and interpline.mono.c

Definition at line 199 of file definit.h.

#define VLINEWITHGDETRHO   1
#define VOLUMEDIFF   0

Hawley uses 0.06283 (0.02Pi)

Definition at line 644 of file definit.h.

#define WENO_EXTRA_A2C_MINIMIZATION   0

0: do not perform the c2a limiting on the fluxes 1: perform the limiting of c2a flux reconstruction based on the limiting of the a2c primitive correction: if the a2c reconstruction of the conserved quantities leads to very different primitives, then no a2c reconstruction is done; in this case no reconstruction is done on the fluxes either.

Definition at line 394 of file definit.h.

#define WENO_REDUCE_A2C_LOOK_OTHER_DIRECTIONS   1

Definition at line 396 of file definit.h.

#define WENO_USE_PRIM_REDUCTION   1

0: don't do grid sectioning 1: do (only part of the grid in the active section is evolved)

Definition at line 388 of file definit.h.

#define WENOMEMORY   0

whether want to use weno memory (required for c2e or a2c or c2a for weno/eno)

Definition at line 83 of file definit.h.

#define WHICHCURRENTCALC   CURRENTCALC1
#define WHICHENTROPYEVOLVE   EVOLVESIMPLEENTROPY

below only applies to dissipation inversion

Definition at line 470 of file definit.h.

#define WHICHEOM   WITHGDET

if WHICHEOM==WITHNOGDET, then below determines which EOMs get what geometric prefactor. Notice (as described in phys.c's source_conn() ) that geometry issue applies AFTER additions/subtractions of EOMs (as done by REMOVERESTMASSFROMUU).

Definition at line 669 of file definit.h.

#define WHICHEOS   IDEALGAS

which EOS (EoS) (equation of state) to use

Definition at line 551 of file definit.h.

#define WHICHPARA   PARA4
#define WHICHRADSOURCEMETHOD   SOURCEMETHODNONE

Definition at line 539 of file definit.h.

#define WHICHVEL   VELREL4

whether we use ultimately precise inversion or "workable" inversion precision (see utoprim's for how defined)

Definition at line 519 of file definit.h.

#define ZEROOUTFLOWFLUX   0
#define ZEROPOLEFLUX   0