123 for( nelem=ipISO; nelem<
LIMELM; ++nelem )
125 HOpacRatSav[ipISO][nelem] = (
double *)
MALLOC(
sizeof(
double)*(unsigned)(
iso_sp[ipISO][nelem].numLevels_max+1) );
127 hnsav[ipISO][nelem] = (
double *)
MALLOC(
sizeof(
double)*(unsigned)(
iso_sp[ipISO][nelem].numLevels_max+1) );
136 for(nelem=0; nelem<
LIMELM; ++nelem )
140 (
double*)
MALLOC(
sizeof(
double)*(unsigned)(nelem+2) );
142 (
double*)
MALLOC(
sizeof(
double)*(unsigned)(nelem+2) );
145 for( ion=0; ion<nelem+2; ++ion )
157 fprintf(
ioQQQ,
" IterStart called.\n" );
174 for(nelem=0; nelem<
HS_NZ; ++nelem )
181 for(
long ipSpecies=0; ipSpecies<
nSpecies; ++ipSpecies )
247 for( nelem=0; nelem <
LIMELM; nelem++ )
254 for( ion=0; ion < (nelem + 2); ion++ )
259 for( ion=0; ion <
LIMELM; ion++ )
273 for( nelem=ipISO; nelem <
LIMELM; nelem++ )
283 for( vector<two_photon>::iterator tnu =
iso_sp[ipISO][nelem].TwoNu.begin(); tnu !=
iso_sp[ipISO][nelem].
TwoNu.end(); ++tnu )
284 tnu->induc_dn_max = 0.;
321 for( ion=0; ion<nelem+2; ++ion )
329 for( ion2=0; ion2<nelem+2; ++ion2 )
431 for( i=0; i <
NCOLD; i++ )
446 (*diatom)->ortho_colden = 0.;
447 (*diatom)->para_colden = 0.;
454 for( i=0; i < 5; i++ )
462 for( i=0; i < 3; i++ )
473 for( i=0; i < 4; i++ )
488 for(
unsigned i = 0; i <
mole.
species.size(); ++i )
519 for( ion=0; ion<nelem+1; ++ion )
529 for( ion=0; ion<nelem+1; ++ion )
621 fprintf(
ioQQQ,
"PROBLEM could not find the normalisation line.\n");
623 "IterStart could not find a line with a wavelength of %f and a label of %s\n",
625 fprintf(
ioQQQ,
"Please check the emission line output to find the correct line identification.\n");
626 fprintf(
ioQQQ,
"Sorry.\n");
639 fprintf(
ioQQQ,
"PROBLEM could not find the default normalisation line.\n");
641 "IterStart could not find a line with a wavelength of 4861 and a label of TOTL\n" );
642 fprintf(
ioQQQ,
"Please check the emission line output to find the correct line identification.\n");
643 fprintf(
ioQQQ,
"Sorry.\n");
654 for(
long int nStopLine=0; nStopLine <
StopCalc.
nstpl; nStopLine++ )
656 double relint, absint ;
666 " IterStart could not find first line in STOP LINE command, number %ld with label *%s* and wl %.1f\n",
680 " IterStart could not find second line in STOP LINE command, line number %ld with label *%s* and wl %.1f\n",
690 " stop line 1 is number %5ld wavelength is %f label is %4.4s\n",
695 " stop line 2 is number %5ld wavelength is %f label is %4.4s\n",
725 fprintf(
ioQQQ,
" IterStart does not change mid-zone optical depth since CASE B\n" );
762 fprintf(
ioQQQ,
" IterStart returns.\n" );
804 (*diatom)->H2_Reset();
809 for( ion=0; ion<nelem+2; ++ion )
817 for( ion2=0; ion2<nelem+2; ++ion2 )
842 for( i=0; i <
NCOLD; i++ )
917 fprintf(
ioQQQ,
" IterRestart called.\n" );
927 for( ion=0; ion<nelem+1; ++ion )
935 for( nelem=0; nelem<
LIMELM; ++nelem)
937 for( ion=0; ion<nelem+1; ++ion )
988 for(
long nelem=ipISO; nelem <
LIMELM; ++nelem )
996 for( nelem=ipISO; nelem <
LIMELM; nelem++ )
1011 fprintf(
ioQQQ,
" EDEN set to%12.4e by IterRestart.\n",
1017 for( ion=0; ion < (nelem + 2); ion++ )
1021 for( i=0; i <
LIMELM; i++ )
1050 if( fac_old > log10(DBL_MAX) )
1054 else if( fac_new > log10(DBL_MAX) )
1058 else if( fac_old > 1.e-5 )
1060 slope_ratio = (exp(fac_old) - 1.)/(exp(fac_new) - 1.);
1064 slope_ratio = (fac_old*(1. + fac_old/2.))/(fac_new*(1. + fac_new/2.));
1148 fprintf(
ioQQQ,
"\f\n Start Iteration Number %ld %75.75s\n\n\n",
1190 for(
long nEmType=0; nEmType<2; ++nEmType )
1224 enum{DEBUG_LOC=
false};
1227 fprintf(
ioQQQ,
"i=%li opac %.2e \n", i,
sys_float sexp(sys_float x)
sys_float SDIV(sys_float x)
#define DEBUG_ENTRY(funcname)
long int cdLine(const char *chLabel, realnum wavelength, double *relint, double *absint)
static t_fe2ovr_la & Inst()
EmissionList::reference Emis() const
double ** CompRecoilHeatRate
double ** CompRecoilIonRateSave
double ** CompRecoilHeatRateSave
double ** CompRecoilIonRate
TransitionProxy trans(const long ipHi, const long ipLo)
vector< two_photon > TwoNu
valarray< class molezone > species
realnum *** xMoleChTrRate
void EdenChange(double EdenNew)
UNUSED const realnum BIGFLOAT
bool lgElemsConserved(void)
void GrainRestartIter(void)
void GrainStartIter(void)
vector< diatomics * > diatoms
diatomics h2("h2", 4100., &hmi.H2_total, Yan_H2_CS)
vector< diatomics * >::iterator diatom_iter
t_iso_sp iso_sp[NISO][LIMELM]
static double UV_Cont_rel2_Habing_TH85_face
static double H2_Solomon_dissoc_rate_used_H2g_save
static double UV_Cont_rel2_Draine_DB96_face
static realnum xIonFsave[LIMELM][LIMELM+1]
static double hmitot_save
static double h2plus_heat_save
static double HeatH2Dish_used_save
static realnum deutDenseSave1
static double H2_photodissoc_used_H2g_save
static realnum *** SaveMoleChTrRate
static double UV_Cont_rel2_Draine_DB96_depth
static long int IonHighSave[LIMELM]
static double hmihet_save
static double H2_photodissoc_used_H2s_save
static double *** HOpacRatSav
static realnum supsav[LIMELM][LIMELM]
static double ** saveMoleSink
static double H2_H2g_to_H2s_rate_used_save
static double H2_Solomon_dissoc_rate_used_H2s_save
static long int IonLowSave[LIMELM]
static double ** saveMoleSource
static realnum gas_phase_save[LIMELM]
static realnum deutDenseSave0
static double deriv_HeatH2Dexc_used_save
static double HeatH2Dexc_used_save
static double HeatSave[LIMELM][LIMELM]
void Magnetic_reinit(void)
void molcol(const char *chLabel, FILE *ioMEAN)
t_mole_global mole_global
molezone * findspecieslocal(const char buf[])
UNUSED const double BOLTZMANN
UNUSED const double TE1RYD
void PresTotCurrent(void)
void RT_OTS_Update(double *SumOTS)
t_secondaries secondaries
realnum StopLineWl1[MXSTPL]
char chReasonStop[nCHREASONSTOP]
long int ipStopLin2[MXSTPL]
char chStopLabel1[MXSTPL][5]
realnum StopLineWl2[MXSTPL]
char chStopLabel2[MXSTPL][5]
long int ipStopLin1[MXSTPL]
bool lgHCaseBOK[2][HS_NZ]
double popoi[N_OI_LEVELS]
long int IonLow[LIMELM+1]
long int IonHigh[LIMELM+1]
double xIonDense[LIMELM][LIMELM+1]
realnum gas_phase[LIMELM]
void SetGasPhaseDensity(const long nelem, const realnum density)
bool lgTimeDependentStatic
double frac_he0dest_23S_photo
realnum UV_Cont_rel2_Draine_DB96_depth
realnum UV_Cont_rel2_Habing_TH85_face
double H2_Solomon_dissoc_rate_used_H2g
double H2_H2g_to_H2s_rate_used
realnum deriv_HeatH2Dexc_used
double H2_Solomon_dissoc_rate_used_H2s
realnum UV_Cont_rel2_Draine_DB96_face
double H2_photodissoc_used_H2g
double H2_photodissoc_used_H2s
double * opacity_sct_savzon1
double * opacity_abs_savzon1
double RhoGravity_external
realnum PresIntegElecThin
double extin_mag_V_extended
realnum * OccNumbContEmitOut
realnum * OccNumbIncidCont
realnum * ConOTS_local_photons
void resetCoarseTransCoef()
realnum * ConOTS_local_OTS_rate
double extin_mag_B_extended
realnum ** flux_total_incident
long int ipEnergyBremsThin
realnum time_continuum_scale
realnum * flux_isotropic_save
realnum * flux_time_beam_save
realnum * flux_beam_const
realnum * OccNumbBremsCont
realnum * OccNumbDiffCont
realnum * flux_beam_const_save
realnum SecIon2PrimaryErg
long int nzonePreviousIteration
double heating[LIMELM][LIMELM]
bool lgTemperatureConstantCommandParsed
bool lgTemperatureConstant
double time_H2_Dest_longest
double time_H2_Form_longest