121 for( nelem=ipISO; nelem<
LIMELM; ++nelem )
123 HOpacRatSav[ipISO][nelem] = (
double *)
MALLOC(
sizeof(
double)*(unsigned)(
iso_sp[ipISO][nelem].numLevels_max+1) );
125 hnsav[ipISO][nelem] = (
double *)
MALLOC(
sizeof(
double)*(unsigned)(
iso_sp[ipISO][nelem].numLevels_max+1) );
134 for(nelem=0; nelem<
LIMELM; ++nelem )
138 (
double*)
MALLOC(
sizeof(
double)*(unsigned)(nelem+2) );
140 (
double*)
MALLOC(
sizeof(
double)*(unsigned)(nelem+2) );
143 for( ion=0; ion<nelem+2; ++ion )
174 for(nelem=0; nelem<
HS_NZ; ++nelem )
181 for(
long ipSpecies=0; ipSpecies<
nSpecies; ++ipSpecies )
249 for( nelem=0; nelem <
LIMELM; nelem++ )
256 for( ion=0; ion < (nelem + 2); ion++ )
261 for( ion=0; ion <
LIMELM; ion++ )
275 for( nelem=ipISO; nelem <
LIMELM; nelem++ )
285 for( vector<two_photon>::iterator tnu =
iso_sp[ipISO][nelem].TwoNu.begin(); tnu !=
iso_sp[ipISO][nelem].
TwoNu.end(); ++tnu )
286 tnu->induc_dn_max = 0.;
320 for( ion=0; ion<nelem+2; ++ion )
328 for( ion2=0; ion2<nelem+2; ++ion2 )
428 for( i=0; i <
NCOLD; i++ )
442 (*diatom)->ortho_colden = 0.;
443 (*diatom)->para_colden = 0.;
460 for(
unsigned i = 0; i <
mole.
species.size(); ++i )
491 for( ion=0; ion<nelem+1; ++ion )
501 for( ion=0; ion<nelem+1; ++ion )
593 strncpy( label,
"H 1",
NCHLAB );
601 fprintf(
ioQQQ,
"PROBLEM could not find the normalisation line.\n");
602 fprintf(
ioQQQ,
"IterStart could not find the line \t" );
604 fprintf(
ioQQQ,
"Please check the emission line output to find the correct line identification.\n");
607 fprintf(
ioQQQ,
"Setting normalisation line to first line in stack, and proceeding.\n");
618 for(
long int nStopLine=0; nStopLine <
StopCalc.
nstpl; nStopLine++ )
620 double relint, absint ;
631 " IterStart could not find first line in STOP LINE command, line number %ld: ",
645 " IterStart could not find second line in STOP LINE command, line number %ld: ",
655 " stop line 1 is number %5ld label is %s\n",
659 " stop line 2 is number %5ld label is %s\n",
688 fprintf(
ioQQQ,
" IterStart does not change mid-zone optical depth since CASE B\n" );
767 (*diatom)->H2_Reset();
772 for( ion=0; ion<nelem+2; ++ion )
780 for( ion2=0; ion2<nelem+2; ++ion2 )
806 for( i=0; i <
NCOLD; i++ )
890 for( ion=0; ion<nelem+1; ++ion )
898 for( nelem=0; nelem<
LIMELM; ++nelem)
900 for( ion=0; ion<nelem+1; ++ion )
939 for( nelem=
ipHYDROGEN; nelem < LIMELM; nelem++ )
951 for(
long nelem=ipISO; nelem <
LIMELM; ++nelem )
959 for( nelem=ipISO; nelem <
LIMELM; nelem++ )
980 for( ion=0; ion < (nelem + 2); ion++ )
984 for( i=0; i <
LIMELM; i++ )
1013 if( fac_old > log10(DBL_MAX) )
1017 else if( fac_new > log10(DBL_MAX) )
1021 else if( fac_old > 1.e-5 )
1023 slope_ratio = (exp(fac_old) - 1.)/(exp(fac_new) - 1.);
1027 slope_ratio = (fac_old*(1. + fac_old/2.))/(fac_new*(1. + fac_new/2.));
1108 fprintf(
ioQQQ,
"\f\n Start Iteration Number %ld %75.75s\n\n\n",
1144 double cumulative_factor;
1157 fprintf(
ioQQQ,
" PROBLEM IterEnd called with insane cumulative type, %4.4s\n",
1197 enum{DEBUG_LOC=
false};
realnum StopLineWl2[MXSTPL]
double * opacity_abs_savzon1
t_mole_global mole_global
void RT_OTS_Update(double *SumOTS)
static realnum gas_phase_save[LIMELM]
double H2_Solomon_dissoc_rate_used_H2g
realnum * ConOTS_local_OTS_rate
void SetGasPhaseDensity(const long nelem, const realnum density)
static double UV_Cont_rel2_Draine_DB96_face
long int ipEnergyBremsThin
double ** CompRecoilIonRate
NORETURN void TotalInsanity(void)
realnum * flux_beam_const_save
double ** CompRecoilHeatRate
long int ipStopLin1[MXSTPL]
double H2_H2g_to_H2s_rate_used
realnum UV_Cont_rel2_Draine_DB96_face
static double *** HOpacRatSav
long findline(const char *chLabel, realnum wavelength)
char chStopLabel1[MXSTPL][NCHLAB]
static double hmitot_save
long int IonHigh[LIMELM+1]
realnum PresIntegElecThin
realnum ** flux_total_incident
bool lgTimeDependentStatic
double H2_photodissoc_used_H2s
realnum * OccNumbContEmitOut
double ** CompRecoilIonRateSave
static realnum *** SaveMoleChTrRate
sys_float sexp(sys_float x)
realnum SecIon2PrimaryErg
static double UV_Cont_rel2_Habing_TH85_face
bool lgTemperatureConstant
vector< double > StopThickness
bool lgHCaseBOK[2][HS_NZ]
molezone * findspecieslocal(const char buf[])
char chStopLabel2[MXSTPL][NCHLAB]
static double hmihet_save
static double ** saveMoleSink
realnum * ConOTS_local_photons
realnum time_continuum_scale
double anu(size_t i) const
static realnum deutDenseSave0
static double HeatH2Dish_used_save
void resetCoarseTransCoef()
double time_H2_Dest_longest
t_iso_sp iso_sp[NISO][LIMELM]
void PresTotCurrent(void)
static double h2plus_heat_save
void prt_line_err(FILE *ioOUT, const char *label, realnum wvlng)
long int nflux_with_check
double xIonDense[LIMELM][LIMELM+1]
double H2_Solomon_dissoc_rate_used_H2s
vector< long int > IterPrnt
vector< two_photon > TwoNu
long int IonLow[LIMELM+1]
static double H2_photodissoc_used_H2s_save
double frac_he0dest_23S_photo
EmissionList::reference Emis() const
static double HeatSave[LIMELM][LIMELM]
chem_nuclide * null_nuclide
static double ** saveMoleSource
static realnum supsav[LIMELM][LIMELM]
realnum * flux_time_beam_save
realnum *** xMoleChTrRate
valarray< class molezone > species
vector< diatomics * > diatoms
static double HeatH2Dexc_used_save
diatomics h2("h2", 4100.,&hmi.H2_total, Yan_H2_CS)
realnum * OccNumbIncidCont
static double deriv_HeatH2Dexc_used_save
realnum StopLineWl1[MXSTPL]
void molcol(const char *chLabel, FILE *ioMEAN)
realnum UV_Cont_rel2_Habing_TH85_face
double heating(long nelem, long ion)
double ** CompRecoilHeatRateSave
double H2_photodissoc_used_H2g
TransitionProxy trans(const long ipHi, const long ipLo)
void setHeating(long nelem, long ion, double heating)
long int ipStopLin2[MXSTPL]
realnum gas_phase[LIMELM]
realnum UV_Cont_rel2_Draine_DB96_depth
bool lgTemperatureConstantCommandParsed
static realnum xIonFsave[LIMELM][LIMELM+1]
static long int IonLowSave[LIMELM]
double * opacity_sct_savzon1
static realnum deutDenseSave1
static double UV_Cont_rel2_Draine_DB96_depth
static long int IonHighSave[LIMELM]
long int cdLine(const char *chLabel, realnum wavelength, double *relint, double *absint)
double extin_mag_V_extended
static double H2_Solomon_dissoc_rate_used_H2s_save
static double H2_Solomon_dissoc_rate_used_H2g_save
vector< double, allocator_avx< double > > ExpZone
realnum * flux_isotropic_save
#define DEBUG_ENTRY(funcname)
realnum * OccNumbDiffCont
vector< species > dBaseSpecies
char chReasonStop[nCHREASONSTOP]
double extin_mag_B_extended
int fprintf(const Output &stream, const char *format,...)
realnum deriv_HeatH2Dexc_used
double RhoGravity_external
sys_float SDIV(sys_float x)
static double H2_photodissoc_used_H2g_save
void EdenChange(double EdenNew)
bool lgElemsConserved(void)
t_secondaries secondaries
realnum * flux_beam_const
long int nzonePreviousIteration
double time_H2_Form_longest
static double H2_H2g_to_H2s_rate_used_save
void Magnetic_reinit(void)
vector< diatomics * >::iterator diatom_iter