h2_priv.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define ENERGY_H2_STAR   (4100.)
#define CR_PRINT   false
#define CR_X   1
#define CR_VIB   15
#define CR_J   10
#define CR_EXIT   3
#define N_X_COLLIDER   6
#define VIB_COLLID   3
#define nTE_HMINUS   7

Functions

double H2_He_coll (int init, int final, double temp)
long int H2_He_coll_init (char FILE_NAME_IN[])
void H2_ReadEnergies (long int nelec)
void H2_ReadDissprob (long int nelec)
void H2_ReadCollRates (long int nColl)
void H2_ReadTransprob (long int nelec)
void H2_Read_hminus_distribution (void)
void mole_H2_form (void)
void mole_H2_LTE (void)
void H2_Solomon_rate (void)
void H2_gs_rates (void)
void H2_zero_pops_too_low (void)

Variables

EXTERN long int nEner_H2_ground
EXTERN double *** H2_populations
EXTERN double *** H2_rad_rate_out
EXTERN double ** pops_per_vib
EXTERN double H2_renorm_chemistry
EXTERN double H2_sum_excit_elec_den
EXTERN float ** H2_X_colden
EXTERN double ** H2_X_rate_from_elec_excited
EXTERN double ** H2_X_rate_to_elec_excited
EXTERN float ** H2_X_coll_rate
EXTERN float ** H2_X_colden_LTE
EXTERN long int nLevels_per_elec [N_H2_ELEC]
EXTERN double pops_per_elec [N_H2_ELEC]
EXTERN double *** energy_wn
EXTERN float ****** CollRateFit
EXTERN float *** H2_dissprob
EXTERN float *** H2_disske
EXTERN float ***** H2_CollRate
EXTERN double *** H2_old_populations
EXTERN double *** H2_Boltzmann
EXTERN double *** H2_populations_LTE
EXTERN float *** H2_stat
EXTERN int *** H2_lgOrtho
EXTERN long int nzoneAsEval
EXTERN long int iterationAsEval
EXTERN int ** H2_ipPhoto
EXTERN double ** H2_col_rate_in
EXTERN double ** H2_col_rate_out
EXTERN double ** H2_rad_rate_in
EXTERN float * H2_X_source
EXTERN float * H2_X_sink
EXTERN float *** H2_X_grain_formation_distribution
EXTERN float ** H2_X_formation
EXTERN float ** H2_X_Hmin_back
EXTERN float ** H2_coll_dissoc_rate_coef
EXTERN float ** H2_coll_dissoc_rate_coef_H2
EXTERN double H2_den_s
EXTERN double H2_den_g
EXTERN float *** H2_X_hminus_formation_distribution
EXTERN float * H2_Xenergies
EXTERN long int * H2_ipX_ener_sort
EXTERN long int * ipVib_H2_energy_sort
EXTERN long int * ipRot_H2_energy_sort
EXTERN long int ** ipEnergySort
EXTERN long int nXLevelsMatrix
EXTERN float ****** H2_SaveLine
EXTERN int ****** lgH2_line_exists
EXTERN long int nH2_pops
EXTERN long int nH2_zone
EXTERN long int nzone_nlevel_set
EXTERN long int nCallH2_this_iteration
int H2_nRot_add_ortho_para [N_H2_ELEC]
double H2_DissocEnergies [N_H2_ELEC]
float H2_te_hminus [nTE_HMINUS]


Define Documentation

#define CR_EXIT   3

Definition at line 77 of file h2_priv.h.

#define CR_J   10

Definition at line 76 of file h2_priv.h.

#define CR_PRINT   false

Definition at line 73 of file h2_priv.h.

#define CR_VIB   15

Definition at line 75 of file h2_priv.h.

#define CR_X   1

Definition at line 74 of file h2_priv.h.

#define ENERGY_H2_STAR   (4100.)

this is the energy, above which levels are considered to be H2*, and below which they are H2 - it is converted from eV into wavenumbers since energy scale energy_wn[][][] is in these terms

Definition at line 16 of file h2_priv.h.

Referenced by H2_Create(), H2_LevelPops(), and mole_H2_form().

#define N_X_COLLIDER   6

the number of different types of colliders >>chng 05 oct 02, from 5 to 6, to include new He collisions there are now two He collisions, and only one is used at one time old is Meudon and new is Oak Ridge collaboration

Definition at line 83 of file h2_priv.h.

Referenced by H2_collid_rates(), H2_Cooling(), H2_Create(), H2_ReadCollRates(), and H2_X_coll_rate_evaluate().

#define nTE_HMINUS   7

the number of temperature points in the data file

Definition at line 89 of file h2_priv.h.

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

#define VIB_COLLID   3

this is the highest vib state that has collision data

Definition at line 86 of file h2_priv.h.

Referenced by H2_Cooling(), H2_Create(), and H2_ReadCollRates().


Function Documentation

void H2_gs_rates ( void   ) 

double H2_He_coll ( int  init,
int  final,
double  temp 
)

H2_He_coll Interpolate the rate coefficeints The range of the temperature is between 2K - 1e8K

Parameters:
init 
final 
temp 

Definition at line 739 of file mole_h2_etc.cpp.

References b2, defn, fit_par, and ioQQQ.

Referenced by H2_collid_rates().

long int H2_He_coll_init ( char  FILE_NAME_IN[]  ) 

H2_He_coll_init receives the name of the file that contrains the fitting coefficeints of all transitions and read into 3d vectors. It outputs 'test.out' to test the arrays return value is magic number

Parameters:
FILE_NAME_IN[] 

Definition at line 638 of file mole_h2_etc.cpp.

References defn, fit_par, ioQQQ, nl, nu, Num_fit_par, par, and SizeOf_line.

Referenced by H2_ReadCollRates().

void H2_Read_hminus_distribution ( void   ) 

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

Definition at line 1220 of file mole_h2_io.cpp.

References ASSERT, BadRead(), cdEXIT(), chDataPath, DEBUG_EXIT, FFmtRead(), FILENAME_PATH_LENGTH_2, h2, H2_te_hminus, H2_X_hminus_formation_distribution, H2HMINUS_PRT, INPUT_LINE_LENGTH, ioQQQ, t_h2::Jlowest, lgDataPathSet, t_h2::nRot_hi, nTE_HMINUS, and t_h2::nVib_hi.

Referenced by H2_Create().

Here is the call graph for this function:

void H2_ReadCollRates ( long int  nColl  ) 

read collision rates

Parameters:
nColl 

Definition at line 507 of file mole_h2_io.cpp.

References COmole_rate_s::a, ASSERT, BadRead(), cdEXIT(), chDataPath, CollRateFit, DEBUG_ENTRY, DEBUG_EXIT, energy_wn, FFmtRead(), FILENAME_PATH_LENGTH_2, h2, H2_He_coll_init(), INPUT_LINE_LENGTH, ioQQQ, lgDataPathSet, N_X_COLLIDER, t_h2::nRot_hi, path_not_set(), and VIB_COLLID.

Referenced by H2_Create().

Here is the call graph for this function:

void H2_ReadDissprob ( long int  nelec  ) 

read dissociation probabilities and kinetic energies for all electronic levels

Parameters:
nelec 

Definition at line 1092 of file mole_h2_io.cpp.

References ASSERT, COmole_rate_s::b, BadRead(), cdEXIT(), chDataPath, DEBUG_ENTRY, FFmtRead(), FILENAME_PATH_LENGTH_2, h2, H2_disske, H2_dissprob, INPUT_LINE_LENGTH, ioQQQ, t_h2::Jlowest, lgDataPathSet, N_H2_ELEC, t_h2::nRot_hi, and t_h2::nVib_hi.

Referenced by H2_Create().

Here is the call graph for this function:

void H2_ReadEnergies ( long int  nelec  ) 

read energies for all electronic levels

Parameters:
nelec 

Definition at line 963 of file mole_h2_io.cpp.

References ASSERT, BadRead(), cdEXIT(), chDataPath, DEBUG_ENTRY, DEBUG_EXIT, energy_wn, FFmtRead(), FILENAME_PATH_LENGTH_2, h2, INPUT_LINE_LENGTH, ioQQQ, t_h2::Jlowest, lgDataPathSet, N_H2_ELEC, nLevels_per_elec, t_h2::nRot_hi, and t_h2::nVib_hi.

Referenced by H2_Create().

Here is the call graph for this function:

void H2_ReadTransprob ( long int  nelec  ) 

read transition probabilities

Parameters:
nelec 

Definition at line 667 of file mole_h2_io.cpp.

References ASSERT, EmLine::Aul, BadRead(), cdEXIT(), chDataPath, DEBUG_ENTRY, DEBUG_EXIT, energy_wn, FFmtRead(), FILENAME_PATH_LENGTH_2, h2, H2Lines, INPUT_LINE_LENGTH, ioQQQ, lgDataPathSet, lgH2_line_exists, N_H2_ELEC, t_h2::nRot_hi, t_h2::nVib_hi, and ShowMe().

Referenced by H2_Create().

Here is the call graph for this function:

void H2_Solomon_rate ( void   ) 

void H2_zero_pops_too_low ( void   ) 

void mole_H2_form ( void   ) 

void mole_H2_LTE ( void   ) 

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

Definition at line 330 of file mole_h2_etc.cpp.

References ASSERT, DEBUG_ENTRY, DEBUG_EXIT, energy_wn, h2, H2_Boltzmann, H2_populations_LTE, H2_stat, ioQQQ, t_h2::Jlowest, mole, t_mole::n_h2_elec_states, t_mole::nH2_TRACE, t_mole::nH2_trace_full, t_h2::nRot_hi, t_h2::nVib_hi, phycon, sexp(), t_phycon::te, and t_phycon::te_wn.

Referenced by H2_LevelPops().

Here is the call graph for this function:


Variable Documentation

EXTERN float****** CollRateFit

this is the actual rate, cm^3 s^-1, for each collider CollRate[coll_type][vib_up][rot_up][vib_lo][rot_lo]

Definition at line 133 of file h2_priv.h.

Referenced by H2_collid_rates(), H2_Create(), and H2_ReadCollRates().

EXTERN double*** energy_wn

EXTERN double*** H2_Boltzmann

EXTERN double** H2_col_rate_in

Definition at line 154 of file h2_priv.h.

Referenced by H2_Create(), H2_LevelPops(), and H2_PunchDo().

EXTERN double** H2_col_rate_out

Definition at line 155 of file h2_priv.h.

Referenced by H2_Create(), H2_LevelPops(), and H2_PunchDo().

EXTERN float** H2_coll_dissoc_rate_coef

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

Definition at line 172 of file h2_priv.h.

Referenced by H2_collid_rates(), H2_Create(), and H2_X_coll_rate_evaluate().

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

Definition at line 175 of file h2_priv.h.

Referenced by H2_collid_rates(), H2_Create(), H2_LevelPops(), and H2_X_coll_rate_evaluate().

EXTERN float***** H2_CollRate

EXTERN double H2_den_g

Definition at line 178 of file h2_priv.h.

Referenced by H2_gs_rates(), H2_LevelPops(), and H2_Solomon_rate().

EXTERN double H2_den_s

density of H2s and H2g during current iteration

Definition at line 178 of file h2_priv.h.

Referenced by H2_LevelPops(), and H2_Solomon_rate().

EXTERN float*** H2_disske

Definition at line 137 of file h2_priv.h.

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

double H2_DissocEnergies[N_H2_ELEC]

EXTERN float*** H2_dissprob

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

Definition at line 136 of file h2_priv.h.

Referenced by H2_Cooling(), H2_Create(), H2_gs_rates(), H2_LevelPops(), H2_ReadDissprob(), and H2_Solomon_rate().

EXTERN int** H2_ipPhoto

Definition at line 151 of file h2_priv.h.

Referenced by H2_Create(), and H2_X_coll_rate_evaluate().

EXTERN long int* H2_ipX_ener_sort

EXTERN int*** H2_lgOrtho

this is true if state is para, false if ortho

Definition at line 147 of file h2_priv.h.

Referenced by cdH2_Line(), H2_collid_rates(), H2_Create(), H2_Level_low_matrix(), H2_LevelPops(), and H2_PunchDo().

int H2_nRot_add_ortho_para[N_H2_ELEC]

the remainder can't be EXTERN since init to values in h2.c

Definition at line 71 of file mole_h2.cpp.

Referenced by H2_Create().

EXTERN double*** H2_old_populations

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

Definition at line 141 of file h2_priv.h.

Referenced by H2_Create(), H2_LevelPops(), H2_PunchDo(), and H2_zero_pops_too_low().

EXTERN double*** H2_populations

EXTERN double*** H2_populations_LTE

EXTERN double** H2_rad_rate_in

Definition at line 156 of file h2_priv.h.

Referenced by H2_Create(), H2_LevelPops(), and H2_PunchDo().

EXTERN double*** H2_rad_rate_out

Definition at line 98 of file h2_priv.h.

Referenced by H2_Create(), H2_gs_rates(), H2_LevelPops(), H2_PunchDo(), and H2_Solomon_rate().

EXTERN double H2_renorm_chemistry

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

Definition at line 104 of file h2_priv.h.

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

EXTERN float****** H2_SaveLine

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

Definition at line 195 of file h2_priv.h.

Referenced by cdH2_Line(), H2_Create(), H2_LinesAdd(), and H2_PunchDo().

EXTERN float*** H2_stat

this is total statistical weight, including nuclear spin

Definition at line 145 of file h2_priv.h.

Referenced by H2_Cooling(), H2_Create(), H2_Level_low_matrix(), H2_LevelPops(), H2_PunchDo(), H2_X_coll_rate_evaluate(), and mole_H2_LTE().

EXTERN double H2_sum_excit_elec_den

Definition at line 104 of file h2_priv.h.

Referenced by H2_LevelPops(), and H2_Solomon_rate().

float H2_te_hminus[nTE_HMINUS]

temperature where H- distribution are set

Definition at line 61 of file mole_h2.cpp.

Referenced by H2_Read_hminus_distribution(), and mole_H2_form().

EXTERN float** H2_X_colden

column density within X only vib and rot

Definition at line 108 of file h2_priv.h.

Referenced by cdH2_colden(), H2_Colden(), H2_Create(), H2_Prt_column_density(), and H2_PunchDo().

EXTERN float** H2_X_colden_LTE

LTE column density within X only vib and rot

Definition at line 120 of file h2_priv.h.

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

EXTERN float** H2_X_coll_rate

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

Definition at line 117 of file h2_priv.h.

Referenced by H2_Create(), H2_Level_low_matrix(), H2_LevelPops(), and H2_X_coll_rate_evaluate().

EXTERN float** H2_X_formation

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

Definition at line 166 of file h2_priv.h.

Referenced by H2_Create(), H2_X_coll_rate_evaluate(), and mole_H2_form().

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

Definition at line 162 of file h2_priv.h.

Referenced by H2_Create(), and mole_H2_form().

EXTERN float** H2_X_Hmin_back

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

Definition at line 169 of file h2_priv.h.

Referenced by H2_Create(), H2_X_coll_rate_evaluate(), and mole_H2_form().

vib, rot, last dim is temperature

Definition at line 181 of file h2_priv.h.

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

EXTERN double** H2_X_rate_from_elec_excited

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

Definition at line 111 of file h2_priv.h.

Referenced by H2_Create(), H2_Level_low_matrix(), and H2_LevelPops().

EXTERN double** H2_X_rate_to_elec_excited

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

Definition at line 114 of file h2_priv.h.

Referenced by H2_Create(), H2_Level_low_matrix(), and H2_LevelPops().

EXTERN float* H2_X_sink

Definition at line 158 of file h2_priv.h.

Referenced by H2_Create(), H2_Level_low_matrix(), H2_LevelPops(), and H2_X_coll_rate_evaluate().

EXTERN float* H2_X_source

Definition at line 157 of file h2_priv.h.

Referenced by H2_Create(), H2_Level_low_matrix(), H2_LevelPops(), and H2_X_coll_rate_evaluate().

EXTERN float* H2_Xenergies

these are energies and indices for levels within X

Definition at line 184 of file h2_priv.h.

Referenced by H2_Create(), H2_Level_low_matrix(), and H2_LevelPops().

EXTERN long int** ipEnergySort

Definition at line 188 of file h2_priv.h.

Referenced by H2_Create().

EXTERN long int* ipRot_H2_energy_sort

EXTERN long int* ipVib_H2_energy_sort

EXTERN long int iterationAsEval

Definition at line 149 of file h2_priv.h.

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

EXTERN int****** lgH2_line_exists

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

Definition at line 199 of file h2_priv.h.

Referenced by cdH2_Line(), H2_Accel(), H2_ContPoint(), H2_Create(), H2_gs_rates(), H2_InterEnergy(), H2_Level_low_matrix(), H2_LevelPops(), H2_LinesAdd(), H2_LineZero(), H2_RadPress(), H2_ReadTransprob(), H2_RT_diffuse(), H2_RT_OTS(), H2_RT_tau_inc(), H2_RT_tau_reset(), H2_RTMake(), H2_Solomon_rate(), and H2_zero_pops_too_low().

EXTERN long int nCallH2_this_iteration

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 H2_populations, for later calls use the last solution

Definition at line 211 of file h2_priv.h.

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

EXTERN long int nEner_H2_ground

number of levels in H2g

Definition at line 95 of file h2_priv.h.

Referenced by H2_Create(), H2_gs_rates(), and H2_Solomon_rate().

EXTERN long int nH2_pops

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

Definition at line 202 of file h2_priv.h.

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

EXTERN long int nH2_zone

Definition at line 203 of file h2_priv.h.

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

EXTERN long int nLevels_per_elec[N_H2_ELEC]

the number of ro-vib levels in each elec state

Definition at line 123 of file h2_priv.h.

Referenced by H2_collid_rates(), H2_Cooling(), H2_Create(), H2_Level_low_matrix(), H2_LevelPops(), H2_PunchDo(), H2_ReadEnergies(), H2_Solomon_rate(), and H2_X_coll_rate_evaluate().

EXTERN long int nXLevelsMatrix

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

Definition at line 192 of file h2_priv.h.

Referenced by H2_Create(), H2_Level_low_matrix(), H2_LevelPops(), H2_Zero(), and ParseAtomH2().

EXTERN long int nzone_nlevel_set

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

Definition at line 206 of file h2_priv.h.

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

EXTERN long int nzoneAsEval

Definition at line 149 of file h2_priv.h.

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

EXTERN double pops_per_elec[N_H2_ELEC]

the total population in each elec state

Definition at line 126 of file h2_priv.h.

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

EXTERN double** pops_per_vib

total population in each vib state

Definition at line 101 of file h2_priv.h.

Referenced by H2_Create(), H2_LevelPops(), H2_Prt_column_density(), H2_Prt_Zone(), and H2_zero_pops_too_low().


Generated for cloudy by doxygen 1.5.9