diatomics Class Reference

#include <h2_priv.h>

Collaboration diagram for diatomics:
[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 (const char *chString)
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 (void)
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_Prt_line_tau (void)
void H2_ParseSave (Parser &p, char *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))

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

Private Attributes

string label
string shortlabel
string path
const double ENERGY_H2_STAR
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_Boltzmann
multi_arr< double, 3 > H2_populations_LTE
multi_arr< realnum, 3 > H2_stat
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 ** col_str
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

Detailed Description

Definition at line 59 of file h2_priv.h.


Constructor & Destructor Documentation

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

Member Function Documentation

double diatomics::Abund (  )  const [inline]

Definition at line 62 of file h2_priv.h.

References dense_total.

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

Definition at line 223 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 2521 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 212 of file mole_h2_coll.cpp.

References ASSERT, FFmtRead(), ipEnergySort, Jlowest, 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 2342 of file mole_h2.cpp.

References DEBUG_ENTRY, H2_X_colden, ioQQQ, nRot_hi, and nVib_hi.

Referenced by cdH2_colden().

double diatomics::gs_rate ( void   ) 
double diatomics::H2_Accel ( void   ) 

radiative acceleration due to H2 called in rt_line_driving

Definition at line 271 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 2361 of file mole_h2.cpp.

References qList::begin(), cdEXIT, DEBUG_ENTRY, dense_total, t_radius::drad_x_fillfac, qList::end(), EXIT_FAILURE, H2_populations_LTE, H2_X_colden, H2_X_colden_LTE, ioQQQ, lgEnabled, radius, states, and multi_arr< T, d, ALLOC, lgBC >::zero().

Referenced by molcol().

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

read collision rates

Parameters:
nColl 

Definition at line 170 of file mole_h2_coll.cpp.

References cdEXIT, t_input::chDelimiter, coll_source, DEBUG_ENTRY, EXIT_FAILURE, t_coll_source::filename, FILENAME_PATH_LENGTH_2, input, INPUT_LINE_LENGTH, ioQQQ, t_coll_source::magic, nLevels_per_elec, open_data(), path, RateCoefTable, read_whole_line(), and ReadCollisionRateTable().

Referenced by init().

Here is the call graph for this function:

void diatomics::H2_ContPoint ( void   ) 

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

Definition at line 253 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 ( const char *  chString  ) 
double diatomics::H2_DR ( void   ) 

H2_DR choose next zone thickness based on H2 big molecule

Definition at line 2406 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 240 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 883 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, TransitionList::begin(), multi_arr< T, d, ALLOC, lgBC >::begin(), qList::begin(), CalcPhotoionizationRate(), t_rfield::ConInterOut, conv, t_thermal::ctot, DEBUG_ENTRY, dense, dense_total, t_dense::eden, t_conv::EdenErrorAllowed, multi_arr< T, d, ALLOC, lgBC >::end(), qList::end(), ENERGY_H2_STAR, EVRYD, fixit(), t_rfield::flux, fnzone, fp_equal(), fp_equal_tol(), FRAC, frac_matrix, g, gs_rate(), H2_Boltzmann, 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_stat, 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(), HeatChange, HeatChangeOld, t_conv::HeatCoolRelErrorAllowed, HeatDexc, HeatDexc_old, hmi, t_thermal::htot, molecule::index, 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, pow(), PRT_POPS, rad_end, rel_pop_LTE_g, rel_pop_LTE_s, rfield, SAHA, SDIV(), 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 49 of file mole_h2_io.cpp.

References TransitionList::begin(), DEBUG_ENTRY, t_radius::dVeffAper, H2_SaveLine, t_LineSave::ipass, ipEnergySort, ipTransitionSort, label, lgEnabled, lindst(), 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 416 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,
char *  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:
*ioMEAN this is stream used for io, is stdout when called by final, is save unit when save output generated

Definition at line 395 of file mole_h2_io.cpp.

References DEBUG_ENTRY, 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_line_tau ( void   ) 

print line optical depths, called from premet in response to print line optical depths command

Definition at line 1189 of file mole_h2_io.cpp.

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

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 333 of file mole_h2_io.cpp.

References DEBUG_ENTRY, dense_total, 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   ) 
void diatomics::H2_Punch_line_data ( FILE *  ioPUN,
bool  lgDoAll 
)

save H2 line data

Parameters:
ioPUN io unit for save
lgDoAll save all levels if true, only subset if false

Definition at line 1127 of file mole_h2_io.cpp.

References TransitionList::begin(), cdEXIT, DEBUG_ENTRY, TransitionList::end(), EXIT_FAILURE, 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 1226 of file mole_h2_io.cpp.

References ASSERT, EmissionProxy::Aul(), average_energy_g, average_energy_s, TransitionList::begin(), multi_arr< T, d, ALLOC, lgBC >::begin(), chMolBranch(), t_colden::colden, colden, t_colden::coldenH2_ov_vel, CollRateCoeff, t_radius::Conv2PrtInten, t_secondaries::csupra, t_thermal::ctot, DEBUG_ENTRY, dense, dense_total, t_radius::depth_mid_zone, TransitionList::Emis(), t_rfield::extin_mag_V_point, findspecieslocal(), g, 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_stat, H2_X_colden, H2_X_colden_LTE, HeatDexc, HeatDiss, t_hmi::HeatH2Dexc_TH85, t_hmi::HeatH2Dish_TH85, hmi, t_thermal::htot, hyperfine, ipCOL_H2g, ipCOL_H2s, ipEnergySort, ipHYDROGEN, t_LineSave::ipNormWavL, ipRot_H2_energy_sort, ipTransitionSort, ipVib_H2_energy_sort, Jlowest, lgEnabled, lgEvaluated, lgH2_radiative, LineSave, LineSv, MAX2, MIN2, 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, EmissionProxy::Pdest(), EmissionProxy::Pelec_esc(), EmissionProxy::Pesc(), phycon, 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, spsort(), states, t_tag_LineSv::SumLine, 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 1169 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 294 of file mole_h2.cpp.

References ASSERT, TransitionList::begin(), DEBUG_ENTRY, 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 986 of file mole_h2_io.cpp.

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

Referenced by init().

Here is the call graph for this function:

void diatomics::H2_ReadDissocEnergies ( void   ) 

Definition at line 831 of file mole_h2_io.cpp.

References ASSERT, cdEXIT, t_input::chDelimiter, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), FILENAME_PATH_LENGTH_2, 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 895 of file mole_h2_io.cpp.

References ASSERT, cdEXIT, t_input::chDelimiter, DEBUG_ENTRY, EXIT_FAILURE, FFmtRead(), FILENAME_PATH_LENGTH_2, 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 ( long int  nelec,
vector< int > &  n,
vector< int > &  v,
vector< int > &  J,
vector< double > &  eWN 
)
void diatomics::H2_ReadEnergies (  ) 

Definition at line 674 of file mole_h2_io.cpp.

References ASSERT, qList::begin(), DEBUG_ENTRY, qList::end(), Jlowest, label, MAX2, n_elec_states, nLevels_per_elec, nRot_hi, nVib_hi, qList::resize(), qList::size(), and states.

Referenced by init().

Here is the call graph for this function:

void diatomics::H2_ReadTransprob ( long int  nelec,
TransitionList trans 
)

read transition probabilities

Parameters:
nelec 

Definition at line 430 of file mole_h2_io.cpp.

References ASSERT, cdEXIT, t_input::chDelimiter, DEBUG_ENTRY, TransitionList::Emis(), EXIT_FAILURE, FFmtRead(), FILENAME_PATH_LENGTH_2, input, ioQQQ, ipEnergySort, ipTransitionSort, lgH2_radiative, N_ELEC, n_trace_full, nRot_hi, nTRACE, 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   ) 

H2_Reset called to reset variables that are needed after an iteration

Definition at line 274 of file mole_h2_etc.cpp.

References DEBUG_ENTRY, fnzone, H2_SaveLine, ioQQQ, iteration, iterationAsEval, lgEvaluated, n_elec_states, nCall_this_iteration, nElecLevelOutput, nH2_pops, nH2_zone, nTRACE, nzone_nlevel_set, nzoneAsEval, renorm_max, renorm_min, TeUsedBoltz, TeUsedColl, and multi_arr< T, d, ALLOC, lgBC >::zero().

Here is the call graph for this function:

void diatomics::H2_RT_diffuse ( void   ) 

do emission from H2 - called from RT_diffuse

Definition at line 345 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 2412 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 386 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 432 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 ( void   ) 

do RT for H2 lines

Definition at line 364 of file mole_h2.cpp.

References TransitionList::begin(), DEBUG_ENTRY, GetDopplerWidth(), lgEnabled, mass_amu, rad_end, RT_line_one(), 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_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 187 of file mole_h2_etc.cpp.

References TransitionList::begin(), qList::begin(), DEBUG_ENTRY, qList::end(), g, 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 111 of file mole_h2_create.cpp.

References abscf(), multi_arr< T, d, ALLOC, lgBC >::alloc(), AllTransitions, ASSERT, ATOMIC_MASS_UNIT, TransitionList::begin(), qList::begin(), BIGFLOAT, cdEXIT, t_hmi::chGrainFormPump, multi_arr< T, d, ALLOC, lgBC >::clone(), CollRateCoeff, CollRateErrFac, compareEmis(), DEBUG_ENER, DEBUG_ENTRY, EH2_eval(), EN1EV, TransitionList::end(), qList::end(), ENERGY_H2_STAR, energy_off, EXIT_FAILURE, EXIT_SUCCESS, findspecies(), findspecieslocal(), fixit(), g, GetGF(), H2_Boltzmann, 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_nRot_add_ortho_para, 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_stat, 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, hmi, HPLANCK, ioQQQ, ipCRDW, ipElec_H2_energy_sort, ipEnergySort, ipH2, ipNCOLLIDER, ipoint(), ipRot_H2_energy_sort, ipTransitionSort, ipVib_H2_energy_sort, is_odd(), Jlowest, label, molezone::levels, lgEnabled, lgH2_NOISE, lgH2_radiative, t_hmi::lgLeiden_Keep_ipMH2s, lgRadiative(), lgREAD_DATA, t_mole_global::lgStancil, molezone::lines, mass_amu, mole_global, molecule::mole_mass, n_elec_states, n_trace_full, N_X_COLLIDER, nEner_H2_ground, nLevels_per_elec, nRot_hi, nTE_HMINUS, nTRACE, null_mole, nVib_hi, nXLevelsMatrix, opac, PI, PI4, pops_per_vib, pow(), POW2, pow3(), rad_end, RandGauss(), RateCoefTable, Read_Mol_Diss_cross_sections(), RefIndex(), multi_arr< T, d, ALLOC, lgBC >::reserve(), qList::resize(), TransitionList::resize(), sexp(), shortlabel, TransitionList::size(), qList::size(), SMALLFLOAT, sp, sp_star, TransitionList::states(), states, t_opac::taumin, TotalInsanity(), trans, WAVNRYD, xMeanNoise, xSTDNoise, and multi_arr< T, d, ALLOC, lgBC >::zero().

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 112 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 228 of file mole_h2_etc.cpp.

References ASSERT, qList::begin(), DEBUG_ENTRY, qList::end(), fp_equal(), H2_Boltzmann, H2_populations_LTE, ioQQQ, n_trace_full, nTRACE, phycon, sexp(), states, t_phycon::te, and TeUsedBoltz.

Referenced by H2_LevelPops().

Here is the call graph for this function:

long diatomics::OpacityCreate ( double *  stack  ) 
void diatomics::Read_Mol_Diss_cross_sections ( void   ) 
void diatomics::set_numLevelsMatrix ( long  numLevels  ) 

Definition at line 1996 of file mole_h2_io.cpp.

References lgREAD_DATA, and nXLevelsMatrix.

Referenced by ParseAtomH2().

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

Field Documentation

double ** diatomics::AulDest [private]

Definition at line 692 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

double** diatomics::AulEscp [private]

Definition at line 692 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

double ** diatomics::AulPump [private]

Definition at line 692 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

Average Einstein A for H2s to H2g transition

Definition at line 293 of file h2_priv.h.

Referenced by diatomics(), and H2_Calc_Average_Rates().

Average noreactive collisional rate for H2s to H2g transition

Definition at line 295 of file h2_priv.h.

Referenced by diatomics(), and H2_Calc_Average_Rates().

Definition at line 302 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

Definition at line 303 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

Definition at line 297 of file h2_priv.h.

Referenced by diatomics(), and H2_Calc_Average_Rates().

Definition at line 296 of file h2_priv.h.

Referenced by diatomics(), and H2_Calc_Average_Rates().

Average collisional dissociation of H2g and H2s by H and H2

Definition at line 300 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

Definition at line 301 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

Definition at line 298 of file h2_priv.h.

Referenced by diatomics(), and H2_Calc_Average_Rates().

average energy level of H2g and H2s

Definition at line 283 of file h2_priv.h.

Referenced by H2_LevelPops(), and H2_PunchDo().

Definition at line 284 of file h2_priv.h.

Referenced by H2_LevelPops(), and H2_PunchDo().

Definition at line 586 of file h2_priv.h.

Referenced by diatomics(), and H2_ParseSave().

double ** diatomics::col_str [private]

Definition at line 692 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

Definition at line 313 of file h2_priv.h.

Referenced by diatoms_init(), H2_CollidRateRead(), ParseAtomH2(), and ParseSet().

double ** diatomics::CollRate_levn [private]

Definition at line 692 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

Definition at line 617 of file h2_priv.h.

Referenced by H2_CollidRateEvalOne(), and init().

Definition at line 275 of file h2_priv.h.

Referenced by Mol_Photo_Diss_Rates(), and mole_h_reactions().

H2 continuum photodissociation rate coefficient (not scaled by density) from P.C. Stancil data

Definition at line 274 of file h2_priv.h.

Referenced by Mol_Photo_Diss_Rates(), and mole_h_reactions().

vector<double> diatomics::create [private]

Definition at line 697 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 697 of file h2_priv.h.

Referenced by H2_Level_low_matrix(), and H2_PrtDepartCoef().

vector<double> diatomics::destroy [private]

Definition at line 697 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

const double diatomics::ENERGY_H2_STAR [private]

this is the energy (in cm-1), above which levels are considered to be H2*, and below which they are H2

Definition at line 581 of file h2_priv.h.

Referenced by H2_Calc_Average_Rates(), H2_LevelPops(), H2_Solomon_rate(), H2_X_sink_and_source(), init(), Mol_Photo_Diss_Rates(), and mole_H2_form().

vector<double> diatomics::excit [private]

Definition at line 697 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

Definition at line 409 of file h2_priv.h.

Referenced by H2_LevelPops().

multi_arr<double,3> diatomics::H2_Boltzmann [private]
multi_arr<double,2> diatomics::H2_col_rate_in [private]

Definition at line 646 of file h2_priv.h.

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

Definition at line 647 of file h2_priv.h.

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

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

Definition at line 663 of file h2_priv.h.

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

Definition at line 666 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 677 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 677 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().

Definition at line 628 of file h2_priv.h.

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

Definition at line 604 of file h2_priv.h.

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

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

Definition at line 627 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 645 of file h2_priv.h.

Referenced by H2_X_sink_and_source(), and init().

multi_arr<bool,3> diatomics::H2_lgOrtho [private]

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

Definition at line 632 of file h2_priv.h.

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

multi_arr<double,2> diatomics::H2_rad_rate_in [private]

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

Definition at line 598 of file h2_priv.h.

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

Definition at line 705 of file h2_priv.h.

Referenced by getLine(), H2_LinesAdd(), H2_PunchDo(), H2_Reset(), and init().

this is total statistical weight, including nuclear spin

Definition at line 636 of file h2_priv.h.

Referenced by H2_Calc_Average_Rates(), H2_Cooling(), H2_Level_low_matrix(), H2_LevelPops(), H2_PunchDo(), init(), and SolveSomeGroundElectronicLevels().

limit to the ratio H2/Htot - if ratio is below this, large atom is not called

Definition at line 391 of file h2_priv.h.

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

column density within X only vib and rot

Definition at line 655 of file h2_priv.h.

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

LTE column density within X only vib and rot

Definition at line 657 of file h2_priv.h.

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

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

Definition at line 601 of file h2_priv.h.

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

Definition at line 651 of file h2_priv.h.

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

Definition at line 674 of file h2_priv.h.

Referenced by init(), and mole_H2_form().

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

Definition at line 653 of file h2_priv.h.

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

vib, rot, last dim is temperature

Definition at line 680 of file h2_priv.h.

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

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

Definition at line 659 of file h2_priv.h.

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

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

Definition at line 661 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]

Definition at line 290 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

Definition at line 290 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

Definition at line 289 of file h2_priv.h.

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

Definition at line 288 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

Definition at line 286 of file h2_priv.h.

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

Definition at line 311 of file h2_priv.h.

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

index for threshold for photoionization

Definition at line 310 of file h2_priv.h.

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

valarray<long> diatomics::ipElec_H2_energy_sort [private]

Definition at line 683 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 702 of file h2_priv.h.

Referenced by CalcPhotoionizationRate(), and diatomics().

long int diatomics::iterationAsEval [private]

Definition at line 641 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 611 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 699 of file h2_priv.h.

Referenced by diatomics(), and H2_Level_low_matrix().

this is option to turn off the calculated collision rates

Definition at line 356 of file h2_priv.h.

Referenced by diatomics(), H2_CollidRateEvalOne(), H2_X_coll_rate_evaluate(), H2_X_sink_and_source(), and ParseAtomH2().

this is option to turn off guesses of collisional dissociation rates

Definition at line 359 of file h2_priv.h.

Referenced by diatomics(), H2_CollidRateEvalAll(), and ParseAtomH2().

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 353 of file h2_priv.h.

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

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 307 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 700 of file h2_priv.h.

Referenced by diatomics(), and H2_Level_low_matrix().

Definition at line 363 of file h2_priv.h.

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

Definition at line 349 of file h2_priv.h.

Referenced by diatomics(), and ParseSet().

Definition at line 373 of file h2_priv.h.

Referenced by diatomics(), ParseAtomH2(), and ParseSet().

put noise into collision rates

Definition at line 380 of file h2_priv.h.

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

noise for the CR collisions

Definition at line 382 of file h2_priv.h.

Referenced by diatomics(), and ParseAtomH2().

Definition at line 376 of file h2_priv.h.

Referenced by diatomics(), and ParseAtomH2().

option to turn off ortho-para collisions, command ATOM H2 COLLISIONS ORTHO PARA OFF

Definition at line 369 of file h2_priv.h.

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

Definition at line 377 of file h2_priv.h.

Referenced by diatomics(), and ParseAtomH2().

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

Definition at line 709 of file h2_priv.h.

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

flag to force LTE level populations, atom H2 LTE

Definition at line 366 of file h2_priv.h.

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

flag saying whether molecular data have been read in yet

Definition at line 249 of file h2_priv.h.

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

Definition at line 384 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

Definition at line 393 of file h2_priv.h.

Referenced by H2_RadPress(), H2_RT_tau_inc(), H2_RTMake(), and init().

this sets how fine a trace we want for atom h2 trace

Definition at line 399 of file h2_priv.h.

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

Definition at line 399 of file h2_priv.h.

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

Definition at line 399 of file h2_priv.h.

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

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 721 of file h2_priv.h.

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

long int diatomics::ndimMalloced [private]

Definition at line 691 of file h2_priv.h.

Referenced by diatomics(), and H2_Level_low_matrix().

Definition at line 346 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 592 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 712 of file h2_priv.h.

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

long int diatomics::nH2_zone [private]

Definition at line 713 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]
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 690 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 701 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 716 of file h2_priv.h.

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

long int diatomics::nzoneAsEval [private]

Definition at line 641 of file h2_priv.h.

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

Definition at line 385 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

column density in ortho and para H2

Definition at line 325 of file h2_priv.h.

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

Definition at line 329 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

Definition at line 329 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

Definition at line 329 of file h2_priv.h.

Referenced by diatomics(), and H2_LevelPops().

string diatomics::path [private]

Definition at line 253 of file h2_priv.h.

Referenced by CalcPhotoionizationRate(), and diatomics().

Definition at line 252 of file h2_priv.h.

Referenced by CalcPhotoionizationRate(), and diatomics().

Definition at line 255 of file h2_priv.h.

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

Definition at line 254 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)

Referenced by diatomics(), and OpacityCreate().

Definition at line 251 of file h2_priv.h.

Referenced by CalcPhotoionizationRate(), and mole_h_rate_diagnostics().

vector<double> diatomics::pops [private]

Definition at line 697 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 615 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 595 of file h2_priv.h.

Referenced by H2_LevelPops(), H2_Prt_Zone(), H2_zero_pops_too_low(), init(), and SolveExcitedElectronicLevels().

rate H2 goes from all X into either J=1 (ortho) or (J=0) para on grain surfaces - units s-1

Definition at line 270 of file h2_priv.h.

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

Definition at line 618 of file h2_priv.h.

Referenced by H2_CollidRateEvalOne(), H2_CollidRateRead(), and init().

LTE pops of g and s used for H- back reactions

Definition at line 279 of file h2_priv.h.

Referenced by H2_LevelPops(), and mole_h_reactions().

Definition at line 280 of file h2_priv.h.

Referenced by H2_LevelPops(), and mole_h_reactions().

Definition at line 333 of file h2_priv.h.

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

Definition at line 333 of file h2_priv.h.

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

string diatomics::shortlabel [private]

Definition at line 569 of file h2_priv.h.

Referenced by diatomics(), and init().

these are decay rates from electronic levels into g and s

Definition at line 265 of file h2_priv.h.

Referenced by H2_PunchDo(), and H2_Solomon_rate().

Definition at line 266 of file h2_priv.h.

Referenced by H2_PunchDo(), and H2_Solomon_rate().

Definition at line 558 of file h2_priv.h.

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

Definition at line 561 of file h2_priv.h.

Referenced by H2_X_sink_and_source(), and init().

Definition at line 259 of file h2_priv.h.

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

vector<double> diatomics::stat_levn [private]

Definition at line 697 of file h2_priv.h.

Referenced by H2_Level_low_matrix().

Definition at line 412 of file h2_priv.h.

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

Definition at line 413 of file h2_priv.h.

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

std and mean for the noise, log normal distribution

Definition at line 388 of file h2_priv.h.

Referenced by init(), and ParseAtomH2().

Definition at line 388 of file h2_priv.h.

Referenced by init(), and ParseAtomH2().


The documentation for this class was generated from the following files:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Nov 2012 for cloudy by  doxygen 1.6.1