cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Data Fields | Private Attributes
diatomics Class Reference

#include <h2_priv.h>

Collaboration diagram for diatomics:
Collaboration graph
[legend]

Public Member Functions

double Abund () const
 
void GetIndices (long &ipHi, long &ipLo, const char *chLine, long &i) const
 
void CalcPhotoionizationRate (void)
 
long OpacityCreate (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)
 

Data Fields

double(* photoion_opacity_fun )(double energy)
 
bool lgREAD_DATA
 
double photoionize_rate
 
double photo_heat_soft
 
double photo_heat_hard
 
double photodissoc_BigH2_H2s
 
double photodissoc_BigH2_H2g
 
double spon_diss_tot
 
double Solomon_dissoc_rate_g
 
double Solomon_dissoc_rate_s
 
double Solomon_elec_decay_g
 
double Solomon_elec_decay_s
 
double rate_grain_op_conserve
 
double rate_grain_J1_to_J0
 
double Cont_Dissoc_Rate_H2s
 
double Cont_Dissoc_Rate_H2g
 
multi_arr< double, 3 > Cont_Dissoc_Rate
 
double rel_pop_LTE_g
 
double rel_pop_LTE_s
 
double average_energy_g
 
double average_energy_s
 
double HeatDiss
 
double HeatDexc
 
double HeatDexc_old
 
double HeatDexc_deriv
 
double HeatChangeOld
 
double HeatChange
 
double Average_A
 
double Average_collH2_deexcit
 
double Average_collH_deexcit
 
double Average_collH2_excit
 
double Average_collH_excit
 
double Average_collH_dissoc_g
 
double Average_collH_dissoc_s
 
double Average_collH2_dissoc_g
 
double Average_collH2_dissoc_s
 
bool lgEvaluated
 
long ip_photo_opac_thresh
 
long ip_photo_opac_offset
 
t_coll_source coll_source [N_X_COLLIDER]
 
double ortho_density
 
double para_density
 
realnum ortho_density_f
 
realnum para_density_f
 
double ortho_colden
 
double para_colden
 
double ortho_para_old
 
double ortho_para_older
 
double ortho_para_current
 
double renorm_max
 
double renorm_min
 
long int nCall_this_zone
 
bool lgEnabled
 
int nElecLevelOutput
 
bool lgH2_H_coll_07
 
bool lgColl_gbar
 
bool lgColl_deexec_Calc
 
bool lgColl_dissoc_coll
 
bool lgH2_grain_deexcitation
 
bool lgLTE
 
bool lgH2_ortho_para_coll_on
 
bool lgH2_He_ORNL
 
bool lgH2_ORH2_ORNL
 
bool lgH2_PAH2_ORNL
 
bool lgH2_NOISE
 
bool lgH2_NOISECOSMIC
 
long int loop_h2_oscil
 
long int nzoneEval
 
double xMeanNoise
 
double xSTDNoise
 
double H2_to_H_limit
 
realnum mass_amu
 
int nTRACE
 
int n_trace_final
 
int n_trace_iterations
 
int n_trace_full
 
int n_trace_matrix
 
long int n_elec_states
 
double frac_matrix
 
double TeUsedBoltz
 
double TeUsedColl
 
moleculesp
 
moleculesp_star
 
qList states
 
TransitionList trans
 
TransitionList::iterator rad_end
 
vector< diss_tranDiss_Trans
 
const double ENERGY_H2_STAR
 

Private Attributes

string label
 
string shortlabel
 
string path
 
const double *const dense_total
 
char chH2ColliderLabels [N_X_COLLIDER][chN_X_COLLIDER]
 
long int nEner_H2_ground
 
multi_arr< double, 2 > pops_per_vib
 
double H2_renorm_chemistry
 
multi_arr< realnum, 2 > H2_X_coll_rate
 
double H2_DissocEnergies [N_ELEC]
 
long int nVib_hi [N_ELEC]
 
valarray< long > nRot_hi [N_ELEC]
 
long int Jlowest [N_ELEC]
 
long int nLevels_per_elec [N_ELEC]
 
double pops_per_elec [N_ELEC]
 
multi_arr< realnum, 3 > CollRateCoeff
 
multi_arr< realnum, 3 > CollRateErrFac
 
vector< CollRateCoeffArrayRateCoefTable
 
multi_arr< realnum, 3 > H2_dissprob
 
multi_arr< realnum, 3 > H2_disske
 
multi_arr< double, 3 > H2_rad_rate_out
 
multi_arr< double, 3 > H2_old_populations
 
multi_arr< double, 3 > H2_populations_LTE
 
multi_arr< bool, 3 > H2_lgOrtho
 
long int nzoneAsEval
 
long int iterationAsEval
 
multi_arr< int, 2 > H2_ipPhoto
 
multi_arr< double, 2 > H2_col_rate_in
 
multi_arr< double, 2 > H2_col_rate_out
 
multi_arr< double, 2 > H2_rad_rate_in
 
multi_arr< realnum, 2 > H2_X_formation
 
multi_arr< realnum, 2 > H2_X_Hmin_back
 
multi_arr< realnum, 2 > H2_X_colden
 
multi_arr< realnum, 2 > H2_X_colden_LTE
 
multi_arr< double, 2 > H2_X_rate_from_elec_excited
 
multi_arr< double, 2 > H2_X_rate_to_elec_excited
 
multi_arr< realnum, 2 > H2_coll_dissoc_rate_coef
 
multi_arr< realnum, 2 > H2_coll_dissoc_rate_coef_H2
 
valarray< realnumH2_X_source
 
valarray< realnumH2_X_sink
 
multi_arr< realnum, 3 > H2_X_grain_formation_distribution
 
double H2_den_s
 
double H2_den_g
 
multi_arr< realnum, 3 > H2_X_hminus_formation_distribution
 
valarray< long > ipVib_H2_energy_sort
 
valarray< long > ipElec_H2_energy_sort
 
valarray< long > ipRot_H2_energy_sort
 
multi_arr< long int, 3 > ipEnergySort
 
multi_arr< long int, 2 > ipTransitionSort
 
long int nXLevelsMatrix
 
long int ndimMalloced
 
double ** AulEscp
 
double ** AulDest
 
double ** AulPump
 
double ** CollRate_levn
 
vector< double > pops
 
vector< double > create
 
vector< double > destroy
 
vector< double > depart
 
vector< double > stat_levn
 
vector< double > excit
 
long int levelAsEval
 
bool lgFirst
 
long int nzone_eval
 
long int iteration_evaluated
 
multi_arr< realnum, 6 > H2_SaveLine
 
multi_arr< bool, 2 > lgH2_radiative
 
long int nH2_pops
 
long int nH2_zone
 
long int nzone_nlevel_set
 
long int nCall_this_iteration
 
vector< double > LTE_Temp
 
vector< double > LTE_cool
 
bool lgPrtMatrix
 

Detailed Description

Definition at line 72 of file h2_priv.h.

Constructor & Destructor Documentation

diatomics::diatomics ( const string &  a,
const double &  e_star,
const double *const  abund,
double(*)(double)  fun 
)
explicit

Member Function Documentation

double diatomics::Abund ( ) const
inline

Definition at line 75 of file h2_priv.h.

References dense_total.

Referenced by H2_PunchDo().

void diatomics::CalcPhotoionizationRate ( void  )
double diatomics::Cont_Diss_Heat_Rate ( void  )

Definition at line 220 of file mole_dissociate.cpp.

References DEBUG_ENTRY, Diss_Trans, lgEnabled, t_mole_global::lgStancil, Mol_Photo_Diss_Rates(), and mole_global.

Here is the call graph for this function:

double diatomics::GetDissociationRate ( const diss_tran tran)
double diatomics::GetExcitedElecDensity ( void  )

Definition at line 2540 of file mole_h2.cpp.

References n_elec_states, and pops_per_elec.

Referenced by H2_Solomon_rate().

double diatomics::GetHeatRate ( const diss_tran tran)
void diatomics::GetIndices ( long &  ipHi,
long &  ipLo,
const char *  chLine,
long &  i 
) const

Definition at line 205 of file mole_h2_coll.cpp.

References ASSERT, FFmtRead(), ipEnergySort, Jlowest, Parser::lgEOL(), nRot_hi, nVib_hi, and swap().

Referenced by FunctDiatoms::operator()().

Here is the call graph for this function:

long int diatomics::getLine ( long  iElecHi,
long  iVibHi,
long  iRotHi,
long  iElecLo,
long  iVibLo,
long  iRotLo,
double *  relint,
double *  absint 
)
realnum diatomics::GetXColden ( long  iVib,
long  iRot 
)

Definition at line 2361 of file mole_h2.cpp.

References DEBUG_ENTRY, fprintf(), H2_X_colden, ioQQQ, nRot_hi, and nVib_hi.

Referenced by cdH2_colden().

Here is the call graph for this function:

double diatomics::gs_rate ( void  )

gs_rate evaluate rate between ground and star states

Definition at line 111 of file mole_h2_etc.cpp.

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().

Here is the call graph for this function:

double diatomics::H2_Accel ( void  )

radiative acceleration due to H2 called in rt_line_driving

Definition at line 294 of file mole_h2.cpp.

References ASSERT, TransitionList::begin(), DEBUG_ENTRY, lgEnabled, rad_end, and trans.

Here is the call graph for this function:

void diatomics::H2_Calc_Average_Rates ( void  )
void diatomics::H2_Colden ( const char *  chLabel)

H2_Colden maintain H2 column densities within X

Parameters
*chLabel

Definition at line 2380 of file mole_h2.cpp.

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().

Here is the call graph for this function:

void diatomics::H2_CollidRateEvalAll ( void  )
realnum diatomics::H2_CollidRateEvalOne ( long  iVibHi,
long  iRotHi,
long  iVibLo,
long  iRotLo,
long  ipHi,
long  ipLo,
long  nColl,
double  temp_K 
)

Definition at line 99 of file mole_h2_coll.cpp.

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().

Here is the call graph for this function:

void diatomics::H2_CollidRateRead ( long int  nColl)
void diatomics::H2_ContPoint ( void  )

set the ipCont struc element for the H2 molecule, called by ContCreatePointers

Definition at line 276 of file mole_h2.cpp.

References ASSERT, TransitionList::begin(), DEBUG_ENTRY, ipFineCont(), ipLineEnergy(), label, lgEnabled, rad_end, and trans.

Here is the call graph for this function:

void diatomics::H2_Cooling ( void  )
double diatomics::H2_DR ( void  )

H2_DR choose next zone thickness based on H2 big molecule

Definition at line 2425 of file mole_h2.cpp.

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

Definition at line 263 of file mole_h2.cpp.

References lgEnabled, nH2_pops, and nH2_zone.

Referenced by PrtFinal().

void diatomics::H2_Level_low_matrix ( realnum  abundance)
void diatomics::H2_LevelPops ( bool &  lgPopsConverged,
double &  old_value,
double &  new_value 
)

do level populations for H2, called by iso_solve

Definition at line 905 of file mole_h2.cpp.

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, lgAbort, 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().

Here is the call graph for this function:

void diatomics::H2_LinesAdd ( void  )

add in explicit lines from the large H2 molecule, called by lines_molecules

Definition at line 43 of file mole_h2_io.cpp.

References TransitionList::begin(), DEBUG_ENTRY, t_radius::dVeffAper, H2_SaveLine, t_LineSave::ipass, label, lgEnabled, LineSave, nElecLevelOutput, PutLine(), rad_end, radius, and trans.

Here is the call graph for this function:

void diatomics::H2_LineZero ( void  )

initialize optical depths in H2, called from RT_tau_init

Definition at line 439 of file mole_h2.cpp.

References TransitionList::begin(), DEBUG_ENTRY, lgEnabled, rad_end, and trans.

Here is the call graph for this function:

void diatomics::H2_ParseSave ( Parser p,
ostringstream &  chHeader 
)
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

Parameters
*ioMEANthis is stream used for io, is stdout when called by final, is save unit when save output generated

Definition at line 368 of file mole_h2_io.cpp.

References DEBUG_ENTRY, fprintf(), H2_X_colden, lgEnabled, nCall_this_zone, ortho_colden, para_colden, and SDIV().

Referenced by PrtColumns().

Here is the call graph for this function:

void diatomics::H2_Prt_Zone ( void  )

H2_Prt_Zone print H2 info into zone results, called from prtzone for each printed zone

Definition at line 306 of file mole_h2_io.cpp.

References DEBUG_ENTRY, dense_total, fprintf(), ioQQQ, ipEnergySort, label, lgEnabled, nCall_this_zone, ortho_density, para_density, pops_per_vib, PrintEfmt, SDIV(), and states.

Here is the call graph for this function:

void diatomics::H2_PrtDepartCoef ( void  )

Definition at line 335 of file mole_h2_io.cpp.

References DEBUG_ENTRY, depart, fprintf(), ioQQQ, ipEnergySort, Jlowest, label, lgEnabled, n_elec_states, nCall_this_zone, nRot_hi, and nVib_hi.

Here is the call graph for this function:

void diatomics::H2_Punch_line_data ( FILE *  ioPUN,
bool  lgDoAll 
)
save H2 line data
Parameters
ioPUNio unit for save
lgDoAllsave all levels if true, only subset if false

Definition at line 1117 of file mole_h2_io.cpp.

References TransitionList::begin(), cdEXIT, DEBUG_ENTRY, TransitionList::end(), EXIT_FAILURE, fprintf(), ioQQQ, lgEnabled, Save1LineData(), and trans.

Here is the call graph for this function:

void diatomics::H2_PunchDo ( FILE *  io,
char  chJOB[],
const char  chTime[],
long int  ipPun 
)
save some properties of the large H2 molecule
Parameters
io
chJOB[]
chTime[]
ipPun

Definition at line 1195 of file mole_h2_io.cpp.

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().

Here is the call graph for this function:

void diatomics::H2_PunchLineStuff ( FILE *  io,
realnum  xLimit,
long  index 
)
include H2 lines in punched optical depths, etc, called from SaveLineStuff
Parameters
io
xLimit
index

Definition at line 1158 of file mole_h2_io.cpp.

References t_dense::AtomicWeight, TransitionList::begin(), DEBUG_ENTRY, dense, TransitionList::end(), GetDopplerWidth(), ipHYDROGEN, lgEnabled, Save1Line(), and trans.

Referenced by SaveLineStuff().

Here is the call graph for this function:

double diatomics::H2_RadPress ( void  )

rad pre due to h2 lines called in PresTotCurrent

Definition at line 317 of file mole_h2.cpp.

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.

Here is the call graph for this function:

void diatomics::H2_Read_hminus_distribution ( void  )

H2_Read_hminus_distribution read distribution function for H2 population following formation from H minus

Definition at line 976 of file mole_h2_io.cpp.

References ASSERT, BadRead(), cdEXIT, t_input::chDelimiter, DEBUG_ENTRY, EXIT_FAILURE, exp10(), FFmtRead(), FILENAME_PATH_LENGTH_2, fprintf(), H2_X_hminus_formation_distribution, input, ioQQQ, Jlowest, nRot_hi, nTE_HMINUS, nVib_hi, open_data(), path, and read_whole_line().

Referenced by init().

Here is the call graph for this function:

void diatomics::H2_Read_LTE_cooling_per_H2 ( )

Definition at line 1986 of file mole_h2_io.cpp.

References cdEXIT, t_input::chDelimiter, DEBUG_ENTRY, EXIT_SUCCESS, FILENAME_PATH_LENGTH_2, fprintf(), input, LTE_cool, LTE_Temp, open_data(), path, read_whole_line(), and TotalInsanity().

Referenced by InitSimPostparse().

Here is the call graph for this function:

void diatomics::H2_ReadDissocEnergies ( void  )

Definition at line 818 of file mole_h2_io.cpp.

References ASSERT, cdEXIT, t_input::chDelimiter, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), FILENAME_PATH_LENGTH_2, fprintf(), H2_DissocEnergies, input, ioQQQ, N_ELEC, open_data(), path, and read_whole_line().

Referenced by init().

Here is the call graph for this function:

void diatomics::H2_ReadDissprob ( long int  nelec)
read dissociation probabilities and kinetic energies for all electronic levels
Parameters
nelec

Definition at line 885 of file mole_h2_io.cpp.

References ASSERT, cdEXIT, t_input::chDelimiter, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), FILENAME_PATH_LENGTH_2, fprintf(), H2_disske, H2_dissprob, input, ioQQQ, Jlowest, N_ELEC, nRot_hi, nVib_hi, open_data(), path, and read_whole_line().

Referenced by init().

Here is the call graph for this function:

void diatomics::H2_ReadEnergies ( )

Definition at line 655 of file mole_h2_io.cpp.

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().

Here is the call graph for this function:

void diatomics::H2_ReadEnergies ( long int  nelec,
vector< int > &  n,
vector< int > &  v,
vector< int > &  J,
vector< double > &  eWN 
)
void diatomics::H2_ReadTransprob ( long int  nelec,
TransitionList trans 
)
read transition probabilities
Parameters
nelec

Definition at line 403 of file mole_h2_io.cpp.

References ASSERT, cdEXIT, t_input::chDelimiter, DEBUG_ENTRY, TransitionList::Emis(), EXIT_FAILURE, FFmtRead(), FILENAME_PATH_LENGTH_2, fprintf(), input, 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().

Here is the call graph for this function:

void diatomics::H2_Reset ( void  )
void diatomics::H2_RT_diffuse ( void  )

do emission from H2 - called from RT_diffuse

Definition at line 368 of file mole_h2.cpp.

References TransitionList::begin(), DEBUG_ENTRY, lgEnabled, nCall_this_zone, rad_end, and trans.

Here is the call graph for this function:

void diatomics::H2_RT_OTS ( void  )

H2_RT_OTS - add H2 ots fields

Definition at line 2431 of file mole_h2.cpp.

References TransitionList::begin(), DEBUG_ENTRY, lgEnabled, nCall_this_zone, rad_end, RT_OTS_AddLine(), and trans.

Here is the call graph for this function:

void diatomics::H2_RT_tau_inc ( void  )

increment optical depth for the H2 molecule, called from RT_tau_inc

Definition at line 409 of file mole_h2.cpp.

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.

Here is the call graph for this function:

void diatomics::H2_RT_tau_reset ( void  )

the large H2 molecule, called from RT_tau_reset

Definition at line 455 of file mole_h2.cpp.

References TransitionList::begin(), DEBUG_ENTRY, lgEnabled, rad_end, RT_line_one_tau_reset(), and trans.

Here is the call graph for this function:

void diatomics::H2_RTMake ( linefunc  line_one)

do RT for H2 lines

Definition at line 387 of file mole_h2.cpp.

References TransitionList::begin(), DEBUG_ENTRY, GetDopplerWidth(), lgEnabled, mass_amu, rad_end, and trans.

Here is the call graph for this function:

void diatomics::H2_Solomon_rate ( void  )

H2_Solomon_rate find rates between H2s and H2g and other levels, for use in the chemistry

Definition at line 24 of file mole_h2_etc.cpp.

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().

Here is the call graph for this function:

void diatomics::H2_X_coll_rate_evaluate ( void  )
void diatomics::H2_X_sink_and_source ( void  )
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

Definition at line 188 of file mole_h2_etc.cpp.

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().

Here is the call graph for this function:

void diatomics::init ( void  )

create H2 molecules, called by ContCreatePointers

Todo:
1 add this as a Lya excitation process
Todo:
2 put supra thermal excitation into excitation of electronic bands

Definition at line 106 of file mole_h2_create.cpp.

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, exp10(), 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, nRot_hi, nTE_HMINUS, null_mole, nVib_hi, nXLevelsMatrix, opac, pops_per_vib, POW2, rad_end, RandGauss(), 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().

Here is the call graph for this function:

double diatomics::interpolate_LTE_Cooling ( double  Temp)

Definition at line 501 of file mole_h2_etc.cpp.

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.

Definition at line 442 of file mole_h2_etc.cpp.

References TransitionList::begin(), DEBUG_ENTRY, TransitionList::end(), H2_populations_LTE, iterations, t_iterations::lgLastIt, mole_H2_LTE(), and trans.

Referenced by H2_PunchDo().

Here is the call graph for this function:

void diatomics::Mol_Photo_Diss_Rates ( void  )
double diatomics::MolDissocOpacity ( const diss_tran tran,
const double &  Mol_Ene 
)

Definition at line 109 of file mole_dissociate.cpp.

References cross_section(), DEBUG_ENTRY, diss_tran::initial, ipEnergySort, diss_level::j, MolDissocCrossSection(), diss_level::n, states, and diss_level::v.

Here is the call graph for this function:

void diatomics::mole_H2_form ( void  )
void diatomics::mole_H2_LTE ( void  )

mole_H2_LTE sets Boltzmann factors and LTE unit population of large H2 molecular

Definition at line 229 of file mole_h2_etc.cpp.

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().

Here is the call graph for this function:

long diatomics::OpacityCreate ( double *  stack)

Definition at line 167 of file mole_h2_etc.cpp.

References t_mesh::anu(), ASSERT, DEBUG_ENTRY, ip_photo_opac_offset, ip_photo_opac_thresh, t_rfield::nflux_with_check, photoion_opacity_fun, and rfield.

Here is the call graph for this function:

void diatomics::Read_Mol_Diss_cross_sections ( void  )
void diatomics::set_numLevelsMatrix ( long  numLevels)

Definition at line 1979 of file mole_h2_io.cpp.

References lgREAD_DATA, and nXLevelsMatrix.

Referenced by ParseDatabaseH2().

void diatomics::SolveExcitedElectronicLevels ( void  )
void diatomics::SolveSomeGroundElectronicLevels ( void  )

Field Documentation

double ** diatomics::AulDest
private

Definition at line 558 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

double** diatomics::AulEscp
private

Definition at line 558 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

double ** diatomics::AulPump
private

Definition at line 558 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

double diatomics::Average_A

Average Einstein A for H2s to H2g transition

Definition at line 303 of file h2_priv.h.

Referenced by diatomics(), and H2_Calc_Average_Rates().

double diatomics::Average_collH2_deexcit

Average noreactive collisional rate for H2s to H2g transition

Definition at line 305 of file h2_priv.h.

Referenced by diatomics(), and H2_Calc_Average_Rates().

double diatomics::Average_collH2_dissoc_g

Definition at line 312 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

double diatomics::Average_collH2_dissoc_s

Definition at line 313 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

double diatomics::Average_collH2_excit

Definition at line 307 of file h2_priv.h.

Referenced by diatomics(), and H2_Calc_Average_Rates().

double diatomics::Average_collH_deexcit

Definition at line 306 of file h2_priv.h.

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

Definition at line 310 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

double diatomics::Average_collH_dissoc_s

Definition at line 311 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

double diatomics::Average_collH_excit

Definition at line 308 of file h2_priv.h.

Referenced by diatomics(), and H2_Calc_Average_Rates().

double diatomics::average_energy_g

average energy level of H2g and H2s

Definition at line 293 of file h2_priv.h.

Referenced by H2_LevelPops(), and H2_PunchDo().

double diatomics::average_energy_s

Definition at line 294 of file h2_priv.h.

Referenced by H2_LevelPops(), and H2_PunchDo().

char diatomics::chH2ColliderLabels[N_X_COLLIDER][chN_X_COLLIDER]
private

Definition at line 455 of file h2_priv.h.

Referenced by diatomics(), and H2_ParseSave().

t_coll_source diatomics::coll_source[N_X_COLLIDER]

Definition at line 323 of file h2_priv.h.

Referenced by diatoms_init(), H2_CollidRateRead(), and ParseDatabaseH2().

double ** diatomics::CollRate_levn
private

Definition at line 558 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

multi_arr<realnum,3> diatomics::CollRateCoeff
private
multi_arr<realnum,3> diatomics::CollRateErrFac
private

Definition at line 486 of file h2_priv.h.

Referenced by H2_CollidRateEvalOne(), and init().

multi_arr<double,3> diatomics::Cont_Dissoc_Rate
double diatomics::Cont_Dissoc_Rate_H2g

Definition at line 285 of file h2_priv.h.

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

Definition at line 284 of file h2_priv.h.

Referenced by Mol_Photo_Diss_Rates(), and mole_h_reactions().

vector<double> diatomics::create
private

Definition at line 562 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

const double* const diatomics::dense_total
private
vector<double> diatomics::depart
private

Definition at line 562 of file h2_priv.h.

Referenced by H2_Level_low_matrix(), and H2_PrtDepartCoef().

vector<double> diatomics::destroy
private

Definition at line 562 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

vector< diss_tran > diatomics::Diss_Trans
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

Definition at line 449 of file h2_priv.h.

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().

vector<double> diatomics::excit
private

Definition at line 562 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

double diatomics::frac_matrix

Definition at line 419 of file h2_priv.h.

Referenced by H2_LevelPops().

multi_arr<double,2> diatomics::H2_col_rate_in
private

Definition at line 512 of file h2_priv.h.

Referenced by H2_PunchDo(), init(), and SolveSomeGroundElectronicLevels().

multi_arr<double,2> diatomics::H2_col_rate_out
private

Definition at line 513 of file h2_priv.h.

Referenced by H2_PunchDo(), init(), and SolveSomeGroundElectronicLevels().

multi_arr<realnum,2> diatomics::H2_coll_dissoc_rate_coef
private

save rate coef (cm3 s-1) for collisional dissociation

Definition at line 529 of file h2_priv.h.

Referenced by H2_CollidRateEvalAll(), H2_LevelPops(), H2_X_sink_and_source(), and init().

multi_arr<realnum,2> diatomics::H2_coll_dissoc_rate_coef_H2
private

save rate coef (cm3 s-1) for collisional dissociation with H2g and H2s

Definition at line 532 of file h2_priv.h.

Referenced by H2_CollidRateEvalAll(), H2_LevelPops(), H2_X_sink_and_source(), and init().

double diatomics::H2_den_g
private

Definition at line 543 of file h2_priv.h.

Referenced by gs_rate(), H2_LevelPops(), H2_PunchDo(), H2_Solomon_rate(), and Mol_Photo_Diss_Rates().

double diatomics::H2_den_s
private

density of H2s and H2g during current iteration

Definition at line 543 of file h2_priv.h.

Referenced by H2_LevelPops(), H2_PunchDo(), H2_Solomon_rate(), H2_X_sink_and_source(), Mol_Photo_Diss_Rates(), and SolveExcitedElectronicLevels().

multi_arr<realnum,3> diatomics::H2_disske
private

Definition at line 497 of file h2_priv.h.

Referenced by H2_Cooling(), H2_ReadDissprob(), and init().

double diatomics::H2_DissocEnergies[N_ELEC]
private

Definition at line 473 of file h2_priv.h.

Referenced by H2_CollidRateEvalAll(), H2_LevelPops(), H2_ReadDissocEnergies(), and init().

multi_arr<realnum,3> diatomics::H2_dissprob
private

these will mostly become xxx[elec][vib][rot]

Definition at line 496 of file h2_priv.h.

Referenced by gs_rate(), H2_Cooling(), H2_ReadDissprob(), H2_Solomon_rate(), init(), and SolveExcitedElectronicLevels().

multi_arr<int,2> diatomics::H2_ipPhoto
private

Definition at line 511 of file h2_priv.h.

Referenced by H2_X_sink_and_source(), and init().

multi_arr<bool,3> diatomics::H2_lgOrtho
private
multi_arr<double,3> diatomics::H2_old_populations
private

these will mostly become xxx[elec][vib][rot]

Definition at line 501 of file h2_priv.h.

Referenced by H2_LevelPops(), H2_PunchDo(), H2_zero_pops_too_low(), init(), SolveExcitedElectronicLevels(), and SolveSomeGroundElectronicLevels().

multi_arr<double,3> diatomics::H2_populations_LTE
private
multi_arr<double,2> diatomics::H2_rad_rate_in
private
multi_arr<double,3> diatomics::H2_rad_rate_out
private
double diatomics::H2_renorm_chemistry
private

the renorm factor for this H2 to the chemistry - should be unity

Definition at line 467 of file h2_priv.h.

Referenced by H2_Cooling(), H2_LevelPops(), H2_PunchDo(), and H2_RT_tau_inc().

multi_arr<realnum,6> diatomics::H2_SaveLine
private

this is array of accumulated line intensities, used for save he lines command

Definition at line 570 of file h2_priv.h.

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

Definition at line 401 of file h2_priv.h.

Referenced by diatomics(), H2_LevelPops(), and ParseDatabaseH2().

multi_arr<realnum,2> diatomics::H2_X_colden
private

column density within X only vib and rot

Definition at line 521 of file h2_priv.h.

Referenced by GetXColden(), H2_Colden(), H2_Prt_column_density(), H2_PunchDo(), and init().

multi_arr<realnum,2> diatomics::H2_X_colden_LTE
private

LTE column density within X only vib and rot

Definition at line 523 of file h2_priv.h.

Referenced by H2_Colden(), H2_PunchDo(), and init().

multi_arr<realnum,2> diatomics::H2_X_coll_rate
private

rate [s-1] for collisions from ihi to ilo

Definition at line 470 of file h2_priv.h.

Referenced by H2_Level_low_matrix(), H2_X_coll_rate_evaluate(), init(), and SolveSomeGroundElectronicLevels().

multi_arr<realnum,2> diatomics::H2_X_formation
private

formation into specific states within X only vib and rot, includes both H- and H2 routes

Definition at line 517 of file h2_priv.h.

Referenced by H2_X_sink_and_source(), init(), and mole_H2_form().

multi_arr<realnum,3> diatomics::H2_X_grain_formation_distribution
private

distribution function for formation on grain surfaces, vib, rot, last dim is grain type

Definition at line 540 of file h2_priv.h.

Referenced by init(), and mole_H2_form().

multi_arr<realnum,2> diatomics::H2_X_Hmin_back
private

backwards destruction of v,J levels due to the H- route

Definition at line 519 of file h2_priv.h.

Referenced by H2_X_sink_and_source(), init(), and mole_H2_form().

multi_arr<realnum,3> diatomics::H2_X_hminus_formation_distribution
private

vib, rot, last dim is temperature

Definition at line 546 of file h2_priv.h.

Referenced by H2_Read_hminus_distribution(), init(), and mole_H2_form().

multi_arr<double,2> diatomics::H2_X_rate_from_elec_excited
private

rates [cm-3 s-1] from elec excited states into X only vib and rot

Definition at line 525 of file h2_priv.h.

Referenced by H2_Level_low_matrix(), H2_LevelPops(), init(), and SolveExcitedElectronicLevels().

multi_arr<double,2> diatomics::H2_X_rate_to_elec_excited
private

rates [s-1] to elec excited states from X only vib and rot

Definition at line 527 of file h2_priv.h.

Referenced by H2_Level_low_matrix(), H2_LevelPops(), init(), and SolveExcitedElectronicLevels().

valarray<realnum> diatomics::H2_X_sink
private
valarray<realnum> diatomics::H2_X_source
private
double diatomics::HeatChange

Definition at line 300 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

double diatomics::HeatChangeOld

Definition at line 300 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

double diatomics::HeatDexc
double diatomics::HeatDexc_deriv

Definition at line 299 of file h2_priv.h.

Referenced by CoolEvaluate(), diatomics(), H2_Cooling(), and H2_zero_pops_too_low().

double diatomics::HeatDexc_old

Definition at line 298 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

double diatomics::HeatDiss

Definition at line 296 of file h2_priv.h.

Referenced by CoolEvaluate(), diatomics(), H2_Cooling(), H2_PunchDo(), and H2_zero_pops_too_low().

long diatomics::ip_photo_opac_offset

Definition at line 321 of file h2_priv.h.

Referenced by CalcPhotoionizationRate(), OpacityAddTotal(), and OpacityCreate().

long diatomics::ip_photo_opac_thresh

index for threshold for photoionization

Definition at line 320 of file h2_priv.h.

Referenced by CalcPhotoionizationRate(), OpacityAddTotal(), and OpacityCreate().

valarray<long> diatomics::ipElec_H2_energy_sort
private

Definition at line 549 of file h2_priv.h.

Referenced by H2_LevelPops(), init(), and SolveSomeGroundElectronicLevels().

multi_arr<long int,3> diatomics::ipEnergySort
private
valarray<long> diatomics::ipRot_H2_energy_sort
private
multi_arr<long int,2> diatomics::ipTransitionSort
private
valarray<long> diatomics::ipVib_H2_energy_sort
private
long int diatomics::iteration_evaluated
private

Definition at line 567 of file h2_priv.h.

Referenced by CalcPhotoionizationRate(), and diatomics().

long int diatomics::iterationAsEval
private

Definition at line 507 of file h2_priv.h.

Referenced by diatomics(), H2_Level_low_matrix(), and H2_Reset().

long int diatomics::Jlowest[N_ELEC]
private

this gives the first rotational state for each electronic state - J=0 does not exist when Lambda = 1

Definition at line 480 of file h2_priv.h.

Referenced by GetIndices(), gs_rate(), H2_PrtDepartCoef(), H2_PunchDo(), H2_Read_hminus_distribution(), H2_ReadDissprob(), H2_ReadEnergies(), init(), and mole_H2_form().

string diatomics::label
private
long int diatomics::levelAsEval
private

Definition at line 564 of file h2_priv.h.

Referenced by diatomics(), and H2_Level_low_matrix().

bool diatomics::lgColl_deexec_Calc

this is option to turn off the calculated collision rates

Definition at line 366 of file h2_priv.h.

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

Definition at line 369 of file h2_priv.h.

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

Definition at line 363 of file h2_priv.h.

Referenced by diatomics(), H2_CollidRateEvalOne(), and ParseDatabaseH2().

bool diatomics::lgEnabled
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

Definition at line 317 of file h2_priv.h.

Referenced by CoolEvaluate(), diatomics(), frac_H2star_hminus(), H2_LevelPops(), H2_PunchDo(), H2_Reset(), mole_h_reactions(), and radius_first().

bool diatomics::lgFirst
private

Definition at line 565 of file h2_priv.h.

Referenced by diatomics(), and H2_Level_low_matrix().

bool diatomics::lgH2_grain_deexcitation

Definition at line 373 of file h2_priv.h.

Referenced by diatomics(), mole_h2_grain_form(), and ParseDatabaseH2().

bool diatomics::lgH2_H_coll_07

Definition at line 359 of file h2_priv.h.

Referenced by diatomics(), and ParseDatabaseH2().

bool diatomics::lgH2_He_ORNL

Definition at line 383 of file h2_priv.h.

Referenced by diatomics(), and ParseDatabaseH2().

bool diatomics::lgH2_NOISE

put noise into collision rates

Definition at line 390 of file h2_priv.h.

Referenced by diatomics(), H2_CollidRateEvalOne(), init(), and ParseDatabaseH2().

bool diatomics::lgH2_NOISECOSMIC

noise for the CR collisions

Definition at line 392 of file h2_priv.h.

Referenced by diatomics(), and ParseDatabaseH2().

bool diatomics::lgH2_ORH2_ORNL

Definition at line 386 of file h2_priv.h.

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

Definition at line 379 of file h2_priv.h.

Referenced by diatomics(), H2_CollidRateEvalOne(), and ParseDatabaseH2().

bool diatomics::lgH2_PAH2_ORNL

Definition at line 387 of file h2_priv.h.

Referenced by diatomics(), and ParseDatabaseH2().

multi_arr<bool,2> diatomics::lgH2_radiative
private

fully defined array saying whether (true) or not (false) a radiative decay is defined by the standard emission line structure

Definition at line 574 of file h2_priv.h.

Referenced by getLine(), gs_rate(), H2_Calc_Average_Rates(), H2_Level_low_matrix(), H2_PunchDo(), H2_ReadTransprob(), and init().

bool diatomics::lgLTE

flag to force LTE level populations, atom H2 LTE

Definition at line 376 of file h2_priv.h.

Referenced by diatomics(), H2_LevelPops(), and ParseDatabaseH2().

bool diatomics::lgPrtMatrix
private

print Matrix input to solver

Definition at line 592 of file h2_priv.h.

Referenced by H2_Level_low_matrix(), and H2_Reset().

bool diatomics::lgREAD_DATA

flag saying whether molecular data have been read in yet

Definition at line 259 of file h2_priv.h.

Referenced by diatomics(), init(), ParseDatabaseH2(), and set_numLevelsMatrix().

long int diatomics::loop_h2_oscil

Definition at line 394 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

vector<double> diatomics::LTE_cool
private

Definition at line 589 of file h2_priv.h.

Referenced by H2_Read_LTE_cooling_per_H2(), and interpolate_LTE_Cooling().

vector<double> diatomics::LTE_Temp
private

Definition at line 589 of file h2_priv.h.

Referenced by H2_Read_LTE_cooling_per_H2(), and interpolate_LTE_Cooling().

realnum diatomics::mass_amu

Definition at line 403 of file h2_priv.h.

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

Definition at line 409 of file h2_priv.h.

Referenced by diatomics(), H2_LevelPops(), and ParseDatabaseH2().

int diatomics::n_trace_full
int diatomics::n_trace_iterations

Definition at line 409 of file h2_priv.h.

Referenced by diatomics(), H2_LevelPops(), and ParseDatabaseH2().

int diatomics::n_trace_matrix

Definition at line 409 of file h2_priv.h.

Referenced by diatomics(), H2_Level_low_matrix(), and ParseDatabaseH2().

long int diatomics::nCall_this_iteration
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

Definition at line 586 of file h2_priv.h.

Referenced by H2_Cooling(), H2_LevelPops(), H2_Reset(), and H2_RT_tau_inc().

long int diatomics::nCall_this_zone
long int diatomics::ndimMalloced
private

Definition at line 557 of file h2_priv.h.

Referenced by diatomics(), and H2_Level_low_matrix().

int diatomics::nElecLevelOutput

Definition at line 356 of file h2_priv.h.

Referenced by diatomics(), H2_LinesAdd(), H2_ParseSave(), H2_PunchDo(), H2_Reset(), and ParsePrint().

long int diatomics::nEner_H2_ground
private

number of levels in H2g

Definition at line 461 of file h2_priv.h.

Referenced by gs_rate(), and init().

long int diatomics::nH2_pops
private

counters used by H2_itrzn to find number of calls of h2 per zone

Definition at line 577 of file h2_priv.h.

Referenced by diatomics(), H2_itrzn(), H2_LevelPops(), and H2_Reset().

long int diatomics::nH2_zone
private

Definition at line 578 of file h2_priv.h.

Referenced by diatomics(), H2_itrzn(), H2_LevelPops(), and H2_Reset().

long int diatomics::nLevels_per_elec[N_ELEC]
private
valarray<long> diatomics::nRot_hi[N_ELEC]
private
int diatomics::nTRACE
long int diatomics::nVib_hi[N_ELEC]
private
long int diatomics::nXLevelsMatrix
private

number of levels within X which are done with matrix solver, set with atom h2 matrix command

Definition at line 556 of file h2_priv.h.

Referenced by diatomics(), H2_Level_low_matrix(), H2_LevelPops(), init(), set_numLevelsMatrix(), and SolveSomeGroundElectronicLevels().

long int diatomics::nzone_eval
private

Definition at line 566 of file h2_priv.h.

Referenced by CalcPhotoionizationRate(), and diatomics().

long int diatomics::nzone_nlevel_set
private

this is used to establish zone number for evaluation of number of levels in matrix

Definition at line 581 of file h2_priv.h.

Referenced by diatomics(), H2_LevelPops(), and H2_Reset().

long int diatomics::nzoneAsEval
private

Definition at line 507 of file h2_priv.h.

Referenced by diatomics(), H2_Level_low_matrix(), and H2_Reset().

long int diatomics::nzoneEval

Definition at line 395 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

double diatomics::ortho_colden

column density in ortho and para H2

Definition at line 335 of file h2_priv.h.

Referenced by cdH2_colden(), diatomics(), H2_Prt_column_density(), H2_PunchDo(), and radius_increment().

double diatomics::ortho_density
realnum diatomics::ortho_density_f
double diatomics::ortho_para_current

Definition at line 339 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

double diatomics::ortho_para_old

Definition at line 339 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

double diatomics::ortho_para_older

Definition at line 339 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

double diatomics::para_colden
double diatomics::para_density
realnum diatomics::para_density_f
string diatomics::path
private
double diatomics::photo_heat_hard

Definition at line 263 of file h2_priv.h.

Referenced by CalcPhotoionizationRate(), and diatomics().

double diatomics::photo_heat_soft

Definition at line 262 of file h2_priv.h.

Referenced by CalcPhotoionizationRate(), and diatomics().

double diatomics::photodissoc_BigH2_H2g

Definition at line 265 of file h2_priv.h.

Referenced by diatomics(), H2_LevelPops(), H2_zero_pops_too_low(), and mole_h_reactions().

double diatomics::photodissoc_BigH2_H2s

Definition at line 264 of file h2_priv.h.

Referenced by diatomics(), H2_LevelPops(), H2_zero_pops_too_low(), and mole_h_reactions().

double(* diatomics::photoion_opacity_fun)(double energy)

Definition at line 81 of file h2_priv.h.

Referenced by diatomics(), and OpacityCreate().

double diatomics::photoionize_rate

Definition at line 261 of file h2_priv.h.

Referenced by CalcPhotoionizationRate(), and mole_h_rate_diagnostics().

vector<double> diatomics::pops
private

Definition at line 562 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

double diatomics::pops_per_elec[N_ELEC]
private

the total population in each elec state

Definition at line 484 of file h2_priv.h.

Referenced by GetExcitedElecDensity(), H2_LevelPops(), H2_PunchDo(), H2_zero_pops_too_low(), and SolveExcitedElectronicLevels().

multi_arr<double,2> diatomics::pops_per_vib
private

total population in each vib state

Definition at line 464 of file h2_priv.h.

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
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

Definition at line 280 of file h2_priv.h.

Referenced by diatomics(), H2_Level_low_matrix(), mole_h2_grain_form(), and SolveSomeGroundElectronicLevels().

vector<CollRateCoeffArray> diatomics::RateCoefTable
private

Definition at line 487 of file h2_priv.h.

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

Definition at line 289 of file h2_priv.h.

Referenced by H2_LevelPops(), and mole_h_reactions().

double diatomics::rel_pop_LTE_s

Definition at line 290 of file h2_priv.h.

Referenced by H2_LevelPops(), and mole_h_reactions().

double diatomics::renorm_max

Definition at line 343 of file h2_priv.h.

Referenced by diatomics(), H2_Reset(), H2_RT_tau_inc(), and PrtComment().

double diatomics::renorm_min

Definition at line 343 of file h2_priv.h.

Referenced by diatomics(), H2_Reset(), H2_RT_tau_inc(), and PrtComment().

string diatomics::shortlabel
private

Definition at line 436 of file h2_priv.h.

Referenced by diatomics(), and init().

double diatomics::Solomon_dissoc_rate_g
double diatomics::Solomon_dissoc_rate_s
double diatomics::Solomon_elec_decay_g

these are decay rates from electronic levels into g and s

Definition at line 275 of file h2_priv.h.

Referenced by H2_PunchDo(), and H2_Solomon_rate().

double diatomics::Solomon_elec_decay_s

Definition at line 276 of file h2_priv.h.

Referenced by H2_PunchDo(), and H2_Solomon_rate().

molecule* diatomics::sp

Definition at line 427 of file h2_priv.h.

Referenced by H2_LevelPops(), H2_PunchDo(), H2_ReadEnergies(), H2_X_sink_and_source(), and init().

molecule* diatomics::sp_star

Definition at line 428 of file h2_priv.h.

Referenced by H2_PunchDo(), H2_X_sink_and_source(), and init().

double diatomics::spon_diss_tot

Definition at line 269 of file h2_priv.h.

Referenced by diatomics(), H2_X_sink_and_source(), and SolveExcitedElectronicLevels().

vector<double> diatomics::stat_levn
private

Definition at line 562 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

qList diatomics::states
double diatomics::TeUsedBoltz

Definition at line 422 of file h2_priv.h.

Referenced by diatomics(), H2_Reset(), and mole_H2_LTE().

double diatomics::TeUsedColl

Definition at line 423 of file h2_priv.h.

Referenced by diatomics(), H2_LevelPops(), and H2_Reset().

TransitionList diatomics::trans
double diatomics::xMeanNoise

std and mean for the noise, log normal distribution

Definition at line 398 of file h2_priv.h.

Referenced by init(), and ParseDatabaseH2().

double diatomics::xSTDNoise

Definition at line 398 of file h2_priv.h.

Referenced by init(), and ParseDatabaseH2().


The documentation for this class was generated from the following files: