/home66/gary/public_html/cloudy/c08_branch/source/mole_h2.cpp File Reference

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

#define FRAC   0.99999

#define H2_DISS_ALLISON_DALGARNO   6e-19f

Definition at line 27 of file mole_h2.cpp.

Referenced by H2_X_coll_rate_evaluate().

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


Function Documentation

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

Parameters:
*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

Parameters:
*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

Todo:
2 - put H2Lines in outward beams in RT_diffuse

Todo:
2 put supra thermal excitation into excitation of electronic bands

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

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


Variable Documentation

realnum collider_density[N_X_COLLIDER] [static]

Definition at line 58 of file mole_h2.cpp.

Referenced by H2_X_coll_rate_evaluate().

realnum collider_density_total_not_H2 [static]

Definition at line 59 of file mole_h2.cpp.

Referenced by H2_X_coll_rate_evaluate().

double exp_disoc

Definition at line 77 of file mole_h2.cpp.

Referenced by H2_X_coll_rate_evaluate().

double frac_matrix [static]

Definition at line 901 of file mole_h2.cpp.

Referenced by H2_LevelPops().

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.


Generated on Mon Feb 16 12:09:21 2009 for cloudy by  doxygen 1.4.7