Go to the documentation of this file.
38 #define GCOVI(i,j) (((i)>=(j))*((i)-(j)) + (j))
39 #define GCOVJ(i,j) (((i)>=(j))*((j)-(i)) + (i))
40 #define GIND(i,j) GCOVJ(i,j)*4 + GCOVI(i,j) - MAX(GCOVJ(i,j),0) - MAX(GCOVJ(i,j)-1,0) - MAX(GCOVJ(i,j)-2,0)
42 #define GINDASSIGNFACTOR(i,j) (1.0*((i)>=(j)))
51 #define USEGSL (USINGGSL)
73 #define PERFECTUNSPLIT 2
77 #define NUMENERREGIONS 8
79 #define NULLENERREGIONS -2 // indicates avoid processes that operate on this region
80 #define ALLENERREGIONS -1 // to indicate not just one region
81 #define GLOBALENERREGION 0 // standard computational grid
83 #define OUTSIDEHORIZONENERREGION 1 // "outside" horizon: i>ihorizon
86 #define TRUEGLOBALENERREGION 2 // max(0,ihorizon-nbnd)
87 #define TRUEGLOBALWITHBNDENERREGION 3 // outside horizon with boundary cells: max(-nbnd,ihorizon-2*nbnd)
89 #define ACTIVEREGION 4 // only active computational cells
90 #define ACTIVEWITHBNDREGION 5 // ACTIVEREGION+required boundary cells
92 #define INNERJETREGION 6 // lower-\theta jet region
93 #define OUTERJETREGION 7 // upper-\theta jet region
97 #define VERYLOCALVCHAR 0
103 #define MINDTSET(dt1,dt2,dt3) (1.0/(1.0/(dt1) + 1.0/(dt2) + 1.0/(dt3)))
115 #define NUMOTHERSTATERESULTS 2
120 #define ERRORCODEBELOWCLEANFINISH 1000
123 #define MAXFILENAME 200
125 #define MAXFILENAMELONG 2000
128 #define FILENOTFOUND 2490834
147 #define NOGDETU1 1 // U1 and U2 are only reasonable choices in SPC
153 #define NOGDETURAD0 0
154 #define NOGDETURAD1 1 // URAD1 and URAD2 are only reasonable choices in SPC
155 #define NOGDETURAD2 1
156 #define NOGDETURAD3 0
157 #define NOGDETENTROPY 0
171 #define PRIMMAXWELL 1
176 #define NONRELEOM 1 // NOT FINISHED // NOT RIGHT // NOT NEEDED
189 #define EOMDIDFFDE -6
190 #define EOMDIDFFDE2 -5
191 #define EOMDIDCOLDGRMHD -4
192 #define EOMDIDENTROPYGRMHD -3
193 #define EOMDIDGRMHD -2
194 #define EOMDONOTHING(eomtype) (eomtype<=EOMDIDGRMHD)
195 #define EOMDEFAULT -1 // choose to do default behavior without any forced EOM
196 #define NUMEOMTYPES 5
199 #define EOMCOLDGRMHD 2
200 #define EOMENTROPYGRMHD 3
204 #define MODEDEFAULT -1
206 #define MODEENTROPY 1
208 #define MODEPICKREVERT 3
209 #define MODEPICKBEST 4
210 #define MODEPICKBESTSIMPLE 5
211 #define MODEPICKBESTSIMPLE2 6
212 #define MODEENERGYRAMESH 7
215 #define CAPTYPEBASIC 0
216 #define CAPTYPEFIX1 1
217 #define CAPTYPEFIX2 2
220 #define ENTROPYFIXGUESS 1
225 #define ORIGINALFLUXCALC 0
226 #define NEWFLUXCALC 1
236 #define COOLGAMMIETHINDISK 1
237 #define COOLEOSGENERAL 2
238 #define COOLREBECCATHINDISK 3
239 #define COOLUSER 10 // user-defined cooling function
248 #define NUMEOSS 5 // number of EOS types
260 #define DONOENTROPY 0
261 #define DOEVOLVEENTROPY 1 // generic activation of entropy variable in conservation laws, etc.
264 #define DOEVOLVEYFL 1
270 #define DOEVOLVEYNU 1
274 #define EVOLVENOENTROPY 0
275 #define EVOLVESIMPLEENTROPY 1 // should be used with DOENTROPY==DOEVOLVECOMPAREENTOPY
276 #define EVOLVEFULLENTROPY 2 // should only be used with DOENTROPY==DOEVOLVEDIRECTENTROPY or DOENTROPY==DOEVOLVECOMPAREENTOPY
281 #define EVOLVEUTOPRIM 0
282 #define OTHERUTOPRIM 1
289 #define UENTROPY 3 // implicit UNOTHING but cons UU is overwritten by cons entropy (see primtoflux() in phys.c as used by utoprim() in utoprim.c)
299 #define LIMITERFIXED 0
300 #define LIMITERBSQORHO 1
301 #define LIMITERBSQOU 2
302 #define LIMITERBSQORHOANDU 3
305 #define FLUXFIXED 0 // (see get_bsqflags() in fixup.c)
306 #define FLUXBSQORHO 1
308 #define FLUXBSQORHOANDU 3
312 #define UTOPRIMRETURNNOTADJUSTED 0
313 #define UTOPRIMRETURNADJUSTED 1
320 #define UTOPRIMSTATIC 0
327 #define QUADRATICTYPE 2 // includes limiters to ovoid overshoots and new extremums within 3 point domain
340 #define NUMENOINTERPTYPES 12
342 #define NONENOINTERPTYPE 0
343 #define ENOINTERPTYPE 1 // ce2
344 #define ENOINTERPTYPE4EMF 2 // f2corn
345 #define ENOFLUXRECONTYPE 3
346 #define ENOFLUXRECONTYPEGHOSTACTIVE 4 // used at t=0 where *construct* Uavg in ghost+active region and for dofluxreconevolvepointfield==0 for EMFs
347 #define ENOFLUXSPLITTYPE 5
348 #define ENOAVG2CENTTYPE 6
349 #define ENOCENT2AVGTYPE 7
350 #define ENOFLUXAVG1TYPE 8
351 #define ENOFLUXAVG2TYPE 9
352 #define ENOFLUXAVG3TYPE 10
353 #define ENOQUASIFIELDFLUXRECONTYPE 11
357 #define ENOSOURCETERM 0
358 #define ENOCONSERVED 1
359 #define ENOPRIMITIVE 2
362 #define ENOSMOOTHFLUX 5
363 #define ENOSMOOTHCONSERVED 6
372 #define ENOFLUXRECON 1
373 #define ENOFLUXSPLIT 2
374 #define ENOFINITEVOLUME 3
385 #define DF2OFONESIDED 4
386 #define DFCENT2APART 5
388 #define NUMMONOINDICATORS 3
390 #define MONOINDTYPE 0 // -1,0,1 for rough, ambiguous, monotonic
391 #define MONOLEFTSET 1 // whether left interface (or central for a2c/c2a) was set to MONO value
392 #define MONORIGHTSET 2 // whether right interface was set to MONO value
400 #define WEIGHT_CALC 1
402 #define ALL_CALC (WEIGHT_CALC | RECON_CALC) //compute everything
417 #define CVT_C2E CVT_C2L //use the same number as CVT_C2L because does not add a new reconstruction type
422 #define MINIMIZE_ALL_WEIGHTS 1
423 #define ENERGY_CONTROLS_ALL_WEIGHTS 2 // as below
424 #define ENERGY_IS_ALL_WEIGHTS 3 // means T^i_i for flux and T^t_t for energy
425 #define MASSENERGYMOMENTUM_IS_COUPLED_WEIGHTS 4 // means lock \rho u^i , T^i_i and T^i_t all together to help with relativistic flows to maintain consistency
426 #define MASSENERGYMOMENTUM_IS_COUPLED_WEIGHTS_OLD 5 // means lock \rho u^i , T^i_i and T^i_t all together to help with relativistic flows to maintain consistency
427 #define GENFUN_IS_ALL_WEIGHTS 5
428 #define CONSTANT_ALL_WEIGHTS 6 // forces MONO and equal weights for all
435 #define NOMONOINTERP 0
436 #define JMONOINTERP 1
437 #define SMONOINTERP 2
447 #define DISSSIMPLEINVCO 0
448 #define DISSFULLINVCO 1
449 #define DISSENTROPYCO 2
450 #define DISSSIMPLEINVCONOMAX 3
451 #define DISSFULLINVCONOMAX 4
452 #define DISSENTROPYCONOMAX 5
453 #define DISSSIMPLEINVLAB1 6
454 #define DISSFULLINVLAB1 7
455 #define DISSENTROPYLAB1 8
456 #define DISSSIMPLEINVLAB1NOMAX 9
457 #define DISSFULLINVLAB1NOMAX 10
458 #define DISSENTROPYLAB1NOMAX 11
459 #define DISSSIMPLEINVLAB2 12
460 #define DISSFULLINVLAB2 13
461 #define DISSENTROPYLAB2 14
462 #define DISSSIMPLEINVLAB2NOMAX 15
463 #define DISSFULLINVLAB2NOMAX 16
464 #define DISSENTROPYLAB2NOMAX 17
466 #define DISSFAILUREINV 18
469 #define NUMDISSVERSIONS 18 // for consistent restart output, this number can't change
470 #define NUMDISSFUNPOS (NUMDISSVERSIONS+1) // includes failure indicator
475 #define LEFT4EMF 0 // left or -
476 #define RIGHT4EMF 1 // right or +
477 #define CENT4EMF 2 // centered position
478 #define START4EMF LEFT4EMF // which is 0
479 #define END4EMF CENT4EMF // which is last value
483 #define NUMFLUXLOOPNUMBERS 10
496 #define CHECKONINVERSIONDEFAULT (-1)
500 #define NUMINVPROPERTY 13
506 #define CURRENTCALC0 0
507 #define CURRENTCALC1 1
508 #define CURRENTCALC2 2
512 #define CURRENTPRECALCTYPES 5
518 #define CURTYPEFARADAY 4
523 #define FIXUPALLZONES 1
524 #define FIXUPNOZONES 2
534 #define MUSTAFLUX 3 // not yet working
535 #define HLLLAXF1FLUX 4
564 #define UTOPRIM1DOPT 4
566 #define UTOPRIM1DFINAL 5
568 #define UTOPRIM2DFINAL 6
572 #define UTOPRIMJONNONRELCOMPAT 8
574 #define UTOPRIMCOLDGRMHD 20
576 #define UTOPRIMFFDE 21
578 #define UTOPRIMCOMPARE 100
584 #define NLIM -1 // no limiter
585 #define NLIMCENT -2 // no limiter
586 #define NLIMUP -3 // no limiter
587 #define NLIMDOWN -4 // no limiter
588 #define NUMNEGINTERPS 4
601 #define MCSTEEP 6 // uses 3-point limiter, but other features of PARAFLAT
602 #define CSSLOPE 7 // not tested/compared against others
618 #define WENO5BNDPLUSMIN 31
622 #define FIRSTWENO WENO3
623 #define LASTWENO WENO5BNDPLUSMIN
625 #define FIRSTINTERPLINE WENO3
626 #define LASTINTERPLINE PARALINE
628 #define NUMPOSINTERPS LASTINTERPLINE // not number, just last, ok if some entries are not any limiter
630 #define NUMINTERPS (1 + NUMPOSINTERPS + NUMNEGINTERPS)
634 #define WENOINTERPTYPE(lim) (lim>=FIRSTWENO && lim<=LASTWENO)
637 #define WENOBNDPINTERPTYPE(lim) (lim==WENO5BND || lim==WENO5BNDPLUSMIN)
640 #define LINEINTERPTYPE(lim) (lim>=FIRSTINTERPLINE && lim<=LASTINTERPLINE)
645 #define MAXSPACEORDER 15 // maximum number of points in stencil
654 #define DIAGSTARTTIME 5
655 #define DIAGSTOPTIME 6
656 #define INITSTARTTIME 7
657 #define INITSTOPTIME 8
660 #define MAXTIMEORDER 5 // 5 now needed for EOMRADTYPE!=EOMRADNONE, but only affects memory in that case.
662 #define NUMPREDTCUFS (4) // see step_ch.c
664 #define NUMDTCUFS (NUMPREDTCUFS+MAXTIMEORDER) // see step_ch.c
675 #define SOURCEMETHODNONE 0
676 #define SOURCEMETHODEXPLICIT 1
677 #define SOURCEMETHODEXPLICITSUBCYCLE 2
678 #define SOURCEMETHODIMPLICIT 3
679 #define SOURCEMETHODIMPLICITEXPLICITCHECK 4
680 #define SOURCEMETHODEXPLICITREVERSIONFROMIMPLICIT 5
681 #define SOURCEMETHODEXPLICITSUBCYCLEREVERSIONFROMIMPLICIT 6
682 #define SOURCEMETHODEXPLICITCHECKSFROMIMPLICIT 7
683 #define SOURCEMETHODEXPLICITSUBCYCLECHECKSFROMIMPLICIT 8
687 #define METRICTETRAD 0
688 #define NONMETRICTETRIC 1
696 #define PRIMTOINTERP -1
697 #define PRIMTOINTERP_JONRESCALED1 0
698 #define CONSTOINTERP 1
699 #define PRIMTOINTERPLGDEN 2
700 #define PRIMTOINTERP_LGDEN_RHOU 3
701 #define PRIMTOINTERP_RHOU 4
702 #define PRIMTOINTERP_VSQ 5
703 #define PRIMTOINTERP_3VEL_GAMMA 6
704 #define PRIMTOINTERP_RHOV_GAMMA 7
705 #define PRIMTOINTERP_VELREL4SQ 8
706 #define PRIMTOINTERP_3VELREL_GAMMAREL 9
707 #define PRIMTOINTERP_RAMESH1 10
708 #define PRIMTOINTERP_3VELREL_GAMMAREL_DXDXP 11
709 #define PRIMTOINTERP_GDETFULLVERSION 12
710 #define PRIMTOINTERP_GDETFULLVERSION_WALD 13
712 #define NOFIELDRESCALE -1
713 #define NOSPECIALFIELD 0
714 #define PULSARFIELD 1
715 #define PULSARFIELD2 2
716 #define PULSARFIELD3 3
717 #define GDETVERSION 4
718 #define GDETFULLVERSION 5
722 #define WENO_REDUCE_TYPE_DEFAULT 0
723 #define WENO_REDUCE_TYPE_PPM 1
726 #define MINMODB(a,b) ( (fabs(a)<fabs(b)) ? (a) : (b) )
727 #define MINMOD(a,b) ( ((a)*(b)<=0) ? 0.0 : MINMODB(a,b) )
730 #define MINMODB(a,b) ( (fabs(a)<fabs(b)) ? (a) : (b) )
731 #define MINMODGEN(extremeallow,a,b) ( (!extremeallow && (a)*(b)<=0) ? 0.0 : MINMODB(a,b) )
734 #define REMOVEFROMNPR 0
743 #define PARA1 0 // old
744 #define PARA2 1 // works
745 #define PARA3 2 // broken
746 #define PARA4 3 // latest
747 #define PARAJON 4 // Created to do well with high \sigma monopole
754 #define DIFFGAMMIE 0 // use infinitesimal differences of analytical metric
755 #define DIFFNUMREC 1 // use advanced (but presently broken) uniformly accurate Numerical Recipies numerical derivatives
756 #define DIFFFINITE 2 // use previously defined gridded values of metric to compute finite differences (fastest)
759 #define INTERPPOINTTYPE 0
760 #define INTERPLINETYPE 1
763 #define TIMEIMPLICIT 0
764 #define TIMEEXPLICIT 1
772 #define NUMBOUNDTYPES 9
774 #define BOUNDPRIMTYPE 0
775 #define BOUNDPRIMSIMPLETYPE 1
776 #define BOUNDPSTAGTYPE 2
777 #define BOUNDPSTAGSIMPLETYPE 3
778 #define BOUNDINTTYPE 4 // always simple
779 #define BOUNDFLUXTYPE 5
780 #define BOUNDFLUXSIMPLETYPE 6
781 #define BOUNDVPOTTYPE 7
782 #define BOUNDVPOTSIMPLETYPE 8
786 #define BOUNDPRIMLOC 0
787 #define BOUNDPSTAGLOC 1
809 #define NUMLEFTRIGHT 2
812 #define ISMIDDLE 2 // just macro, not used to access memory space and so why NUMLEFTRIGHT is still 2
815 #define FLUXNOTONGRID -100
819 #define DIRSIGN(dir) (1-2*((dir)%2 ))
821 #define DIMEN(dir) (1+(dir)/2)
823 #define DIRFROMDIMEN(dimen,dirsign) (( (dirsign==-1) + (dimen - 1) * 2))
826 #define POINTFROMDIR(dir) (DIRSIGN(dir)==-1 ? POINTDOWN : POINTUP)
829 # define M_El 2.7182818284590452353602874713526625L
830 # define M_LOG2El 1.4426950408889634073599246810018922L
831 # define M_LOG10El 0.4342944819032518276511289189166051L
832 # define M_LN2l 0.6931471805599453094172321214581766L
833 # define M_LN10l 2.3025850929940456840179914546843642L
835 # define M_PIl 3.1415926535897932384626433832795029L
836 # define M_PI_2l 1.5707963267948966192313216916397514L
837 # define M_PI_4l 0.7853981633974483096156608458198757L
838 # define M_1_PIl 0.3183098861837906715377675267450287L
839 # define M_2_PIl 0.6366197723675813430755350534900574L
840 # define M_2_SQRTPIl 1.1283791670955125738961589031215452L
841 # define M_SQRT2l 1.4142135623730950488016887242096981L
842 # define M_SQRT1_2l 0.7071067811865475244008443621048490L
843 # define SIXTH 0.1666666666666666666666666666666666L
844 # define FOURTHIRD 1.3333333333333333333333333333333333L
845 # define THIRD 0.3333333333333333333333333333333333L
846 # define ONE 1.0000000000000000000000000000000000L
849 # define ONEPT25 1.25L
855 # define M_PI 3.1415926535897932384626433832795029L
860 #define MAX(a,b) ( ((a) > (b)) ? (a) : (b) )
861 #define MIN(a,b) ( ((a) < (b)) ? (a) : (b) )
862 #define SIGNSINGLE(a) ( ((a) <0.) ? -1. : 1. )
864 #define ROUND2INT(x) ((int)((x)>0.0 ? (x)+0.5 : (x)-0.5))
865 #define ROUND2LONGLONGINT(x) ((long long int)((x)>0.0 ? (x)+0.5 : (x)-0.5))
871 #define DONOTACCESSMEMORY 0
874 #define PROGRADERISCO 0
875 #define RETROGRADERISCO 1
879 #define ALLTS 0 // full cumulative
880 #define ENERTS 1 // cumulative each dump_ener (over all grid)
881 #define IMAGETS 2 // cumulative each image dump (full grid)
882 #define DEBUGTS 3 // debug dump time scale (full grid)
888 #define NEGDENSITY_NEVERFIXUP -1
889 #define NEGDENSITY_ALWAYSFIXUP 0
890 #define NEGDENSITY_FIXONFULLSTEP 1
896 #define COUNTNOTHING -2
897 #define COUNTONESTEP -1 // used as control label, not counted
898 #define COUNTREALSTART 0 // marks when real counters begin
899 #define NUMFAILFLOORFLAGS 38
901 #define COUNTUTOPRIMFAILCONV 0 // if failed to converge
902 #define COUNTFLOORACT 1 // if floor activated
903 #define COUNTLIMITGAMMAACT 2 // if Gamma limiter activated
904 #define COUNTINFLOWACT 3 // if inflow check activated
905 #define COUNTUTOPRIMFAILRHONEG 4
906 #define COUNTUTOPRIMFAILUNEG 5
907 #define COUNTUTOPRIMFAILRHOUNEG 6
908 #define COUNTGAMMAPERC 7 // see fixup_checksolution()
909 #define COUNTUPERC 8 // see fixup_checksolution()
910 #define COUNTFFDE 9 // if originally MHD or ENTROPY, this is always referring to EOMFFDE2 or whatever set in utoprimgen.c
912 #define COUNTENTROPY 11
914 #define COUNTEOSLOOKUPFAIL 13
915 #define COUNTBOUND1 14 // see bounds.tools.c (used when boundary code actually affects active zone values)
916 #define COUNTBOUND2 15
917 #define COUNTUCONSFIXUP 16
920 #define COUNTIMPLICITITERS 17
921 #define COUNTIMPLICITMHDSTEPS 18
922 #define COUNTIMPLICITERRORS0 19
923 #define COUNTIMPLICITERRORS1 20
924 #define COUNTIMPLICITNORMAL 21
925 #define COUNTEXPLICITNORMAL 22
926 #define COUNTIMPLICITBAD 23
927 #define COUNTEXPLICITBAD 24
928 #define COUNTIMPLICITENERGY 25
929 #define COUNTIMPLICITENTROPY 26
930 #define COUNTIMPLICITCOLDMHD 27
931 #define COUNTIMPLICITFAILED 28
932 #define COUNTIMPLICITPMHD 29
933 #define COUNTIMPLICITUMHD 30
934 #define COUNTIMPLICITPRAD 31
935 #define COUNTIMPLICITURAD 32
936 #define COUNTIMPLICITENTROPYUMHD 33
937 #define COUNTIMPLICITENTROPYPMHD 34
938 #define COUNTIMPLICITMODENORMAL 35
939 #define COUNTIMPLICITMODESTAGES 36
940 #define COUNTIMPLICITMODECOLD 37
950 #define NANPFLAG -100 // bad pflag
951 #define UTOPRIMFAILFIXEDBOUND2 (-6)
952 #define UTOPRIMFAILFIXEDBOUND1 (-5)
953 #define UTOPRIMFAILFIXEDENTROPY (-4)
954 #define UTOPRIMFAILFIXEDCOLD (-3)
955 #define UTOPRIMFAILFIXEDFFDE (-2)
956 #define UTOPRIMFAILFIXEDUTOPRIM -1
957 #define UTOPRIMNOFAIL 0
958 #define UTOPRIMFAILGENERIC 1 // just >UTOPRIMNOFAIL
959 #define UTOPRIMFAILCONV 1
960 #define UTOPRIMFAILCONVW 2
961 #define UTOPRIMFAILCONVUTSQ 3
962 #define UTOPRIMFAILCONVGUESSUTSQ 4
963 #define UTOPRIMFAILCONVUTSQVERYBAD 5
964 #define UTOPRIMFAILCONVBADINVERTCOMPARE 6
965 #define UTOPRIMFAILNANGUESS 7
966 #define UTOPRIMFAILNANRESULT 8
967 #define UTOPRIMFAILRHONEG 9
968 #define UTOPRIMFAILUNEG 10
969 #define UTOPRIMFAILRHOUNEG 11
970 #define UTOPRIMFAILGAMMAPERC 12
971 #define UTOPRIMFAILUPERC 13
972 #define UTOPRIMFAILU2AVG1 14
973 #define UTOPRIMFAILU2AVG2 15
974 #define UTOPRIMFAILU2AVG1FROMCOLD 16
975 #define UTOPRIMFAILU2AVG2FROMCOLD 17
976 #define UTOPRIMFAILURHO2AVG1FROMFFDE 18
977 #define UTOPRIMFAILFAKEVALUE 19
978 #define UTOPRIMFAILCONVRET 50
981 #define IFUTOPRIMFAILSOFTRHORELATED(pflag) (pflag==UTOPRIMFAILRHONEG || pflag==UTOPRIMFAILRHOUNEG)
983 #define IFUTOPRIMFAILSOFTNOTRHORELATED(pflag) (pflag==UTOPRIMFAILUNEG || pflag==UTOPRIMFAILGAMMAPERC || pflag==UTOPRIMFAILUPERC || pflag==UTOPRIMFAILU2AVG1 || pflag==UTOPRIMFAILU2AVG2 || pflag==UTOPRIMFAILU2AVG1FROMCOLD || pflag==UTOPRIMFAILU2AVG2FROMCOLD || pflag==UTOPRIMFAILURHO2AVG1FROMFFDE)
985 #define IFUTOPRIMFAILSOFT(pflag) (IFUTOPRIMFAILSOFTRHORELATED(pflag)||IFUTOPRIMFAILSOFTNOTRHORELATED(pflag))
987 #define IFUTOPRIMFAILFIXED(pflag) (pflag==UTOPRIMFAILFIXEDFFDE || pflag==UTOPRIMFAILFIXEDCOLD || pflag==UTOPRIMFAILFIXEDENTROPY || pflag==UTOPRIMFAILFIXEDUTOPRIM)
989 #define IFUTOPRIMNOFAILORFIXED(pflag) (pflag==UTOPRIMFAILFIXEDFFDE || pflag==UTOPRIMFAILFIXEDCOLD || pflag==UTOPRIMFAILFIXEDENTROPY || pflag==UTOPRIMFAILFIXEDUTOPRIM || pflag==UTOPRIMNOFAIL)
991 #define IFUTOPRIMNOFAIL(pflag) (pflag==UTOPRIMNOFAIL)
993 #define IFUTOPRIMFAIL(pflag) (pflag>UTOPRIMNOFAIL)
995 #define ENTROPYANYFAIL(pflag) (pflag>0)
997 #define HOTANYFAIL(pflag) (pflag>0)
999 #define COLDANYFAIL(pflag) (pflag>0 && pflag!=UTOPRIMFAILU2AVG1FROMCOLD && pflag!=UTOPRIMFAILU2AVG2FROMCOLD)
1001 #define FFDEANYFAIL(pflag) (pflag>0 && pflag!=UTOPRIMFAILURHO2AVG1FROMFFDE)
1004 #define UTOPRIMRADFAILFIXEDUTOPRIMRAD -1
1005 #define UTOPRIMRADNOFAIL 0 // no radiation inversion failure
1008 #define UTOPRIMRADFAILCASE1A 1 //
1009 #define UTOPRIMRADFAILCASE1B 2 //
1010 #define UTOPRIMRADFAILCASE2A 3 //
1011 #define UTOPRIMRADFAILCASE2B 4 //
1012 #define UTOPRIMRADFAILCASE3A 5 //
1013 #define UTOPRIMRADFAILCASE3B 6 //
1014 #define UTOPRIMRADFAILERFNEG 7
1016 #define UTOPRIMRADFAILBAD1 8 // not used yet
1017 #define UTOPRIMRADFAILGAMMAHIGH 9
1020 #define COUNTRADNOTHING -1
1021 #define NUMRADFAILFLOORFLAGS 2 // no array for storage yet (or maybe ever)
1022 #define COUNTRADLOCAL 0
1023 #define COUNTRADNONLOCAL 1
1025 #define IFUTOPRIMRADHARDFAIL(pflagrad) (pflagrad>UTOPRIMRADNOFAIL && pflagrad!=UTOPRIMRADFAILGAMMAHIGH && pflagrad!=UTOPRIMRADFAILERFNEG)
1026 #define IFUTOPRIMRADSOFTFAIL(pflagrad) (pflagrad>UTOPRIMRADNOFAIL && (pflagrad==UTOPRIMRADFAILGAMMAHIGH || pflagrad==UTOPRIMRADFAILERFNEG))
1027 #define IFUTOPRIMRADFAIL(pflagrad) (pflagrad>UTOPRIMRADNOFAIL)
1029 #define IFUTOPRIMRADFAILFIXED(pflagrad) (pflagrad==UTOPRIMRADFAILFIXEDUTOPRIMRAD)
1030 #define IFUTOPRIMRADNOFAIL(pflagrad) (pflagrad==UTOPRIMRADNOFAIL)
1032 #define IFUTOPRIMRADNOFAILORFIXED(pflagrad) (pflagrad==UTOPRIMRADFAILFIXEDUTOPRIMRAD || pflagrad==UTOPRIMRADNOFAIL)
1034 #define RADINVBAD(radinvmod) (radinvmod==UTOPRIMRADFAILERFNEG || radinvmod==UTOPRIMRADFAILBAD1 || radinvmod==UTOPRIMRADFAILGAMMAHIGH)
1035 #define RADINVOK(radinvmod) (RADINVBAD(radinvmod)==0)
1040 #define FAIL_UTOPRIM_NEG 1
1041 #define FAILSTR01 "UTOPRIM_NEG"
1042 #define FAIL_UTOPRIM_TEST 2
1043 #define FAILSTR02 "UTOPRIM_TEST"
1044 #define FAIL_VCHAR_DISCR 3
1045 #define FAILSTR03 "VCHAR_DISCR"
1046 #define FAIL_COEFF_NEG 4
1047 #define FAILSTR04 "COEFF_NEG"
1048 #define FAIL_COEFF_SUP 5
1049 #define FAILSTR05 "COEFF_SUP"
1050 #define FAIL_UTCALC_DISCR 6
1051 #define FAILSTR06 "UTCALC_DISCR"
1053 #define FAILSTR07 "FAIL_LDZ"
1054 #define FAIL_BCFIX 8
1055 #define FAILSTR08 "FAIL_BCFIX"
1056 #define FAIL_VSQ_NEG 9
1057 #define FAILSTR09 "FAIL_VSQ_NEG"
1060 #define VARNOTDEFINED -100
1073 #define CENTEREDPRIM 0
1074 #define STAGGEREDPRIM 1
1078 #define SYMMATRIXNDIM 10 // total number of independent elements of a symmetric matrix
1081 #define NUMPFLAGS (6)
1082 #define NUMFAILPFLAGS (2)
1088 #define FLAGUTOPRIMFAIL 0 // changes behavior of fixup() on MHD quantities
1089 #define FLAGUTOPRIMRADFAIL 1 // changes behavior of fixup() on radiation quantities
1093 #define FLAGREALLIM 2 // value of limiter to be used
1094 #define FLAGBSQORHO 3 // set when B^2/RHO > BSQORHOLIMIT ; currently changes behavior of slope_lim
1095 #define FLAGBSQOU 4 // set when B^2/u > BSQOULIMIT
1096 #define FLAGREALFLUX 5 // type of flux to use
1101 #define NUMSOURCES 3
1104 #define GEOMSOURCE 0 // SHOULD ALWAYS BE 0 !
1106 #define RADSOURCE2 2
1113 #define NUMFLUXTERMS (7)
1121 #define ORDERDEBUG 3
1133 #define NUMENODEBUGS 6
1138 #define MAXITERDTSTAGES 2
1172 #define NOWHERE -1 // tells a function that not necessarily requesting value at a standard grid location (unusual) -- this stores no memroy, so doesn't increase NPG
1177 #define CORN1 4 // corner in 2-3 plane
1178 #define CORN2 5 // corner in 1-3 plane
1179 #define CORN3 6 // corner in 1-2 plane
1180 #define CORNT 7 // true corner: full 3D corner (only required for 3D)
1183 #define NUMPRIMGRIDPOS 2
1193 #define FUTURE_OUT 3
1196 #define DOINGFUTUREOUT -100
1199 #define SURFACETOTAL 0
1200 #define VOLUMETOTAL 1
1203 #define SURFACETYPE 1
1204 #define CUMULATIVETYPE 2
1205 #define CONSJETINNERTYPE 3
1206 #define CONSJETOUTERTYPE 4
1207 #define CUMULATIVETYPE2 5
1209 #define CUMULATIVETYPE3 7
1211 #define NOTHINGHEAD -1
1215 #define TIMESERIESAREAMAP 0
1216 #define FINALTDUMPAREAMAP 1
1221 #define ENERFNAME "ener.out"
1222 #define GENERFNAME "gener.out"
1228 #define NUMDUMPTYPES 22 // number of dump types listed below
1230 #define RESTARTDUMPTYPE 0
1231 #define RESTARTUPPERPOLEDUMPTYPE 1
1232 #define RESTARTMETRICDUMPTYPE 2
1233 #define IMAGEDUMPTYPE 3
1234 #define MAINDUMPTYPE 4
1235 #define GRIDDUMPTYPE 5
1236 #define AVG1DUMPTYPE 6
1237 #define AVG2DUMPTYPE 7 // used when needing AVG2DUMPTYPE to avoid too large a file size for avgdump
1238 #define DEBUGDUMPTYPE 8
1239 #define FIELDLINEDUMPTYPE 9
1240 #define ENODEBUGDUMPTYPE 10
1241 #define DISSDUMPTYPE 11
1242 #define OTHERDUMPTYPE 12
1243 #define FLUXDUMPTYPE 13
1244 #define EOSDUMPTYPE 14
1245 #define RADDUMPTYPE 15
1246 #define VPOTDUMPTYPE 16
1247 #define FAILFLOORDUDUMPTYPE 17
1248 #define ENERDUMPTYPE 18
1249 #define DISSMEASUREDUMPTYPE 19
1250 #define FLUXSIMPLEDUMPTYPE 20
1251 #define FAKEDUMPTYPE 21
1253 #define MYDUMPNAMELIST {"RESTARTDUMPTYPE","RESTARTUPPERPOLEDUMPTYPE","RESTARTMETRICDUMPTYPE","IMAGEDUMPTYPE","MAINDUMPTYPE","GRIDDUMPTYPE","AVG1DUMPTYPE","AVG2DUMPTYPE","DEBUGDUMPTYPE","FIELDLINEDUMPTYPE","ENODEBUGDUMPTYPE","DISSDUMPTYPE","OTHERDUMPTYPE","FLUXDUMPTYPE","EOSDUMPTYPE","RADDUMPTYPE","VPOTDUMPTYPE","FAILFLOORDUDUMPTYPE","ENERDUMPTYPE","DISSMEASUREDUMPTYPE","FLUXSIMPLEDUMPTYPE","FAKEDUMPTYPE"}
1256 #define NUMIMAGEPARMS 3
1265 #define UNRESCALE -1
1270 #define DOONESTEPCONS -1