Cloudy
Spectral Synthesis Code for Astrophysics
|
#include <h2_priv.h>
Public Member Functions | |
double | Abund () const |
void | GetIndices (long &ipHi, long &ipLo, const char *chLine, long &i) const |
void | CalcPhotoionizationRate (void) |
long | OpacityCreate (vector< double > &stack) |
double | GetHeatRate (const diss_tran &tran) |
double | GetDissociationRate (const diss_tran &tran) |
double | MolDissocOpacity (const diss_tran &tran, const double &Mol_Ene) |
double | Cont_Diss_Heat_Rate (void) |
void | Mol_Photo_Diss_Rates (void) |
void | Read_Mol_Diss_cross_sections (void) |
void | SolveExcitedElectronicLevels (void) |
void | SolveSomeGroundElectronicLevels (void) |
double | GetExcitedElecDensity (void) |
realnum | GetXColden (long iVib, long iRot) |
long int | getLine (long iElecHi, long iVibHi, long iRotHi, long iElecLo, long iVibLo, long iRotLo, double *relint, double *absint) |
realnum | H2_CollidRateEvalOne (long iVibHi, long iRotHi, long iVibLo, long iRotLo, long ipHi, long ipLo, long nColl, double temp_K) |
void | H2_Calc_Average_Rates (void) |
void | H2_X_sink_and_source (void) |
void | H2_X_coll_rate_evaluate (void) |
void | H2_Level_low_matrix (realnum abundance) |
void | H2_ReadEnergies () |
void | H2_ReadEnergies (long int nelec, vector< int > &n, vector< int > &v, vector< int > &J, vector< double > &eWN) |
void | H2_ReadDissprob (long int nelec) |
void | H2_CollidRateEvalAll (void) |
void | H2_CollidRateRead (long int nColl) |
void | H2_ReadTransprob (long int nelec, TransitionList &trans) |
void | H2_Read_hminus_distribution (void) |
void | mole_H2_form (void) |
void | mole_H2_LTE (void) |
void | H2_Solomon_rate (void) |
double | gs_rate (void) |
void | H2_zero_pops_too_low (void) |
void | init (void) |
void | H2_ContPoint (void) |
double | H2_DR (void) |
double | H2_Accel (void) |
void | H2_RT_OTS (void) |
double | H2_RadPress (void) |
void | H2_LinesAdd (void) |
void | H2_Reset (void) |
double | H2_InterEnergy (void) |
void | H2_Colden (const char *chLabel) |
void | H2_Cooling (void) |
double | LTE_Cooling_per_H2 () |
void | H2_Punch_line_data (FILE *ioPUN, bool lgDoAll) |
void | H2_PunchLineStuff (FILE *io, realnum xLimit, long index) |
void | H2_RT_diffuse (void) |
void | H2_RTMake (linefunc line_one) |
void | H2_RT_tau_inc (void) |
void | H2_Prt_Zone (void) |
void | H2_PrtDepartCoef (void) |
void | H2_LineZero (void) |
void | H2_RT_tau_reset (void) |
void | H2_LevelPops (bool &lgPopsConverged, double &old_value, double &new_value) |
void | H2_PunchDo (FILE *io, char chJOB[], const char chTime[], long int ipPun) |
void | H2_ParseSave (Parser &p, ostringstream &chHeader) |
double | H2_itrzn (void) |
void | H2_Prt_column_density (FILE *ioMEAN) |
void | set_numLevelsMatrix (long numLevels) |
void | H2_ReadDissocEnergies (void) |
diatomics (const string &a, const double &e_star, const double *const abund, double(*fun)(double)) | |
void | H2_Read_LTE_cooling_per_H2 () |
double | interpolate_LTE_Cooling (double Temp) |
|
explicit |
References Average_A, Average_collH2_deexcit, Average_collH2_dissoc_g, Average_collH2_dissoc_s, Average_collH2_excit, Average_collH_deexcit, Average_collH_dissoc_g, Average_collH_dissoc_s, Average_collH_excit, chH2ColliderLabels, DEBUG_ENTRY, fixit, H2_to_H_limit, HeatChange, HeatChangeOld, HeatDexc, HeatDexc_deriv, HeatDexc_old, HeatDiss, iteration_evaluated, iterationAsEval, label, levelAsEval, lgColl_deexec_Calc, lgColl_dissoc_coll, lgColl_gbar, lgEnabled, lgEvaluated, lgFirst, lgH2_grain_deexcitation, lgH2_He_ORNL, lgH2_NOISE, lgH2_NOISECOSMIC, lgH2_ORH2_ORNL, lgH2_ortho_para_coll_on, lgH2_PAH2_ORNL, lgLTE, lgREAD_DATA, loop_h2_oscil, N_ELEC, n_elec_states, n_trace_final, n_trace_full, n_trace_iterations, n_trace_matrix, nCall_this_zone, ndim_allocated, nElecLevelOutput, nH2_pops, nH2_zone, nTRACE, nXLevelsMatrix, nzone_eval, nzone_nlevel_set, nzoneAsEval, nzoneEval, ortho_colden, ortho_para_current, ortho_para_old, ortho_para_older, para_colden, path, photo_heat_hard, photo_heat_soft, photodissoc_BigH2_H2g, photodissoc_BigH2_H2s, photoion_opacity_fun, rate_grain_J1_to_J0, rate_grain_op_conserve, renorm_max, renorm_min, shortlabel, Solomon_dissoc_rate_g, Solomon_dissoc_rate_s, spon_diss_tot, TeUsedBoltz, TeUsedColl, and toupper().
|
inline |
References dense_total.
Referenced by H2_PunchDo().
void diatomics::CalcPhotoionizationRate | ( | void | ) |
References t_ionbal::CompRecoilIonRate, DEBUG_ENTRY, GammaK(), t_phoHeat::HeatHiEnr, t_phoHeat::HeatLowEnr, ionbal, ip_photo_opac_offset, ip_photo_opac_thresh, ipHYDROGEN, iteration, iteration_evaluated, t_ionbal::lgPhotoIoniz_On, t_rfield::nflux_with_check, nzone, nzone_eval, photo_heat_hard, photo_heat_soft, photoionize_rate, and rfield.
Referenced by H2_LevelPops().
double diatomics::Cont_Diss_Heat_Rate | ( | void | ) |
References DEBUG_ENTRY, Diss_Trans, lgEnabled, t_mole_global::lgStancil, Mol_Photo_Diss_Rates(), and mole_global.
double diatomics::GetDissociationRate | ( | const diss_tran & | tran | ) |
References DEBUG_ENTRY, diss_tran::initial, ipEnergySort, diss_level::j, diss_level::n, diss_tran::rate_coeff, states, and diss_level::v.
double diatomics::GetExcitedElecDensity | ( | void | ) |
References n_elec_states, and pops_per_elec.
Referenced by H2_Solomon_rate().
double diatomics::GetHeatRate | ( | const diss_tran & | tran | ) |
References t_mesh::anu(), t_rfield::ConInterOut, DEBUG_ENTRY, density(), diss_tran::energies, energy(), t_rfield::flux, diss_tran::initial, ipEnergySort, ipoint(), diss_level::j, MAX2, MIN2, MolDissocCrossSection(), diss_level::n, t_rfield::nflux, t_rfield::outlin, t_rfield::outlin_noplot, rfield, states, and diss_level::v.
void diatomics::GetIndices | ( | long & | ipHi, |
long & | ipLo, | ||
const char * | chLine, | ||
long & | i | ||
) | const |
References ASSERT, FFmtRead(), ipEnergySort, Jlowest, Parser::lgEOL(), nRot_hi, and nVib_hi.
Referenced by FunctDiatoms::operator()().
long int diatomics::getLine | ( | long | iElecHi, |
long | iVibHi, | ||
long | iRotHi, | ||
long | iElecLo, | ||
long | iVibLo, | ||
long | iRotLo, | ||
double * | relint, | ||
double * | absint | ||
) |
References ASSERT, t_radius::Conv2PrtInten, DEBUG_ENTRY, energy(), H2_lgOrtho, H2_SaveLine, ipEnergySort, t_LineSave::ipNormWavL, lgH2_radiative, t_LineSave::lines, LineSave, radius, t_LineSave::ScaleNormLine, and states.
Referenced by cdH2_Line().
realnum diatomics::GetXColden | ( | long | iVib, |
long | iRot | ||
) |
References DEBUG_ENTRY, fprintf(), H2_X_colden, ioQQQ, nRot_hi, and nVib_hi.
Referenced by cdH2_colden().
double diatomics::gs_rate | ( | void | ) |
gs_rate evaluate rate between ground and star states
References EmissionProxy::Aul(), DEBUG_ENTRY, TransitionList::Emis(), H2_den_g, H2_dissprob, H2_rad_rate_out, ipEnergySort, ipTransitionSort, Jlowest, lgH2_radiative, MAX2, n_elec_states, nEner_H2_ground, nRot_hi, nVib_hi, EmissionProxy::Ploss(), SDIV(), states, and trans.
Referenced by H2_LevelPops(), and mole_h_reactions().
double diatomics::H2_Accel | ( | void | ) |
radiative acceleration due to H2 called in rt_line_driving
References ASSERT, TransitionList::begin(), DEBUG_ENTRY, lgEnabled, rad_end, and trans.
void diatomics::H2_Calc_Average_Rates | ( | void | ) |
References Average_A, Average_collH2_deexcit, Average_collH2_excit, Average_collH_deexcit, Average_collH_excit, qList::begin(), TransitionList::begin(), CollRateCoeff, qList::end(), ENERGY_H2_STAR, H2_lgOrtho, hmi, ipEnergySort, ipTransitionSort, lgH2_radiative, t_hmi::lgLeiden_Keep_ipMH2s, safe_div(), SDIV(), states, and trans.
Referenced by H2_LevelPops().
void diatomics::H2_Colden | ( | const char * | chLabel | ) |
H2_Colden maintain H2 column densities within X
*chLabel |
References qList::begin(), cdEXIT, DEBUG_ENTRY, dense_total, t_radius::drad_x_fillfac, qList::end(), EXIT_FAILURE, fprintf(), H2_populations_LTE, H2_X_colden, H2_X_colden_LTE, ioQQQ, lgEnabled, radius, states, and multi_arr< T, d, ALLOC, lgBC >::zero().
void diatomics::H2_CollidRateEvalAll | ( | void | ) |
H2_CollidRateEvalAll - set H2 collision rates
References ASSERT, CollRateCoeff, DEBUG_ENTRY, energy(), fixit, fprintf(), H2_coll_dissoc_rate_coef, H2_coll_dissoc_rate_coef_H2, H2_CollidRateEvalOne(), H2_DissocEnergies, ioQQQ, ipRot_H2_energy_sort, ipVib_H2_energy_sort, label, lgColl_dissoc_coll, n_trace_full, N_X_COLLIDER, nLevels_per_elec, nTRACE, phycon, sexp(), states, t_phycon::te, and t_phycon::te_wn.
Referenced by H2_LevelPops().
realnum diatomics::H2_CollidRateEvalOne | ( | long | iVibHi, |
long | iRotHi, | ||
long | iVibLo, | ||
long | iRotLo, | ||
long | ipHi, | ||
long | ipLo, | ||
long | nColl, | ||
double | temp_K | ||
) |
References CollRateErrFac, DEBUG_ENTRY, GbarRateCoeff(), H2_lgOrtho, InterpCollRate(), lgColl_deexec_Calc, lgColl_gbar, lgH2_NOISE, lgH2_ortho_para_coll_on, RateCoefTable, and states.
Referenced by H2_CollidRateEvalAll().
void diatomics::H2_CollidRateRead | ( | long int | nColl | ) |
read collision rates
nColl |
References cdEXIT, t_cpu_i::chDirSeparator(), coll_source, cpu, DEBUG_ENTRY, EXIT_FAILURE, t_coll_source::filename, fprintf(), t_cpu::i(), ioQQQ, t_coll_source::magic, nLevels_per_elec, open_data(), path, RateCoefTable, read_whole_line(), and ReadCollisionRateTable().
Referenced by init().
void diatomics::H2_ContPoint | ( | void | ) |
set the ipCont struc element for the H2 molecule, called by ContCreatePointers
References ASSERT, TransitionList::begin(), DEBUG_ENTRY, ipFineCont(), ipLineEnergy(), label, lgEnabled, rad_end, and trans.
void diatomics::H2_Cooling | ( | void | ) |
H2_cooling evaluate cooling and heating due to H2 molecule
References ASSERT, qList::begin(), multi_arr< T, d, ALLOC, lgBC >::begin(), qList::Boltzmann(), collider_density, CollRateCoeff, conv, t_thermal::ctot, DEBUG_ENTRY, qList::end(), energy(), fnzone, fprintf(), H2_disske, H2_dissprob, H2_renorm_chemistry, HeatDexc, HeatDexc_deriv, HeatDiss, ioQQQ, lgEnabled, t_conv::lgSearch, n_trace_full, N_X_COLLIDER, nCall_this_iteration, nLevels_per_elec, nTRACE, phycon, POW2, PRT_POPS, safe_div(), states, t_phycon::te, t_phycon::te_wn, and thermal.
Referenced by H2_LevelPops().
double diatomics::H2_DR | ( | void | ) |
H2_DR choose next zone thickness based on H2 big molecule
References BIGFLOAT.
double diatomics::H2_InterEnergy | ( | void | ) |
internal energy of H2 called in PresTotCurrent
double diatomics::H2_itrzn | ( | void | ) |
H2_itrzn - average number of H2 pop evaluations per zone
References lgEnabled, nH2_pops, and nH2_zone.
Referenced by PrtFinal().
void diatomics::H2_Level_low_matrix | ( | realnum | abundance | ) |
References multi_arr< T, d, ALLOC, lgBC >::alloc(), ASSERT, AulDest, AulEscp, AulPump, TransitionList::begin(), cdEXIT, CollRate_levn, create, DEBUG_ENTRY, dense_total, depart, destroy, dsexp(), energy(), excit, EXIT_FAILURE, fixit, fprintf(), H2_lgOrtho, H2_X_coll_rate, H2_X_rate_from_elec_excited, H2_X_rate_to_elec_excited, H2_X_sink, H2_X_source, ioQQQ, ipRot_H2_energy_sort, ipTransitionSort, ipVib_H2_energy_sort, iteration, iterationAsEval, levelAsEval, lgFirst, lgH2_radiative, lgImgMatrix, lgPrtMatrix, n_trace_full, n_trace_matrix, ndim_allocated, nLevels_per_elec, nTRACE, nXLevelsMatrix, nzone, nzoneAsEval, phycon, pops, rate_grain_J1_to_J0, rate_grain_op_conserve, stat_levn, states, t_phycon::te, and trans.
Referenced by H2_LevelPops().
void diatomics::H2_LevelPops | ( | bool & | lgPopsConverged, |
double & | old_value, | ||
double & | new_value | ||
) |
do level populations for H2, called by iso_solve
References ASSERT, Average_collH2_dissoc_g, Average_collH2_dissoc_s, Average_collH_dissoc_g, Average_collH_dissoc_s, average_energy_g, average_energy_s, qList::begin(), TransitionList::begin(), multi_arr< T, d, ALLOC, lgBC >::begin(), CalcPhotoionizationRate(), t_rfield::ConInterOut, conv, t_thermal::ctot, DEBUG_ENTRY, dense, dense_total, t_dense::eden, t_conv::EdenErrorAllowed, qList::end(), multi_arr< T, d, ALLOC, lgBC >::end(), ENERGY_H2_STAR, exp10(), fixit, t_rfield::flux, fnzone, fp_equal(), fp_equal_tol(), fprintf(), FRAC, frac_matrix, gs_rate(), h2, H2_Calc_Average_Rates(), H2_coll_dissoc_rate_coef, H2_coll_dissoc_rate_coef_H2, H2_CollidRateEvalAll(), H2_Cooling(), H2_den_g, H2_den_s, H2_DISS_ALLISON_DALGARNO, H2_DissocEnergies, t_hmi::H2_frac_abund_set, H2_Level_low_matrix(), H2_lgOrtho, H2_old_populations, H2_populations_LTE, H2_rad_rate_in, H2_rad_rate_out, t_hmi::H2_rate_destroy, H2_renorm_chemistry, H2_Solomon_rate(), H2_to_H_limit, H2_X_coll_rate_evaluate(), H2_X_rate_from_elec_excited, H2_X_rate_to_elec_excited, H2_X_sink_and_source(), H2_zero_pops_too_low(), hd, HeatChange, HeatChangeOld, t_conv::HeatCoolRelErrorAllowed, HeatDexc, HeatDexc_old, hmi, t_thermal::htot, molecule::index, t_conv::IonizErrorAllowed, ioQQQ, ipElec_H2_energy_sort, ipEnergySort, ipoint(), ipRot_H2_energy_sort, ipVib_H2_energy_sort, label, t_conv::lgConvPops, lgEnabled, lgEvaluated, t_rfield::lgInducProcess, t_hmi::lgLeiden_Keep_ipMH2s, lgLTE, t_conv::lgSearch, t_thermal::lgTemperatureConstant, LIM_H2_POP_LOOP, loop_h2_oscil, MAX2, mole, mole_H2_form(), mole_H2_LTE(), mole_update_species_cache(), N_ELEC, n_trace_final, n_trace_full, n_trace_iterations, nCall_this_iteration, nCall_this_zone, nH2_pops, nH2_zone, nLevels_per_elec, t_conv::nTotalIoniz, nTRACE, t_trace::nTrConvg, nXLevelsMatrix, nzone, nzone_nlevel_set, nzoneEval, ortho_density, ortho_density_f, ortho_para_current, ortho_para_old, ortho_para_older, t_rfield::outlin, t_rfield::outlin_noplot, para_density, para_density_f, photodissoc_BigH2_H2g, photodissoc_BigH2_H2s, phycon, pops_per_elec, pops_per_vib, PRT_POPS, rad_end, t_conv::register_(), rel_pop_LTE_g, rel_pop_LTE_s, rfield, safe_div(), SDIV(), set_xIntensity(), sexp(), SMALLFLOAT, Solomon_dissoc_rate_g, Solomon_dissoc_rate_s, SolveExcitedElectronicLevels(), SolveSomeGroundElectronicLevels(), sp, t_mole_local::species, states, t_phycon::te, t_phycon::te32, t_phycon::te_wn, TeUsedColl, thermal, TorF(), TotalInsanity(), trace, trans, and multi_arr< T, d, ALLOC, lgBC >::zero().
void diatomics::H2_LinesAdd | ( | void | ) |
add in explicit lines from the large H2 molecule, called by lines_molecules
References TransitionList::begin(), DEBUG_ENTRY, t_radius::dVeffAper, H2_SaveLine, t_LineSave::ipass, label, lgEnabled, LineSave, nElecLevelOutput, PutLine(), rad_end, radius, and trans.
void diatomics::H2_LineZero | ( | void | ) |
initialize optical depths in H2, called from RT_tau_init
References TransitionList::begin(), DEBUG_ENTRY, lgEnabled, rad_end, and trans.
void diatomics::H2_ParseSave | ( | Parser & | p, |
ostringstream & | chHeader | ||
) |
H2_ParseSave parse the save h2 command
References cdEXIT, chH2ColliderLabels, t_save::chSave, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), Parser::getNumberDefault(), Parser::getNumberDefaultNegImplLog(), ioQQQ, N_X_COLLIDER, nElecLevelOutput, Parser::nMatch(), t_save::nsave, t_save::punarg, save, sncatf(), thresh_punline_h2, and t_save::whichDiatomToPrint.
Referenced by ParseSave().
void diatomics::H2_Prt_column_density | ( | FILE * | ioMEAN | ) |
H2_Prt_column_density print H2 info into zone results, called from prtzone for each printed zone
*ioMEAN | this is stream used for io, is stdout when called by final, is save unit when save output generated |
References DEBUG_ENTRY, fprintf(), H2_X_colden, lgEnabled, nCall_this_zone, ortho_colden, para_colden, and SDIV().
Referenced by PrtColumns().
void diatomics::H2_Prt_Zone | ( | void | ) |
H2_Prt_Zone print H2 info into zone results, called from prtzone for each printed zone
References DEBUG_ENTRY, dense_total, fprintf(), ioQQQ, ipEnergySort, label, lgEnabled, nCall_this_zone, ortho_density, para_density, pops_per_vib, PrintEfmt, SDIV(), and states.
void diatomics::H2_PrtDepartCoef | ( | void | ) |
References DEBUG_ENTRY, depart, fprintf(), ioQQQ, ipEnergySort, Jlowest, label, lgEnabled, n_elec_states, nCall_this_zone, nRot_hi, and nVib_hi.
void diatomics::H2_Punch_line_data | ( | FILE * | ioPUN, |
bool | lgDoAll | ||
) |
save H2 line data
ioPUN | io unit for save |
lgDoAll | save all levels if true, only subset if false |
References TransitionList::begin(), cdEXIT, DEBUG_ENTRY, TransitionList::end(), EXIT_FAILURE, fprintf(), ioQQQ, lgEnabled, Save1LineData(), and trans.
void diatomics::H2_PunchDo | ( | FILE * | io, |
char | chJOB[], | ||
const char | chTime[], | ||
long int | ipPun | ||
) |
save some properties of the large H2 molecule
io | |
chJOB[] | |
chTime[] | |
ipPun |
References Abund(), ASSERT, EmissionProxy::Aul(), average_energy_g, average_energy_s, TransitionList::begin(), multi_arr< T, d, ALLOC, lgBC >::begin(), chMolBranch(), colden, t_colden::coldenH2_ov_vel, CollRateCoeff, column(), t_radius::Conv2PrtInten, t_secondaries::csupra, t_thermal::ctot, DEBUG_ENTRY, dense, dense_total, t_radius::depth_mid_zone, TransitionList::Emis(), energy(), t_rfield::extin_mag_V_point, findspecieslocal(), fprintf(), frac(), t_dense::gas_phase, gv, H2_col_rate_in, H2_col_rate_out, H2_den_g, H2_den_s, H2_lgOrtho, H2_old_populations, H2_populations_LTE, H2_rad_rate_in, H2_rad_rate_out, t_hmi::H2_rate_destroy, H2_renorm_chemistry, H2_SaveLine, t_hmi::H2_Solomon_dissoc_rate_BD96_H2g, t_hmi::H2_Solomon_dissoc_rate_BD96_H2s, t_hmi::H2_Solomon_dissoc_rate_ELWERT_H2g, t_hmi::H2_Solomon_dissoc_rate_TH85_H2g, t_hmi::H2_Solomon_dissoc_rate_TH85_H2s, H2_X_colden, H2_X_colden_LTE, HeatDexc, HeatDiss, t_hmi::HeatH2Dexc_TH85, t_hmi::HeatH2Dish_TH85, hmi, t_thermal::htot, hyperfine, molecule::index, ipEnergySort, ipHYDROGEN, t_LineSave::ipNormWavL, ipRot_H2_energy_sort, ipTransitionSort, ipVib_H2_energy_sort, Jlowest, label, lgEnabled, lgEvaluated, lgH2_radiative, t_LineSave::lines, LineSave, LTE_Cooling_per_H2(), MAX2, MIN2, mole, N_X_COLLIDER, nCall_this_zone, nElecLevelOutput, nLevels_per_elec, nRot_hi, t_LineSave::nsum, nVib_hi, ortho_colden, ortho_density, para_colden, para_density, phycon, EmissionProxy::Ploss(), pops_per_elec, prt_wl(), t_save::punarg, rad_end, radius, GrainVar::rate_h2_form_grains_used_total, rfield, save, t_LineSave::ScaleNormLine, SDIV(), secondaries, SMALLFLOAT, Solomon_dissoc_rate_g, Solomon_dissoc_rate_s, Solomon_elec_decay_g, Solomon_elec_decay_s, sp, sp_star, t_mole_local::species, spsort(), states, t_phycon::te, thermal, thresh_punline_h2, trans, t_hyperfine::Tspin21cm, t_hmi::UV_Cont_rel2_Draine_DB96_depth, t_hmi::UV_Cont_rel2_Habing_spec_depth, and t_hmi::UV_Cont_rel2_Habing_TH85_depth.
Referenced by SaveDo().
void diatomics::H2_PunchLineStuff | ( | FILE * | io, |
realnum | xLimit, | ||
long | index | ||
) |
include H2 lines in punched optical depths, etc, called from SaveLineStuff
io | |
xLimit | |
index |
References t_dense::AtomicWeight, TransitionList::begin(), DEBUG_ENTRY, dense, TransitionList::end(), GetDopplerWidth(), ipHYDROGEN, lgEnabled, Save1Line(), and trans.
Referenced by SaveLineStuff().
double diatomics::H2_RadPress | ( | void | ) |
rad pre due to h2 lines called in PresTotCurrent
References ASSERT, TransitionList::begin(), DEBUG_ENTRY, fprintf(), GetDopplerWidth(), ioQQQ, lgEnabled, mass_amu, n_trace_full, nCall_this_zone, nTRACE, PressureRadiationLine(), rad_end, SMALLFLOAT, and trans.
void diatomics::H2_Read_hminus_distribution | ( | void | ) |
H2_Read_hminus_distribution read distribution function for H2 population following formation from H minus
References ASSERT, BadRead(), cdEXIT, t_cpu_i::chDirSeparator(), cpu, DEBUG_ENTRY, EXIT_FAILURE, exp10(), FFmtRead(), fprintf(), H2_X_hminus_formation_distribution, t_cpu::i(), ioQQQ, Jlowest, nRot_hi, nTE_HMINUS, nVib_hi, open_data(), path, and read_whole_line().
Referenced by init().
void diatomics::H2_Read_LTE_cooling_per_H2 | ( | ) |
References cdEXIT, t_cpu_i::chDirSeparator(), cpu, DEBUG_ENTRY, EXIT_SUCCESS, fprintf(), t_cpu::i(), LTE_cool, LTE_Temp, open_data(), path, read_whole_line(), and TotalInsanity().
Referenced by InitSimPostparse().
void diatomics::H2_ReadDissocEnergies | ( | void | ) |
References ASSERT, cdEXIT, t_cpu_i::chDirSeparator(), cpu, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), fprintf(), H2_DissocEnergies, t_cpu::i(), ioQQQ, N_ELEC, open_data(), path, and read_whole_line().
Referenced by init().
void diatomics::H2_ReadDissprob | ( | long int | nelec | ) |
read dissociation probabilities and kinetic energies for all electronic levels
nelec |
References ASSERT, cdEXIT, t_cpu_i::chDirSeparator(), cpu, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), fprintf(), H2_disske, H2_dissprob, t_cpu::i(), ioQQQ, Jlowest, N_ELEC, nRot_hi, nVib_hi, open_data(), path, and read_whole_line().
Referenced by init().
void diatomics::H2_ReadEnergies | ( | ) |
References qList::addone(), ASSERT, qList::begin(), DEBUG_ENTRY, qList::end(), qList::init(), Jlowest, molecule::label, levels(), MAX2, n_elec_states, nLevels_per_elec, nRot_hi, nVib_hi, qList::size(), sp, and states.
Referenced by init().
void diatomics::H2_ReadEnergies | ( | long int | nelec, |
vector< int > & | n, | ||
vector< int > & | v, | ||
vector< int > & | J, | ||
vector< double > & | eWN | ||
) |
References ASSERT, cdEXIT, t_cpu_i::chDirSeparator(), cpu, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), fprintf(), t_cpu::i(), ioQQQ, Jlowest, MAX2, MIN2, N_ELEC, nLevels_per_elec, nVib_hi, open_data(), path, and read_whole_line().
void diatomics::H2_ReadTransprob | ( | long int | nelec, |
TransitionList & | trans | ||
) |
read transition probabilities
nelec |
References ASSERT, cdEXIT, t_cpu_i::chDirSeparator(), cpu, DEBUG_ENTRY, TransitionList::Emis(), EXIT_FAILURE, FFmtRead(), fprintf(), t_cpu::i(), ioQQQ, ipEnergySort, ipTransitionSort, Parser::lgEOL(), lgH2_radiative, N_ELEC, nRot_hi, nVib_hi, open_data(), path, read_whole_line(), ShowMe(), and states.
Referenced by init().
void diatomics::H2_Reset | ( | void | ) |
H2_Reset called to reset variables that are needed after an iteration
References DEBUG_ENTRY, fnzone, fprintf(), H2_SaveLine, ioQQQ, iteration, iterationAsEval, label, lgEvaluated, lgPrtMatrix, t_prt::matrix, n_elec_states, nCall_this_iteration, nCall_this_zone, nElecLevelOutput, nH2_pops, nH2_zone, nTRACE, nzone_nlevel_set, nzoneAsEval, prt, renorm_max, renorm_min, t_prt_matrix::species, TeUsedBoltz, TeUsedColl, and multi_arr< T, d, ALLOC, lgBC >::zero().
void diatomics::H2_RT_diffuse | ( | void | ) |
do emission from H2 - called from RT_diffuse
References TransitionList::begin(), DEBUG_ENTRY, lgEnabled, nCall_this_zone, rad_end, and trans.
void diatomics::H2_RT_OTS | ( | void | ) |
H2_RT_OTS - add H2 ots fields
References TransitionList::begin(), DEBUG_ENTRY, lgEnabled, nCall_this_zone, rad_end, RT_OTS_AddLine(), and trans.
void diatomics::H2_RT_tau_inc | ( | void | ) |
increment optical depth for the H2 molecule, called from RT_tau_inc
References ASSERT, TransitionList::begin(), DEBUG_ENTRY, GetDopplerWidth(), H2_renorm_chemistry, lgEnabled, mass_amu, MAX2, MIN2, nCall_this_iteration, nzone, rad_end, renorm_max, renorm_min, RT_line_one_tauinc(), and trans.
void diatomics::H2_RT_tau_reset | ( | void | ) |
the large H2 molecule, called from RT_tau_reset
References TransitionList::begin(), DEBUG_ENTRY, lgEnabled, rad_end, RT_line_one_tau_reset(), and trans.
void diatomics::H2_RTMake | ( | linefunc | line_one | ) |
do RT for H2 lines
References TransitionList::begin(), DEBUG_ENTRY, GetDopplerWidth(), lgEnabled, mass_amu, rad_end, and trans.
void diatomics::H2_Solomon_rate | ( | void | ) |
H2_Solomon_rate find rates between H2s and H2g and other levels, for use in the chemistry
References TransitionList::begin(), DEBUG_ENTRY, dense_total, energy(), ENERGY_H2_STAR, GetExcitedElecDensity(), H2_den_g, H2_den_s, H2_dissprob, H2_rad_rate_out, hmi, t_hmi::lgLeiden_Keep_ipMH2s, rad_end, SDIV(), SMALLFLOAT, Solomon_dissoc_rate_g, Solomon_dissoc_rate_s, Solomon_elec_decay_g, Solomon_elec_decay_s, and trans.
Referenced by H2_LevelPops().
void diatomics::H2_X_coll_rate_evaluate | ( | void | ) |
References ASSERT, multi_arr< T, d, ALLOC, lgBC >::begin(), collider_density, CollRateCoeff, DEBUG_ENTRY, molezone::den, dense, findspecieslocal(), fp_equal(), fprintf(), h2, t_hmi::H2_total_f, H2_X_coll_rate, hmi, ioQQQ, ipHELIUM, ipHYDROGEN, lgColl_deexec_Calc, n_trace_full, N_X_COLLIDER, nLevels_per_elec, nTRACE, ortho_density_f, para_density_f, t_dense::xIonDense, and multi_arr< T, d, ALLOC, lgBC >::zero().
Referenced by H2_LevelPops().
void diatomics::H2_X_sink_and_source | ( | void | ) |
References ASSERT, collider_density, collider_density_total_not_H2, Cont_Dissoc_Rate, DEBUG_ENTRY, dense, dense_total, t_dense::eden, energy(), ENERGY_H2_STAR, fixit, t_rfield::flux_accum, H2_coll_dissoc_rate_coef, H2_coll_dissoc_rate_coef_H2, H2_den_s, H2_DISS_ALLISON_DALGARNO, H2_ipPhoto, H2_populations_LTE, t_hmi::H2_total, H2_X_formation, H2_X_Hmin_back, H2_X_sink, H2_X_source, hmi, ipRot_H2_energy_sort, ipVib_H2_energy_sort, lgColl_deexec_Calc, t_hmi::lgLeiden_Keep_ipMH2s, t_mole_global::lgStancil, mole, mole_global, nLevels_per_elec, rfield, SDIV(), t_mole_local::sink_rate_tot(), t_mole_local::source_rate_tot(), sp, sp_star, spon_diss_tot, and states.
Referenced by H2_LevelPops().
void diatomics::H2_zero_pops_too_low | ( | void | ) |
H2_zero_pops_too_low - zero out some H2 variables if we decide not to compute the full sim, called by H2_LevelPops
References qList::begin(), TransitionList::begin(), DEBUG_ENTRY, qList::end(), H2_old_populations, H2_populations_LTE, HeatDexc, HeatDexc_deriv, HeatDiss, N_ELEC, photodissoc_BigH2_H2g, photodissoc_BigH2_H2s, pops_per_elec, pops_per_vib, rad_end, Solomon_dissoc_rate_g, Solomon_dissoc_rate_s, states, trans, and multi_arr< T, d, ALLOC, lgBC >::zero().
Referenced by H2_LevelPops().
void diatomics::init | ( | void | ) |
create H2 molecules, called by ContCreatePointers
References abscf(), multi_arr< T, d, ALLOC, lgBC >::alloc(), AllTransitions, ASSERT, qList::begin(), TransitionList::begin(), BIGFLOAT, cdEXIT, t_hmi::chGrainFormPump, multi_arr< T, d, ALLOC, lgBC >::clone(), CollRateCoeff, CollRateErrFac, compareEmis(), DEBUG_ENER, DEBUG_ENTRY, EH2_eval(), TransitionList::Emis(), qList::end(), TransitionList::end(), energy(), ENERGY_H2_STAR, energy_off, TransitionProxy::EnergyWN(), EXIT_FAILURE, EXIT_SUCCESS, exp10f(), findspecies(), fixit, fprintf(), GetGF(), h2, H2_col_rate_in, H2_col_rate_out, H2_coll_dissoc_rate_coef, H2_coll_dissoc_rate_coef_H2, H2_CollidRateRead(), H2_disske, H2_DissocEnergies, H2_dissprob, H2_ipPhoto, H2_lgOrtho, H2_old_populations, H2_populations_LTE, H2_rad_rate_in, H2_rad_rate_out, H2_Read_hminus_distribution(), H2_ReadDissocEnergies(), H2_ReadDissprob(), H2_ReadEnergies(), H2_ReadTransprob(), H2_SaveLine, H2_TOP, H2_vib_dist(), H2_X_colden, H2_X_colden_LTE, H2_X_coll_rate, H2_X_formation, H2_X_grain_formation_distribution, H2_X_Hmin_back, H2_X_hminus_formation_distribution, H2_X_rate_from_elec_excited, H2_X_rate_to_elec_excited, H2_X_sink, H2_X_source, hd, hmi, molecule::index, ioQQQ, ipCRDW, ipElec_H2_energy_sort, ipEnergySort, ipH2, ipH2p, ipH_LIKE, ipHYDROGEN, ipNCOLLIDER, ipoint(), ipRot_H2_energy_sort, ipTransitionSort, ipVib_H2_energy_sort, is_odd(), iso_sp, Jlowest, label, lgEnabled, lgH2_NOISE, lgH2_radiative, t_hmi::lgLeiden_Keep_ipMH2s, lgRadiative(), lgREAD_DATA, t_mole_global::lgStancil, mass_amu, mole, mole_global, molecule::mole_mass, N_ELEC, n_elec_states, N_X_COLLIDER, nEner_H2_ground, nLevels_per_elec, t_ran::normal(), nRot_hi, nTE_HMINUS, null_mole, nVib_hi, nXLevelsMatrix, opac, pops_per_vib, POW2, rad_end, ran, RateCoefTable, Read_Mol_Diss_cross_sections(), RefIndex(), multi_arr< T, d, ALLOC, lgBC >::reserve(), qList::resize(), TransitionList::resize(), sexp(), shortlabel, qList::size(), TransitionList::size(), SMALLFLOAT, sp, sp_star, t_mole_local::species, states, t_opac::taumin, TotalInsanity(), trans, t_iso_sp::trans(), xMeanNoise, xSTDNoise, and multi_arr< T, d, ALLOC, lgBC >::zero().
double diatomics::interpolate_LTE_Cooling | ( | double | Temp | ) |
References DEBUG_ENTRY, LTE_cool, and LTE_Temp.
Referenced by CoolH2_GA08().
double diatomics::LTE_Cooling_per_H2 | ( | ) |
LTE_Cooling_per_H2 compute exact cooling at LTE, currently for transitions within the X band only.
References TransitionList::begin(), DEBUG_ENTRY, TransitionList::end(), H2_populations_LTE, iterations, t_iterations::lgLastIt, mole_H2_LTE(), and trans.
Referenced by H2_PunchDo().
void diatomics::Mol_Photo_Diss_Rates | ( | void | ) |
References ASSERT, Cont_Dissoc_Rate, Cont_Dissoc_Rate_H2g, Cont_Dissoc_Rate_H2s, DEBUG_ENTRY, Diss_Trans, ENERGY_H2_STAR, GetDissociationRateCoeff(), H2_den_g, H2_den_s, hmi, ipEnergySort, lgEnabled, t_hmi::lgLeiden_Keep_ipMH2s, t_mole_global::lgStancil, mole_global, SDIV(), states, and multi_arr< T, d, ALLOC, lgBC >::zero().
Referenced by Cont_Diss_Heat_Rate().
double diatomics::MolDissocOpacity | ( | const diss_tran & | tran, |
const double & | Mol_Ene | ||
) |
References cross_section(), DEBUG_ENTRY, diss_tran::initial, ipEnergySort, diss_level::j, MolDissocCrossSection(), diss_level::n, states, and diss_level::v.
void diatomics::mole_H2_form | ( | void | ) |
mole_H2_form find state specific rates grains and H- form H2
References t_phycon::alogte, ASSERT, GrainVar::bin, DEBUG_ENTRY, molezone::den, dense, deut, t_dense::eden, energy(), ENERGY_H2_STAR, t_mole_local::findrk(), findspecieslocal(), fixit, fp_equal_tol(), t_deuterium::gas_phase, t_dense::gas_phase, gv, h2, t_hmi::H2_forms_grains, t_hmi::H2_forms_hminus, H2_logte_hminus, H2_X_formation, H2_X_grain_formation_distribution, H2_X_Hmin_back, H2_X_hminus_formation_distribution, t_hmi::H2star_forms_grains, t_hmi::H2star_forms_hminus, hd, hmi, ipEnergySort, ipH2, ipHYDROGEN, Jlowest, t_hmi::lgLeiden_Keep_ipMH2s, mole, nRot_hi, nTE_HMINUS, nVib_hi, phycon, GrainVar::rate_h2_form_grains_used_total, states, GrainVar::which_H2distr, and t_dense::xIonDense.
Referenced by H2_LevelPops().
void diatomics::mole_H2_LTE | ( | void | ) |
mole_H2_LTE sets Boltzmann factors and LTE unit population of large H2 molecular
References ASSERT, qList::begin(), DEBUG_ENTRY, dsexp(), qList::end(), fp_equal(), fp_equal_tol(), fprintf(), H2_populations_LTE, ioQQQ, n_trace_full, nTRACE, phycon, states, t_phycon::te, and TeUsedBoltz.
Referenced by H2_LevelPops(), and LTE_Cooling_per_H2().
long diatomics::OpacityCreate | ( | vector< double > & | stack | ) |
References t_mesh::anu(), ASSERT, DEBUG_ENTRY, ip_photo_opac_thresh, t_rfield::nflux_with_check, NULL, photoion_opacity_fun, and rfield.
void diatomics::Read_Mol_Diss_cross_sections | ( | void | ) |
References multi_arr< T, d, ALLOC, lgBC >::alloc(), ASSERT, t_cpu_i::chDirSeparator(), Cont_Dissoc_Rate, cpu, DEBUG_ENTRY, Diss_Trans, energy(), t_cpu::i(), lgEnabled, n_elec_states, nRot_hi, nVib_hi, open_data(), read_whole_line(), and multi_arr< T, d, ALLOC, lgBC >::reserve().
Referenced by init().
void diatomics::set_numLevelsMatrix | ( | long | numLevels | ) |
References lgREAD_DATA, and nXLevelsMatrix.
Referenced by ParseDatabaseH2().
void diatomics::SolveExcitedElectronicLevels | ( | void | ) |
References multi_arr< T, d, ALLOC, lgBC >::alloc(), ASSERT, qList::begin(), TransitionList::begin(), multi_arr< T, d, ALLOC, lgBC >::begin(), multi_arr< T, d, ALLOC, lgBC >::clone(), DEBUG_ENTRY, dense_total, qList::end(), multi_arr< T, d, ALLOC, lgBC >::end(), fixit, fprintf(), H2_den_s, H2_dissprob, H2_lgOrtho, H2_old_populations, H2_rad_rate_in, H2_rad_rate_out, H2_X_rate_from_elec_excited, H2_X_rate_to_elec_excited, hmi, ioQQQ, t_hmi::lgLeidenCRHack, n_elec_states, n_trace_full, nTRACE, pops_per_elec, pops_per_vib, rad_end, SDIV(), secondaries, spon_diss_tot, states, trans, t_secondaries::x12tot, and multi_arr< T, d, ALLOC, lgBC >::zero().
Referenced by H2_LevelPops().
void diatomics::SolveSomeGroundElectronicLevels | ( | void | ) |
References ASSERT, TransitionList::begin(), DEBUG_ENTRY, dsexp(), energy(), fp_equal(), H2_col_rate_in, H2_col_rate_out, H2_lgOrtho, H2_old_populations, H2_rad_rate_in, H2_rad_rate_out, H2_X_coll_rate, H2_X_sink, H2_X_source, hmi, ipElec_H2_energy_sort, ipRot_H2_energy_sort, ipTransitionSort, ipVib_H2_energy_sort, t_hmi::lgLeidenCRHack, nLevels_per_elec, nXLevelsMatrix, phycon, rate_grain_J1_to_J0, rate_grain_op_conserve, SDIV(), secondaries, states, t_phycon::te, trans, t_secondaries::x12tot, and multi_arr< T, d, ALLOC, lgBC >::zero().
Referenced by H2_LevelPops().
|
private |
Referenced by H2_Level_low_matrix().
|
private |
Referenced by H2_Level_low_matrix().
|
private |
Referenced by H2_Level_low_matrix().
double diatomics::Average_A |
Average Einstein A for H2s to H2g transition
Referenced by diatomics(), and H2_Calc_Average_Rates().
double diatomics::Average_collH2_deexcit |
Average noreactive collisional rate for H2s to H2g transition
Referenced by diatomics(), and H2_Calc_Average_Rates().
double diatomics::Average_collH2_dissoc_g |
Referenced by diatomics(), and H2_LevelPops().
double diatomics::Average_collH2_dissoc_s |
Referenced by diatomics(), and H2_LevelPops().
double diatomics::Average_collH2_excit |
Referenced by diatomics(), and H2_Calc_Average_Rates().
double diatomics::Average_collH_deexcit |
Referenced by diatomics(), and H2_Calc_Average_Rates().
double diatomics::Average_collH_dissoc_g |
Average collisional dissociation of H2g and H2s by H and H2
Referenced by diatomics(), and H2_LevelPops().
double diatomics::Average_collH_dissoc_s |
Referenced by diatomics(), and H2_LevelPops().
double diatomics::Average_collH_excit |
Referenced by diatomics(), and H2_Calc_Average_Rates().
double diatomics::average_energy_g |
average energy level of H2g and H2s
Referenced by H2_LevelPops(), and H2_PunchDo().
double diatomics::average_energy_s |
Referenced by H2_LevelPops(), and H2_PunchDo().
|
private |
Referenced by diatomics(), and H2_ParseSave().
t_coll_source diatomics::coll_source[N_X_COLLIDER] |
Referenced by diatoms_init(), H2_CollidRateRead(), and ParseDatabaseH2().
|
private |
Referenced by H2_Level_low_matrix().
Referenced by H2_Calc_Average_Rates(), H2_CollidRateEvalAll(), H2_Cooling(), H2_PunchDo(), H2_X_coll_rate_evaluate(), and init().
Referenced by H2_CollidRateEvalOne(), and init().
multi_arr<double,3> diatomics::Cont_Dissoc_Rate |
Referenced by H2_X_sink_and_source(), Mol_Photo_Diss_Rates(), and Read_Mol_Diss_cross_sections().
double diatomics::Cont_Dissoc_Rate_H2g |
Referenced by Mol_Photo_Diss_Rates(), and mole_h_reactions().
double diatomics::Cont_Dissoc_Rate_H2s |
H2 continuum photodissociation rate coefficient (not scaled by density) from P.C. Stancil data
Referenced by Mol_Photo_Diss_Rates(), and mole_h_reactions().
|
private |
Referenced by H2_Level_low_matrix().
|
private |
|
private |
Referenced by H2_Level_low_matrix(), and H2_PrtDepartCoef().
|
private |
Referenced by H2_Level_low_matrix().
vector< diss_tran > diatomics::Diss_Trans |
Referenced by Cont_Diss_Heat_Rate(), Mol_Photo_Diss_Rates(), and Read_Mol_Diss_cross_sections().
const double diatomics::ENERGY_H2_STAR |
this is the energy (in cm-1), above which levels are considered to be H2*, and below which they are H2
Referenced by H2_Calc_Average_Rates(), H2_LevelPops(), H2_Solomon_rate(), H2_X_sink_and_source(), init(), t_mole_global::make_species(), Mol_Photo_Diss_Rates(), and mole_H2_form().
|
private |
Referenced by H2_Level_low_matrix().
double diatomics::frac_matrix |
Referenced by H2_LevelPops().
|
private |
Referenced by H2_PunchDo(), init(), and SolveSomeGroundElectronicLevels().
|
private |
Referenced by H2_PunchDo(), init(), and SolveSomeGroundElectronicLevels().
save rate coef (cm3 s-1) for collisional dissociation
Referenced by H2_CollidRateEvalAll(), H2_LevelPops(), H2_X_sink_and_source(), and init().
save rate coef (cm3 s-1) for collisional dissociation with H2g and H2s
Referenced by H2_CollidRateEvalAll(), H2_LevelPops(), H2_X_sink_and_source(), and init().
|
private |
Referenced by gs_rate(), H2_LevelPops(), H2_PunchDo(), H2_Solomon_rate(), and Mol_Photo_Diss_Rates().
|
private |
density of H2s and H2g during current iteration
Referenced by H2_LevelPops(), H2_PunchDo(), H2_Solomon_rate(), H2_X_sink_and_source(), Mol_Photo_Diss_Rates(), and SolveExcitedElectronicLevels().
Referenced by H2_Cooling(), H2_ReadDissprob(), and init().
|
private |
Referenced by H2_CollidRateEvalAll(), H2_LevelPops(), H2_ReadDissocEnergies(), and init().
these will mostly become xxx[elec][vib][rot]
Referenced by gs_rate(), H2_Cooling(), H2_ReadDissprob(), H2_Solomon_rate(), init(), and SolveExcitedElectronicLevels().
|
private |
Referenced by H2_X_sink_and_source(), and init().
|
private |
this is true if state is para, false if ortho
Referenced by getLine(), H2_Calc_Average_Rates(), H2_CollidRateEvalOne(), H2_Level_low_matrix(), H2_LevelPops(), H2_PunchDo(), init(), SolveExcitedElectronicLevels(), and SolveSomeGroundElectronicLevels().
|
private |
these will mostly become xxx[elec][vib][rot]
Referenced by H2_LevelPops(), H2_PunchDo(), H2_zero_pops_too_low(), init(), SolveExcitedElectronicLevels(), and SolveSomeGroundElectronicLevels().
|
private |
Referenced by H2_Colden(), H2_LevelPops(), H2_PunchDo(), H2_X_sink_and_source(), H2_zero_pops_too_low(), init(), LTE_Cooling_per_H2(), and mole_H2_LTE().
|
private |
Referenced by H2_LevelPops(), H2_PunchDo(), init(), SolveExcitedElectronicLevels(), and SolveSomeGroundElectronicLevels().
|
private |
Referenced by gs_rate(), H2_LevelPops(), H2_PunchDo(), H2_Solomon_rate(), init(), SolveExcitedElectronicLevels(), and SolveSomeGroundElectronicLevels().
|
private |
the renorm factor for this H2 to the chemistry - should be unity
Referenced by H2_Cooling(), H2_LevelPops(), H2_PunchDo(), and H2_RT_tau_inc().
this is array of accumulated line intensities, used for save he lines command
Referenced by getLine(), H2_LinesAdd(), H2_PunchDo(), H2_Reset(), and init().
double diatomics::H2_to_H_limit |
limit to the ratio H2/Htot - if ratio is below this, large atom is not called
Referenced by diatomics(), H2_LevelPops(), and ParseDatabaseH2().
column density within X only vib and rot
Referenced by GetXColden(), H2_Colden(), H2_Prt_column_density(), H2_PunchDo(), and init().
LTE column density within X only vib and rot
Referenced by H2_Colden(), H2_PunchDo(), and init().
rate [s-1] for collisions from ihi to ilo
Referenced by H2_Level_low_matrix(), H2_X_coll_rate_evaluate(), init(), and SolveSomeGroundElectronicLevels().
formation into specific states within X only vib and rot, includes both H- and H2 routes
Referenced by H2_X_sink_and_source(), init(), and mole_H2_form().
distribution function for formation on grain surfaces, vib, rot, last dim is grain type
Referenced by init(), and mole_H2_form().
backwards destruction of v,J levels due to the H- route
Referenced by H2_X_sink_and_source(), init(), and mole_H2_form().
vib, rot, last dim is temperature
Referenced by H2_Read_hminus_distribution(), init(), and mole_H2_form().
|
private |
rates [cm-3 s-1] from elec excited states into X only vib and rot
Referenced by H2_Level_low_matrix(), H2_LevelPops(), init(), and SolveExcitedElectronicLevels().
|
private |
rates [s-1] to elec excited states from X only vib and rot
Referenced by H2_Level_low_matrix(), H2_LevelPops(), init(), and SolveExcitedElectronicLevels().
|
private |
Referenced by H2_Level_low_matrix(), H2_X_sink_and_source(), init(), and SolveSomeGroundElectronicLevels().
|
private |
Referenced by H2_Level_low_matrix(), H2_X_sink_and_source(), init(), and SolveSomeGroundElectronicLevels().
double diatomics::HeatChange |
Referenced by diatomics(), and H2_LevelPops().
double diatomics::HeatChangeOld |
Referenced by diatomics(), and H2_LevelPops().
double diatomics::HeatDexc |
Referenced by CoolEvaluate(), diatomics(), H2_Cooling(), H2_LevelPops(), H2_PunchDo(), H2_zero_pops_too_low(), and radius_first().
double diatomics::HeatDexc_deriv |
Referenced by CoolEvaluate(), diatomics(), H2_Cooling(), and H2_zero_pops_too_low().
double diatomics::HeatDexc_old |
Referenced by diatomics(), and H2_LevelPops().
double diatomics::HeatDiss |
Referenced by CoolEvaluate(), diatomics(), H2_Cooling(), H2_PunchDo(), and H2_zero_pops_too_low().
long diatomics::ip_photo_opac_offset |
Referenced by CalcPhotoionizationRate(), and OpacityAddTotal().
long diatomics::ip_photo_opac_thresh |
index for threshold for photoionization
Referenced by CalcPhotoionizationRate(), OpacityAddTotal(), and OpacityCreate().
|
private |
Referenced by H2_LevelPops(), init(), and SolveSomeGroundElectronicLevels().
|
private |
|
private |
|
private |
Referenced by gs_rate(), H2_Calc_Average_Rates(), H2_Level_low_matrix(), H2_PunchDo(), H2_ReadTransprob(), init(), and SolveSomeGroundElectronicLevels().
|
private |
|
private |
Referenced by CalcPhotoionizationRate(), and diatomics().
|
private |
Referenced by diatomics(), H2_Level_low_matrix(), and H2_Reset().
|
private |
this gives the first rotational state for each electronic state - J=0 does not exist when Lambda = 1
Referenced by GetIndices(), gs_rate(), H2_PrtDepartCoef(), H2_PunchDo(), H2_Read_hminus_distribution(), H2_ReadDissprob(), H2_ReadEnergies(), init(), and mole_H2_form().
|
private |
Referenced by diatomics(), H2_CollidRateEvalAll(), H2_ContPoint(), H2_LevelPops(), H2_LinesAdd(), H2_Prt_Zone(), H2_PrtDepartCoef(), H2_PunchDo(), H2_Reset(), and init().
|
private |
Referenced by diatomics(), and H2_Level_low_matrix().
bool diatomics::lgColl_deexec_Calc |
this is option to turn off the calculated collision rates
Referenced by diatomics(), H2_CollidRateEvalOne(), H2_X_coll_rate_evaluate(), H2_X_sink_and_source(), and ParseDatabaseH2().
bool diatomics::lgColl_dissoc_coll |
this is option to turn off guesses of collisional dissociation rates
Referenced by diatomics(), H2_CollidRateEvalAll(), and ParseDatabaseH2().
bool diatomics::lgColl_gbar |
this is option to use estimates of the collision rates from g-bar approximations turn mole.lgColl_gbar on/off with atom h2 gbar on off
Referenced by diatomics(), H2_CollidRateEvalOne(), and ParseDatabaseH2().
bool diatomics::lgEnabled |
Referenced by cdH2_colden(), Cont_Diss_Heat_Rate(), CoolEvaluate(), diatomics(), frac_H2star_hminus(), H2_Accel(), H2_Colden(), H2_ContPoint(), H2_Cooling(), H2_itrzn(), H2_LevelPops(), H2_LinesAdd(), H2_LineZero(), H2_Prt_column_density(), H2_Prt_Zone(), H2_PrtDepartCoef(), H2_Punch_line_data(), H2_PunchDo(), H2_PunchLineStuff(), H2_RadPress(), H2_RT_diffuse(), H2_RT_OTS(), H2_RT_tau_inc(), H2_RT_tau_reset(), H2_RTMake(), init(), InitSimPostparse(), lines_molecules(), Mol_Photo_Diss_Rates(), mole_h_reactions(), ParseCommands(), ParseDatabaseH2(), radius_first(), Read_Mol_Diss_cross_sections(), save_line(), and SaveDo().
bool diatomics::lgEvaluated |
says whether model has ever been evaluated in this run - if it has not been then use TH85 physics for mole balance and cooling
Referenced by CoolEvaluate(), diatomics(), frac_H2star_hminus(), H2_LevelPops(), H2_PunchDo(), H2_Reset(), mole_h_reactions(), and radius_first().
|
private |
Referenced by diatomics(), and H2_Level_low_matrix().
bool diatomics::lgH2_grain_deexcitation |
Referenced by diatomics(), mole_h2_grain_form(), and ParseDatabaseH2().
bool diatomics::lgH2_He_ORNL |
Referenced by diatomics(), and ParseDatabaseH2().
bool diatomics::lgH2_NOISE |
put noise into collision rates
Referenced by diatomics(), H2_CollidRateEvalOne(), init(), and ParseDatabaseH2().
bool diatomics::lgH2_NOISECOSMIC |
noise for the CR collisions
Referenced by diatomics(), and ParseDatabaseH2().
bool diatomics::lgH2_ORH2_ORNL |
Referenced by diatomics(), and ParseDatabaseH2().
bool diatomics::lgH2_ortho_para_coll_on |
option to turn off ortho-para collisions, command SPECIES H2 COLLISIONS ORTHO PARA OFF
Referenced by diatomics(), H2_CollidRateEvalOne(), and ParseDatabaseH2().
bool diatomics::lgH2_PAH2_ORNL |
Referenced by diatomics(), and ParseDatabaseH2().
|
private |
fully defined array saying whether (true) or not (false) a radiative decay is defined by the standard emission line structure
Referenced by getLine(), gs_rate(), H2_Calc_Average_Rates(), H2_Level_low_matrix(), H2_PunchDo(), H2_ReadTransprob(), and init().
|
private |
create image for Matrix input to solver
Referenced by H2_Level_low_matrix().
bool diatomics::lgLTE |
flag to force LTE level populations, atom H2 LTE
Referenced by diatomics(), H2_LevelPops(), and ParseDatabaseH2().
|
private |
print Matrix input to solver
Referenced by H2_Level_low_matrix(), and H2_Reset().
bool diatomics::lgREAD_DATA |
flag saying whether molecular data have been read in yet
Referenced by diatomics(), init(), ParseDatabaseH2(), and set_numLevelsMatrix().
long int diatomics::loop_h2_oscil |
Referenced by diatomics(), and H2_LevelPops().
|
private |
Referenced by H2_Read_LTE_cooling_per_H2(), and interpolate_LTE_Cooling().
|
private |
Referenced by H2_Read_LTE_cooling_per_H2(), and interpolate_LTE_Cooling().
realnum diatomics::mass_amu |
Referenced by H2_RadPress(), H2_RT_tau_inc(), H2_RTMake(), and init().
long int diatomics::n_elec_states |
int diatomics::n_trace_final |
this sets how fine a trace we want for atom h2 trace
Referenced by diatomics(), H2_LevelPops(), and ParseDatabaseH2().
int diatomics::n_trace_full |
int diatomics::n_trace_iterations |
Referenced by diatomics(), H2_LevelPops(), and ParseDatabaseH2().
int diatomics::n_trace_matrix |
Referenced by diatomics(), H2_Level_low_matrix(), and ParseDatabaseH2().
|
private |
the number of times the H2 molecules has been called in this iteration. For the very first call we will use lte for the level populations, for later calls use the last solution
Referenced by H2_Cooling(), H2_LevelPops(), H2_Reset(), and H2_RT_tau_inc().
long int diatomics::nCall_this_zone |
Referenced by diatomics(), H2_LevelPops(), H2_Prt_column_density(), H2_Prt_Zone(), H2_PrtDepartCoef(), H2_PunchDo(), H2_RadPress(), H2_Reset(), H2_RT_diffuse(), and H2_RT_OTS().
|
private |
Referenced by diatomics(), and H2_Level_low_matrix().
int diatomics::nElecLevelOutput |
Referenced by diatomics(), H2_LinesAdd(), H2_ParseSave(), H2_PunchDo(), H2_Reset(), and ParsePrint().
|
private |
|
private |
counters used by H2_itrzn to find number of calls of h2 per zone
Referenced by diatomics(), H2_itrzn(), H2_LevelPops(), and H2_Reset().
|
private |
Referenced by diatomics(), H2_itrzn(), H2_LevelPops(), and H2_Reset().
|
private |
the number of ro-vib levels in each elec state
Referenced by H2_CollidRateEvalAll(), H2_CollidRateRead(), H2_Cooling(), H2_Level_low_matrix(), H2_LevelPops(), H2_PunchDo(), H2_ReadEnergies(), H2_X_coll_rate_evaluate(), H2_X_sink_and_source(), init(), and SolveSomeGroundElectronicLevels().
|
private |
number of rotation levels within each elec - vib
Referenced by GetIndices(), GetXColden(), gs_rate(), H2_PrtDepartCoef(), H2_PunchDo(), H2_Read_hminus_distribution(), H2_ReadDissprob(), H2_ReadEnergies(), H2_ReadTransprob(), init(), mole_H2_form(), and Read_Mol_Diss_cross_sections().
int diatomics::nTRACE |
turn on trace information
Referenced by diatomics(), H2_CollidRateEvalAll(), H2_Cooling(), H2_Level_low_matrix(), H2_LevelPops(), H2_RadPress(), H2_Reset(), H2_X_coll_rate_evaluate(), mole_H2_LTE(), ParseDatabaseH2(), and SolveExcitedElectronicLevels().
|
private |
number of vib states within electronic states
Referenced by GetIndices(), GetXColden(), gs_rate(), H2_PrtDepartCoef(), H2_PunchDo(), H2_Read_hminus_distribution(), H2_ReadDissprob(), H2_ReadEnergies(), H2_ReadTransprob(), init(), mole_H2_form(), and Read_Mol_Diss_cross_sections().
|
private |
number of levels within X which are done with matrix solver, set with atom h2 matrix command
Referenced by diatomics(), H2_Level_low_matrix(), H2_LevelPops(), init(), set_numLevelsMatrix(), and SolveSomeGroundElectronicLevels().
|
private |
Referenced by CalcPhotoionizationRate(), and diatomics().
|
private |
this is used to establish zone number for evaluation of number of levels in matrix
Referenced by diatomics(), H2_LevelPops(), and H2_Reset().
|
private |
Referenced by diatomics(), H2_Level_low_matrix(), and H2_Reset().
long int diatomics::nzoneEval |
Referenced by diatomics(), and H2_LevelPops().
double diatomics::ortho_colden |
column density in ortho and para H2
Referenced by cdH2_colden(), diatomics(), H2_Prt_column_density(), H2_PunchDo(), and radius_increment().
double diatomics::ortho_density |
the density (cm-3) of ortho H2
Referenced by CoolH2_GA08(), H2_LevelPops(), H2_Prt_Zone(), H2_PunchDo(), ColliderList::init(), IterRestart(), IterStart(), lgCheckMonitors(), mole_effects(), mole_h_fixup(), radius_increment(), and ScaleAllDensities().
realnum diatomics::ortho_density_f |
Referenced by H2_LevelPops(), H2_X_coll_rate_evaluate(), IterRestart(), mole_effects(), and mole_h_fixup().
double diatomics::ortho_para_current |
Referenced by diatomics(), and H2_LevelPops().
double diatomics::ortho_para_old |
Referenced by diatomics(), and H2_LevelPops().
double diatomics::ortho_para_older |
Referenced by diatomics(), and H2_LevelPops().
double diatomics::para_colden |
Referenced by cdH2_colden(), diatomics(), H2_Prt_column_density(), H2_PunchDo(), and radius_increment().
double diatomics::para_density |
the density (cm-3) of para H2
Referenced by CoolH2_GA08(), H2_LevelPops(), H2_Prt_Zone(), H2_PunchDo(), ColliderList::init(), IterRestart(), IterStart(), lgCheckMonitors(), mole_effects(), mole_h_fixup(), radius_increment(), and ScaleAllDensities().
realnum diatomics::para_density_f |
Referenced by H2_LevelPops(), H2_X_coll_rate_evaluate(), IterRestart(), mole_effects(), and mole_h_fixup().
|
private |
double diatomics::photo_heat_hard |
Referenced by CalcPhotoionizationRate(), and diatomics().
double diatomics::photo_heat_soft |
Referenced by CalcPhotoionizationRate(), and diatomics().
double diatomics::photodissoc_BigH2_H2g |
Referenced by diatomics(), H2_LevelPops(), H2_zero_pops_too_low(), and mole_h_reactions().
double diatomics::photodissoc_BigH2_H2s |
Referenced by diatomics(), H2_LevelPops(), H2_zero_pops_too_low(), and mole_h_reactions().
double(* diatomics::photoion_opacity_fun)(double energy) |
Referenced by diatomics(), and OpacityCreate().
double diatomics::photoionize_rate |
Referenced by CalcPhotoionizationRate(), and mole_h_rate_diagnostics().
|
private |
Referenced by H2_Level_low_matrix().
|
private |
the total population in each elec state
Referenced by GetExcitedElecDensity(), H2_LevelPops(), H2_PunchDo(), H2_zero_pops_too_low(), and SolveExcitedElectronicLevels().
|
private |
total population in each vib state
Referenced by H2_LevelPops(), H2_Prt_Zone(), H2_zero_pops_too_low(), init(), and SolveExcitedElectronicLevels().
TransitionList::iterator diatomics::rad_end |
double diatomics::rate_grain_J1_to_J0 |
Referenced by diatomics(), H2_Level_low_matrix(), mole_h2_grain_form(), and SolveSomeGroundElectronicLevels().
double diatomics::rate_grain_op_conserve |
rate H2 goes from all X into either J=1 (ortho) or (J=0) para on grain surfaces - units s-1
Referenced by diatomics(), H2_Level_low_matrix(), mole_h2_grain_form(), and SolveSomeGroundElectronicLevels().
|
private |
Referenced by H2_CollidRateEvalOne(), H2_CollidRateRead(), and init().
double diatomics::rel_pop_LTE_g |
LTE pops of g and s used for H- back reactions
Referenced by H2_LevelPops(), and mole_h_reactions().
double diatomics::rel_pop_LTE_s |
Referenced by H2_LevelPops(), and mole_h_reactions().
double diatomics::renorm_max |
Referenced by diatomics(), H2_Reset(), H2_RT_tau_inc(), and PrtComment().
double diatomics::renorm_min |
Referenced by diatomics(), H2_Reset(), H2_RT_tau_inc(), and PrtComment().
|
private |
Referenced by diatomics(), and init().
double diatomics::Solomon_dissoc_rate_g |
Referenced by diatomics(), H2_LevelPops(), H2_PunchDo(), H2_Solomon_rate(), H2_zero_pops_too_low(), and mole_h_reactions().
double diatomics::Solomon_dissoc_rate_s |
Referenced by diatomics(), H2_LevelPops(), H2_PunchDo(), H2_Solomon_rate(), H2_zero_pops_too_low(), and mole_h_reactions().
double diatomics::Solomon_elec_decay_g |
these are decay rates from electronic levels into g and s
Referenced by H2_PunchDo(), and H2_Solomon_rate().
double diatomics::Solomon_elec_decay_s |
Referenced by H2_PunchDo(), and H2_Solomon_rate().
molecule* diatomics::sp |
Referenced by H2_LevelPops(), H2_PunchDo(), H2_ReadEnergies(), H2_X_sink_and_source(), and init().
molecule* diatomics::sp_star |
Referenced by H2_PunchDo(), H2_X_sink_and_source(), and init().
double diatomics::spon_diss_tot |
Referenced by diatomics(), H2_X_sink_and_source(), and SolveExcitedElectronicLevels().
|
private |
Referenced by H2_Level_low_matrix().
qList diatomics::states |
Referenced by GetDissociationRate(), GetHeatRate(), getLine(), gs_rate(), H2_Calc_Average_Rates(), H2_Colden(), H2_CollidRateEvalAll(), H2_CollidRateEvalOne(), H2_Cooling(), H2_Level_low_matrix(), H2_LevelPops(), H2_Prt_Zone(), H2_PunchDo(), H2_ReadEnergies(), H2_ReadTransprob(), H2_X_sink_and_source(), H2_zero_pops_too_low(), init(), Mol_Photo_Diss_Rates(), MolDissocOpacity(), mole_H2_form(), mole_H2_LTE(), SolveExcitedElectronicLevels(), and SolveSomeGroundElectronicLevels().
double diatomics::TeUsedBoltz |
Referenced by diatomics(), H2_Reset(), and mole_H2_LTE().
double diatomics::TeUsedColl |
Referenced by diatomics(), H2_LevelPops(), and H2_Reset().
TransitionList diatomics::trans |
Referenced by gs_rate(), H2_Accel(), H2_Calc_Average_Rates(), H2_ContPoint(), H2_Level_low_matrix(), H2_LevelPops(), H2_LinesAdd(), H2_LineZero(), H2_Punch_line_data(), H2_PunchDo(), H2_PunchLineStuff(), H2_RadPress(), H2_RT_diffuse(), H2_RT_OTS(), H2_RT_tau_inc(), H2_RT_tau_reset(), H2_RTMake(), H2_Solomon_rate(), H2_zero_pops_too_low(), init(), LTE_Cooling_per_H2(), SolveExcitedElectronicLevels(), and SolveSomeGroundElectronicLevels().
double diatomics::xMeanNoise |
std and mean for the noise, log normal distribution
Referenced by init(), and ParseDatabaseH2().
double diatomics::xSTDNoise |
Referenced by init(), and ParseDatabaseH2().