#include "cddefines.h"
#include "cddrive.h"
#include "physconst.h"
#include "taulines.h"
#include "atoms.h"
#include "conv.h"
#include "secondaries.h"
#include "pressure.h"
#include "trace.h"
#include "hmi.h"
#include "hextra.h"
#include "rt.h"
#include "radius.h"
#include "ipoint.h"
#include "phycon.h"
#include "thermal.h"
#include "dense.h"
#include "rfield.h"
#include "lines_service.h"
#include "mole.h"
#include "h2.h"
#include "h2_priv.h"
Include dependency graph for mole_h2.cpp:
Go to the source code of this file.
Defines | |
#define | PRT_POPS false |
#define | LIM_H2_POP_LOOP 100 |
#define | H2_DISS_ALLISON_DALGARNO 6e-19f |
#define | FRAC 0.99999 |
#define | PRT false |
Functions | |
STATIC void | H2_X_coll_rate_evaluate (void) |
double | H2_itrzn (void) |
void | H2_ContPoint (void) |
double | H2_Accel (void) |
double | H2_RadPress (void) |
void | H2_RT_diffuse (void) |
void | H2_RTMake (bool lgDoEsc, bool lgUpdateFineOpac) |
void | H2_RT_tau_inc (void) |
void | H2_LineZero (void) |
void | H2_RT_tau_reset (void) |
STATIC void | H2_Level_low_matrix (realnum abundance) |
void | H2_LevelPops (void) |
void | H2_Cooling (const char *chRoutine) |
double | cdH2_colden (long iVib, long iRot) |
void | H2_Colden (const char *chLabel) |
double | H2_DR (void) |
void | H2_RT_OTS (void) |
Variables | |
static long int | loop_h2_pops |
realnum | H2_te_hminus [nTE_HMINUS] = {10.,30.,100.,300.,1000.,3000.,10000.} |
static realnum | collider_density [N_X_COLLIDER] |
static realnum | collider_density_total_not_H2 |
int | H2_nRot_add_ortho_para [N_H2_ELEC] = {0 , 1 , 1 , 0, 1, 1 , 0} |
double | H2_DissocEnergies [N_H2_ELEC] |
double | exp_disoc |
static double | frac_matrix |
#define FRAC 0.99999 |
#define H2_DISS_ALLISON_DALGARNO 6e-19f |
#define LIM_H2_POP_LOOP 100 |
Definition at line 24 of file mole_h2.cpp.
#define PRT false |
#define PRT_POPS false |
Definition at line 22 of file mole_h2.cpp.
double cdH2_colden | ( | long | iVib, | |
long | iRot | |||
) |
cdH2_colden return column density in H2, returns -1 if cannot find state, header is in cdDrive, source in h2.c
Definition at line 3549 of file mole_h2.cpp.
References h2, H2_X_colden, t_h2::lgH2ON, t_h2::nRot_hi, t_h2::nVib_hi, t_h2::ortho_colden, and t_h2::para_colden.
Referenced by cdColm(), and lgCheckAsserts().
double H2_Accel | ( | void | ) |
radiative acceleration due to H2 called in rt_line_driving
Definition at line 364 of file mole_h2.cpp.
References ASSERT, DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, lgH2_line_exists, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nRot_hi, and t_h2::nVib_hi.
void H2_Colden | ( | const char * | chLabel | ) |
H2_Colden maintain H2 column densities within X
*chLabel |
Definition at line 3603 of file mole_h2.cpp.
References DEBUG_ENTRY, h2, H2_X_colden, H2_X_colden_LTE, t_h2::Jlowest, t_h2::lgH2ON, t_h2::nRot_hi, and t_h2::nVib_hi.
Referenced by molcol().
void H2_ContPoint | ( | void | ) |
set the ipCont struc element for the H2 molecule, called by ContCreatePointers
Definition at line 305 of file mole_h2.cpp.
References ASSERT, DEBUG_ENTRY, h2, H2Lines, ipFineCont(), ipLineEnergy(), t_h2::Jlowest, lgH2_line_exists, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nRot_hi, t_h2::nVib_hi, and WAVNRYD.
Here is the call graph for this function:
void H2_Cooling | ( | const char * | chString | ) |
H2_cooling evaluate cooling and heating due to H2 molecule, string is name of calling routine
*chString | name of calling routine |
Definition at line 3051 of file mole_h2.cpp.
References DEBUG_ENTRY, t_hmi::deriv_HeatH2Dexc_BigH2, h2, H2_disske, H2_dissprob, H2_populations, t_hmi::HeatH2Dexc_BigH2, t_hmi::HeatH2Dish_BigH2, hmi, t_h2::Jlowest, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, nCallH2_this_iteration, t_h2::nRot_hi, and t_h2::nVib_hi.
Referenced by CoolEvaluate().
double H2_DR | ( | void | ) |
H2_DR choose next zone thickness based on H2 big molecule
Definition at line 3656 of file mole_h2.cpp.
References BIGFLOAT.
double H2_itrzn | ( | void | ) |
H2_itrzn - average number of H2 pop evaluations per zone
Definition at line 292 of file mole_h2.cpp.
References h2, t_h2::lgH2ON, nH2_pops, and nH2_zone.
STATIC void H2_Level_low_matrix | ( | realnum | abundance | ) |
Definition at line 904 of file mole_h2.cpp.
References ASSERT, atom_levelN(), cdEXIT, DEBUG_ENTRY, energy_wn, H2_Boltzmann, H2_energies, H2_ipX_ener_sort, H2_lgOrtho, H2_populations, H2_stat, t_hmi::H2_total, H2_X_coll_rate, H2_X_rate_from_elec_excited, H2_X_rate_to_elec_excited, H2_X_sink, H2_X_source, H2Lines, hmi, ioQQQ, ipRot_H2_energy_sort, ipVib_H2_energy_sort, iteration, iterationAsEval, lgH2_line_exists, MALLOC, mole, t_mole::nH2_TRACE, t_mole::nH2_trace_full, t_mole::nH2_trace_matrix, nLevels_per_elec, nXLevelsMatrix, nzone, nzoneAsEval, t_hmi::rate_grain_h2_J1_to_J0, t_hmi::rate_grain_h2_op_conserve, SDIV(), and T1CM.
Here is the call graph for this function:
void H2_LevelPops | ( | void | ) |
do level populations for H2, called by iso_solve
Definition at line 1420 of file mole_h2.cpp.
References conv, DEBUG_ENTRY, dense, t_dense::eden, fnzone, frac_matrix, t_dense::gas_phase, h2, H2_CollidRateEvalAll(), H2_old_populations, H2_populations, H2_populations_LTE, t_mole::H2_to_H_limit, t_hmi::H2_total, H2_zero_pops_too_low(), hmi, ioQQQ, ipHYDROGEN, t_h2::Jlowest, lgAbort, t_hmi::lgBigH2_evaluated, t_mole::lgH2_LTE, t_h2::lgH2ON, t_conv::lgSearch, mole, mole_H2_LTE(), t_mole::n_h2_elec_states, nCallH2_this_iteration, t_mole::nH2_TRACE, t_mole::nH2_trace_final, t_mole::nH2_trace_full, nLevels_per_elec, t_h2::nRot_hi, t_h2::nVib_hi, nXLevelsMatrix, nzone, t_h2::ortho_density, t_h2::para_density, phycon, pops_per_elec, pops_per_vib, SDIV(), and t_phycon::te.
Here is the call graph for this function:
void H2_LineZero | ( | void | ) |
initialize optical depths in H2, called from RT_tau_init
Definition at line 792 of file mole_h2.cpp.
References DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, lgH2_line_exists, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nRot_hi, t_h2::nVib_hi, and TransitionZero().
Here is the call graph for this function:
double H2_RadPress | ( | void | ) |
rad pre due to h2 lines called in PresTotCurrent
Definition at line 427 of file mole_h2.cpp.
References ASSERT, DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, lgH2_line_exists, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nCallH2_this_zone, t_h2::nRot_hi, t_h2::nVib_hi, PressureRadiationLine(), and SMALLFLOAT.
Here is the call graph for this function:
void H2_RT_diffuse | ( | void | ) |
do emission from H2 - called from RT_diffuse
Definition at line 566 of file mole_h2.cpp.
References DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, lgH2_line_exists, t_h2::lgH2ON, t_h2::nCallH2_this_zone, t_h2::nRot_hi, t_h2::nVib_hi, and outline().
Here is the call graph for this function:
void H2_RT_OTS | ( | void | ) |
H2_RT_OTS - add H2 ots fields
Definition at line 3662 of file mole_h2.cpp.
References DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, lgH2_line_exists, t_h2::lgH2ON, t_h2::nCallH2_this_zone, t_h2::nRot_hi, t_h2::nVib_hi, and RT_OTS_AddLine().
Here is the call graph for this function:
void H2_RT_tau_inc | ( | void | ) |
increment optical depth for the H2 molecule, called from RT_tau_inc
Definition at line 724 of file mole_h2.cpp.
References ASSERT, DEBUG_ENTRY, h2, H2_renorm_chemistry, H2Lines, t_h2::Jlowest, lgH2_line_exists, t_h2::lgH2ON, MAX2, MIN2, mole, t_mole::n_h2_elec_states, nCallH2_this_iteration, t_h2::nRot_hi, t_h2::nVib_hi, nzone, t_h2::renorm_max, t_h2::renorm_min, and RT_line_one_tauinc().
Here is the call graph for this function:
void H2_RT_tau_reset | ( | void | ) |
the large H2 molecule, called from RT_tau_reset
Definition at line 847 of file mole_h2.cpp.
References DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, lgH2_line_exists, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nRot_hi, t_h2::nVib_hi, and RT_line_one_tau_reset().
Here is the call graph for this function:
void H2_RTMake | ( | bool | lgDoEsc, | |
bool | lgUpdateFineOpac | |||
) |
do RT for H2 - called from RT_line_all
lgDoEsc | ||
lgUpdateFineOpac |
Definition at line 619 of file mole_h2.cpp.
References DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, lgH2_line_exists, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nRot_hi, t_h2::nVib_hi, and RT_line_one().
Here is the call graph for this function:
STATIC void H2_X_coll_rate_evaluate | ( | void | ) |
Definition at line 81 of file mole_h2.cpp.
References ASSERT, co, collider_density, collider_density_total_not_H2, t_hextra::cryden_ov_background, t_secondaries::csupra, DEBUG_ENTRY, dense, t_dense::eden, exp_disoc, t_rfield::flux_accum, fp_equal(), h2, H2_Boltzmann, H2_coll_dissoc_rate_coef, H2_coll_dissoc_rate_coef_H2, H2_CollRate, H2_DISS_ALLISON_DALGARNO, H2_DissocEnergies, H2_ipPhoto, H2_ipX_ener_sort, t_hmi::H2_photoionize_rate, H2_stat, t_hmi::H2_total, H2_X_coll_rate, H2_X_formation, H2_X_Hmin_back, H2_X_sink, H2_X_source, hextra, hmi, t_hmi::Hmolec, ioQQQ, ipHELIUM, ipHYDROGEN, ipMH3p, ipRot_H2_energy_sort, ipVib_H2_energy_sort, t_mole::lgColl_deexec_Calc, t_co::lgUMISTrates, mole, N_X_COLLIDER, t_mole::nH2_TRACE, t_mole::nH2_trace_full, nLevels_per_elec, t_h2::ortho_density, t_h2::para_density, phycon, t_hmi::rel_pop_LTE_Hmin, rfield, t_hmi::rh2h2p, SAHA, SDIV(), secondaries, sexp(), t_phycon::te32, t_phycon::te_wn, t_secondaries::x12tot, and t_dense::xIonDense.
Here is the call graph for this function:
realnum collider_density[N_X_COLLIDER] [static] |
realnum collider_density_total_not_H2 [static] |
double exp_disoc |
double frac_matrix [static] |
double H2_DissocEnergies[N_H2_ELEC] |
Initial value:
{ 36118.11, 118375.6, 118375.6, 118375.6, 118375.6,133608.6,133608.6 }
Definition at line 72 of file mole_h2.cpp.
Referenced by EH2_eval(), H2_CollidRateEvalAll(), H2_vib_dist(), and H2_X_coll_rate_evaluate().
int H2_nRot_add_ortho_para[N_H2_ELEC] = {0 , 1 , 1 , 0, 1, 1 , 0} |
the remainder can't be EXTERN since init to values in h2.c
Definition at line 64 of file mole_h2.cpp.
realnum H2_te_hminus[nTE_HMINUS] = {10.,30.,100.,300.,1000.,3000.,10000.} |
temperature where H- distribution are set
Definition at line 54 of file mole_h2.cpp.
Referenced by H2_Read_hminus_distribution().
long int loop_h2_pops [static] |
Definition at line 52 of file mole_h2.cpp.