80 static bool lgFirstCall =
true;
440 for(
long ion=0; ion<nelem+1; ++ion )
467 (
double****)
MALLOC(
sizeof(
double***)*(unsigned)
LIMELM );
497 for(
long nelem=0; nelem<
LIMELM; ++nelem )
506 for(
long ion=0; ion<nelem+1; ++ion )
509 for(
long ion2=0; ion2<nelem+2; ++ion2 )
516 (
double*)
MALLOC(
sizeof(
double)*(unsigned)(nelem+1) );
518 (
double*)
MALLOC(
sizeof(
double)*(unsigned)(nelem+1) );
520 (
long*)
MALLOC(
sizeof(
long)*(unsigned)(nelem+1) );
522 (
double*)
MALLOC(
sizeof(
double)*(unsigned)(nelem+1) );
524 (
double*)
MALLOC(
sizeof(
double)*(unsigned)(nelem+1) );
526 (
double*)
MALLOC(
sizeof(
double)*(unsigned)(nelem+1) );
528 (
double*)
MALLOC(
sizeof(
double)*(unsigned)(nelem+1) );
530 (
double***)
MALLOC(
sizeof(
double**)*(unsigned)(nelem+1) );
532 (
double**)
MALLOC(
sizeof(
double*)*(unsigned)(nelem+1) );
535 (
double*)
MALLOC(
sizeof(
double)*(unsigned)(nelem+2) );
537 (
double*)
MALLOC(
sizeof(
double)*(unsigned)(nelem+2) );
540 for(
long ion=0; ion<nelem+2; ++ion )
546 for(
long ipISO=0; ipISO<
NISO; ++ipISO )
551 for(
long ion=0; ion<nelem+1; ++ion )
567 (
double*)
MALLOC(
sizeof(
double)*(unsigned)2 );
568 for(
long ns=0; ns<
NSHELLS; ++ns )
571 (
double*)
MALLOC(
sizeof(
double)*(unsigned)3 );
587 for(
long nelem=0; nelem<
LIMELM; ++nelem )
589 for(
long ion=0; ion<nelem+1; ++ion )
599 for(
long ns=0; ns <
NSHELLS; ++ns )
609 for(
long ion=0; ion<nelem+2; ++ion )
614 for(
long ion2=0; ion2<nelem+2; ++ion2 )
634 for(
long nelem = 0; nelem <
LIMELM; ++nelem )
663 for(
long ion=0; ion <
LIMELM+1; ion++ )
708 for(
long i=0; i<74; ++i)
990 for(
long i=0; i <
NCOLD; i++ )
1001 for(
long i=0; i < 5; i++ )
1009 for(
long i=0; i < 3; i++ )
1020 for(
long i=0; i < 4; i++ )
1177 for(
long nelem=0; nelem<
LIMELM; ++nelem )
1179 for(
long ion=0; ion<
LIMELM; ++ion )
1191 for(
long nelem=0; nelem <
LIMELM; nelem++ )
1198 fprintf(
ioQQQ,
" ZERO finds insane abundance or depletion.\n" );
1199 fprintf(
ioQQQ,
" atomic number=%6ld abundance=%10.2e depletion=%10.2e\n",
1265 lgFirstCall =
false;
void AbundancesZero(void)
const double DEPTH_OFFSET
#define DEBUG_ENTRY(funcname)
void set_version(phfit_version val)
double *** CollIonRate_Ground
double ** RR_rate_coef_used
bool lgRecom_Badnell_print
double ** RR_Verner_rate_coef
double ** CompRecoilHeatRate
double ** CompRecoilIonRateSave
double ** UTA_ionize_rate
double **** PhotoRate_Shell
double ** CX_recomb_rate_used
double ** RR_Badnell_rate_coef
bool lgInnerShell_Kisielius
double ** DR_Badnell_rate_coef
double ** CompRecoilHeatRateSave
double ** CompRecoilIonRate
bool lgCS_therm_ave[NISO]
bool lgCollStrenThermAver
bool lgContinuumLoweringEnabled[NISO]
bool lgNoRecombInterp[NISO]
bool lgColl_l_mixing[NISO]
bool lgCritDensLMix[NISO]
long int nLyman_malloc[NISO]
bool lgCS_Vrinceanu[NISO]
bool lgPrintNumberOfLevels
bool lgCompileRecomb[NISO]
vector< bool > lgTreatIsotopes
bool lgGrain_mole_deplete
realnum *** xMoleChTrRate
STATIC void fill(double fenlo, double fenhi, double resolv, long int *n0, long int *ipnt, bool lgCount)
void set_NaN(sys_float &x)
t_mole_global mole_global
t_secondaries secondaries
realnum Depletion[LIMELM]
double CharExcRecTo[NCX][LIMELM][LIMELM+1]
double CharExcIonOf[NCX][LIMELM][LIMELM+1]
double CharExcRecTotal[NCX]
double CharExcIonTotal[NCX]
double popoi[N_OI_LEVELS]
double ResolutionScaleFactor
bool lgCoStarInterpolationCaution
realnum IonizErrorAllowed
realnum PressureErrorAllowed
double MaxFractionalDensityStepPerIteration
char chConvEden[INPUT_LINE_LENGTH]
realnum AverHeatCoolError
realnum GasPhaseAbundErrorAllowed
char chNotConverged[INPUT_LINE_LENGTH]
realnum HeatCoolRelErrorAllowed
double xIonDense[LIMELM][LIMELM+1]
void SetGasPhaseDensity(const long nelem, const realnum density)
double frac_he0dest_23S_photo
bool lgH2_Chemistry_BigH2
realnum UV_Cont_rel2_Draine_DB96_depth
realnum deriv_HeatH2Dexc_BHT90
realnum UV_Cont_rel2_Habing_TH85_face
double H2_Solomon_dissoc_rate_ELWERT_H2s
double H2_Solomon_dissoc_rate_ELWERT_H2g
double H2_photodissoc_ELWERT_H2s
double H2_Solomon_dissoc_rate_used_H2g
char chH2_small_model_type
realnum deriv_HeatH2Dexc_used
double H2_photodissoc_BHT90
double H2_Solomon_dissoc_rate_TH85_H2g
double H2_Solomon_dissoc_rate_used_H2s
double H2_Solomon_dissoc_rate_BD96_H2g
realnum UV_Cont_rel2_Draine_DB96_face
double H2_photodissoc_used_H2g
realnum deriv_HeatH2Dexc_TH85
double H2_photodissoc_used_H2s
realnum deriv_HeatH2Dexc_BD96
double H2_photodissoc_ELWERT_H2g
double H2_Solomon_dissoc_rate_BHT90_H2s
double H2_photodissoc_TH85
realnum UV_Cont_rel2_Habing_TH85_depth
bool lgLeiden_Keep_ipMH2s
realnum deriv_HeatH2Dexc_ELWERT
double H2_Solomon_dissoc_rate_BHT90_H2g
double H2_Solomon_dissoc_rate_TH85_H2s
double H2_Solomon_dissoc_rate_BD96_H2s
realnum xLymanPumpingScaleFactor
double RhoGravity_external
double pres_radiation_lines_curr
long int fine_opac_nresolv
realnum time_continuum_scale
realnum SecIon2PrimaryErg
realnum SecExcitLya2PrimaryErg
double time_H2_Dest_longest
double time_H2_Form_longest
double sound_speed_isothermal
void TempChange(double TempNew, bool lgForceUpdate)