/home66/gary/public_html/cloudy/c10_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

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 (void)
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 H2_DISS_ALLISON_DALGARNO   6e-19f

Definition at line 27 of file mole_h2.cpp.

Referenced by H2_LevelPops(), and H2_X_coll_rate_evaluate().

#define LIM_H2_POP_LOOP   100

Definition at line 24 of file mole_h2.cpp.

Referenced by H2_LevelPops().

#define PRT_POPS   false

Definition at line 22 of file mole_h2.cpp.

Referenced by H2_Cooling(), and H2_LevelPops().


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 3491 of file mole_h2.cpp.

References h2, H2_X_colden, ioQQQ, t_h2::lgH2ON, t_h2::nRot_hi, t_h2::nVib_hi, t_h2::ortho_colden, and t_h2::para_colden.

Referenced by cdColm(), and lgCheckMonitors().

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.

Referenced by RT_line_driving().

void H2_Colden ( const char *  chLabel  ) 

H2_Colden maintain H2 column densities within X

Parameters:
*chLabel 

Definition at line 3545 of file mole_h2.cpp.

References cdEXIT, DEBUG_ENTRY, t_radius::drad_x_fillfac, h2, H2_populations, H2_populations_LTE, t_hmi::H2_total, H2_X_colden, H2_X_colden_LTE, hmi, ioQQQ, t_h2::Jlowest, t_h2::lgH2ON, t_h2::nRot_hi, t_h2::nVib_hi, and radius.

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.

Referenced by ContCreatePointers().

Here is the call graph for this function:

void H2_Cooling ( const char *  chString  ) 
double H2_DR ( void   ) 

H2_DR choose next zone thickness based on H2 big molecule

Definition at line 3598 of file mole_h2.cpp.

References BIGFLOAT.

Referenced by radius_next().

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.

Referenced by PrtFinal().

STATIC void H2_Level_low_matrix ( realnum  abundance  ) 
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 1385 of file mole_h2.cpp.

References ASSERT, t_hmi::Average_A, t_hmi::Average_collH2_deexcit, t_hmi::Average_collH2_excit, t_hmi::Average_collH2g_dissoc, t_hmi::Average_collH2s_dissoc, t_hmi::Average_collH_deexcit, t_hmi::Average_collH_excit, t_conv::chConvIoniz, t_rfield::ConInterOut, conv, ConvFail(), t_thermal::ctot, DEBUG_ENTRY, dense, t_dense::eden, t_conv::EdenErrorAllowed, ENERGY_H2_STAR, energy_wn, EVRYD, exp_disoc, t_rfield::flux, fnzone, fp_equal(), FRAC, t_dense::gas_phase, h2, t_hmi::H2_BigH2_H2g_av, t_hmi::H2_BigH2_H2s_av, H2_Boltzmann, t_hmi::H2_chem_BigH2_H2g, t_hmi::H2_chem_BigH2_H2s, H2_col_rate_in, H2_col_rate_out, H2_coll_dissoc_rate_coef_H2, H2_CollidRateEvalAll(), H2_CollRate, H2_Cooling(), H2_den_g, H2_den_s, H2_DISS_ALLISON_DALGARNO, H2_dissprob, H2_energies, t_hmi::H2_frac_abund_set, H2_gs_rates(), t_hmi::H2_H2g_to_H2s_rate_BigH2, t_hmi::H2_H2g_to_H2s_rate_TH85, H2_ipX_ener_sort, H2_Level_low_matrix(), H2_lgOrtho, H2_old_populations, t_hmi::H2_photodissoc_BigH2_H2g, t_hmi::H2_photodissoc_BigH2_H2s, t_hmi::H2_photodissoc_TH85, H2_populations, H2_populations_LTE, H2_rad_rate_in, H2_rad_rate_out, t_hmi::H2_rate_destroy, H2_renorm_chemistry, t_hmi::H2_Solomon_dissoc_rate_BigH2_H2g, t_hmi::H2_Solomon_dissoc_rate_BigH2_H2s, t_hmi::H2_Solomon_dissoc_rate_TH85_H2g, t_hmi::H2_Solomon_dissoc_rate_used_H2g, H2_Solomon_rate(), H2_stat, H2_sum_excit_elec_den, t_mole::H2_to_H_limit, t_hmi::H2_total, t_hmi::H2_total_BigH2, t_hmi::H2_tripletdissoc_H2g, t_hmi::H2_tripletdissoc_H2s, H2_X_coll_rate, H2_X_coll_rate_evaluate(), H2_X_rate_from_elec_excited, H2_X_rate_to_elec_excited, H2_X_sink, H2_X_source, H2_zero_pops_too_low(), t_hmi::H2g_BigH2, t_hmi::H2g_LTE_bigH2, H2Lines, t_hmi::H2s_BigH2, t_hmi::H2s_LTE_bigH2, t_conv::HeatCoolRelErrorAllowed, t_hmi::HeatH2Dexc_BigH2, hmi, t_hmi::Hmolec, t_thermal::htot, INT32_MAX, ioQQQ, ipHYDROGEN, ipMH2g, ipMH2s, ipoint(), ipRot_H2_energy_sort, ipVib_H2_energy_sort, iteration, t_h2::Jlowest, lgAbort, t_hmi::lgBigH2_evaluated, t_conv::lgConvPops, lgH2_line_exists, t_mole::lgH2_LTE, t_h2::lgH2ON, t_rfield::lgInducProcess, t_hmi::lgLeidenCRHack, t_conv::lgSearch, t_thermal::lgTemperatureConstant, t_trace::lgTr_H2_Mole, t_trace::lgTrace, LIM_H2_POP_LOOP, loop_h2_pops, MAX2, mole, mole_H2_form(), mole_H2_LTE(), t_mole::n_h2_elec_states, nCallH2_this_iteration, t_h2::nCallH2_this_zone, nH2_pops, t_mole::nH2_TRACE, t_mole::nH2_trace_final, t_mole::nH2_trace_full, t_mole::nH2_trace_iterations, nH2_zone, nLevels_per_elec, t_h2::nRot_hi, t_trace::nTrConvg, t_h2::nVib_hi, nXLevelsMatrix, nzone, nzone_nlevel_set, t_h2::ortho_density, t_rfield::outlin, t_rfield::outlin_noplot, t_h2::para_density, phycon, pops_per_elec, pops_per_vib, pow(), PRT_POPS, multi_arr< T, d, ALLOC, lgBC >::ptr(), t_hmi::rate_grain_h2_J1_to_J0, t_hmi::rate_grain_h2_op_conserve, rfield, SAHA, SDIV(), secondaries, SMALLFLOAT, t_phycon::te, t_phycon::te32, thermal, TorF(), TotalInsanity(), trace, WAVNRYD, and t_secondaries::x12tot.

Referenced by IonHydro(), and SaveLineData().

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 757 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, and t_h2::nVib_hi.

Referenced by RT_tau_init().

double H2_RadPress ( void   ) 
void H2_RT_diffuse ( void   ) 

do emission from H2 - called from RT_diffuse

Definition at line 532 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, and t_h2::nVib_hi.

Referenced by RT_diffuse().

void H2_RT_OTS ( void   ) 

H2_RT_OTS - add H2 ots fields

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

Referenced by RT_OTS().

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 691 of file mole_h2.cpp.

References ASSERT, t_dense::AtomicWeight, DEBUG_ENTRY, dense, GetDopplerWidth(), h2, H2_renorm_chemistry, H2Lines, ipHYDROGEN, 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().

Referenced by RT_tau_inc().

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

Referenced by RT_tau_reset().

Here is the call graph for this function:

void H2_RTMake ( void   ) 

do RT for H2 lines

Definition at line 585 of file mole_h2.cpp.

References ASSERT, t_dense::AtomicWeight, DEBUG_ENTRY, dense, GetDopplerWidth(), h2, H2Lines, ioQQQ, ipHYDROGEN, t_h2::Jlowest, lgH2_line_exists, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nRot_hi, t_h2::nVib_hi, RT_line_one(), and SDIV().

Referenced by IonHydro(), and RT_line_all().

Here is the call graph for this function:

STATIC void H2_X_coll_rate_evaluate ( void   ) 

Variable Documentation

Definition at line 58 of file mole_h2.cpp.

Referenced by H2_Cooling(), and H2_X_coll_rate_evaluate().

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_LevelPops(), and H2_X_coll_rate_evaluate().

double frac_matrix [static]

Definition at line 866 of file mole_h2.cpp.

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

Referenced by H2_Create().

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

long int loop_h2_pops [static]

Definition at line 52 of file mole_h2.cpp.

Referenced by H2_LevelPops().

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Nov 2012 for cloudy by  doxygen 1.6.1