/home66/gary/public_html/cloudy/c08_branch/source/h2.h File Reference

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

Go to the source code of this file.

Data Structures

struct  t_h2

Defines

#define N_H2_ELEC   7

Functions

void H2_Create (void)
void H2_ContPoint (void)
double H2_DR (void)
void H2_Init (void)
void H2_init_coreload (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 (bool lgDoEsc, bool lgUpdateFineOpac)
void H2_RT_tau_inc (void)
void H2_Zero (void)
void H2_Prt_Zone (void)
void H2_LineZero (void)
void H2_RT_tau_reset (void)
void H2_LevelPops (void)
void H2_PunchDo (FILE *io, char chJOB[], const char chTime[], long int ipPun)
void H2_Prt_line_tau (void)
void H2_ParsePunch (char *chCard, char *chHeader)
double H2_itrzn (void)
void H2_Prt_column_density (FILE *ioMEAN)

Variables

bool lgH2_READ_DATA
EXTERN struct t_h2 h2


Define Documentation

#define N_H2_ELEC   7

this is the number of electronic levels

Definition at line 9 of file h2.h.

Referenced by H2_Init(), H2_init_coreload(), H2_ReadDissprob(), H2_ReadEnergies(), H2_ReadTransprob(), H2_Zero(), and ParseAtomH2().


Function Documentation

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

void H2_Create ( void   ) 

create H2 molecules, called by ContCreatePointers

Todo:
1 add this as a Lya excitation process

Definition at line 81 of file mole_h2_create.cpp.

References multi_arr< T, d, ALLOC, lgBC >::alloc(), ASSERT, BIGFLOAT, multi_arr< T, d, ALLOC, lgBC >::clone(), CollRateFit, DEBUG_ENTRY, energy_wn, h2, H2_Boltzmann, H2_col_rate_in, H2_col_rate_out, H2_coll_dissoc_rate_coef, H2_coll_dissoc_rate_coef_H2, H2_CollRate, H2_disske, H2_dissprob, H2_ipPhoto, H2_lgOrtho, H2_old_populations, H2_populations, H2_populations_LTE, H2_rad_rate_in, H2_rad_rate_out, H2_stat, H2_X_colden, H2_X_colden_LTE, H2_X_formation, H2_X_Hmin_back, H2_X_rate_from_elec_excited, H2_X_rate_to_elec_excited, ioQQQ, t_h2::Jlowest, lgH2_READ_DATA, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, N_X_COLLIDER, t_h2::nElecLevelOutput, t_mole::nH2_TRACE, t_mole::nH2_trace_full, t_h2::nRot_hi, t_h2::nVib_hi, pops_per_vib, multi_arr< T, d, ALLOC, lgBC >::reserve(), and multi_arr< T, d, ALLOC, lgBC >::zero().

Referenced by ContCreatePointers().

Here is the call graph for this function:

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.

void H2_Init ( void   ) 

H2_Init - called by cdInit to init H2

Definition at line 445 of file mole_h2_etc.cpp.

References DEBUG_ENTRY, h2, mole, N_H2_ELEC, t_mole::n_h2_elec_states, and t_h2::nCallH2_this_zone.

Referenced by zero().

void H2_init_coreload ( void   ) 

H2_init_coreload one time initialization

Definition at line 373 of file mole_h2_etc.cpp.

References chH2ColliderLabels, DEBUG_ENTRY, h2, t_h2::Jlowest, N_H2_ELEC, t_h2::nRot_hi, and t_h2::nVib_hi.

Referenced by InitCoreload().

double H2_InterEnergy ( void   ) 

internal energy of H2 called in PresTotCurrent

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.

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_LinesAdd ( void   ) 

add in explicit lines from the large H2 molecule, called by lines_molecules

Definition at line 51 of file mole_h2_io.cpp.

References DEBUG_ENTRY, t_radius::dVeff, h2, H2_SaveLine, H2Lines, t_LineSave::ipass, t_h2::Jlowest, lgH2_line_exists, t_h2::lgH2ON, lindst(), LineSave, t_h2::nElecLevelOutput, t_h2::nRot_hi, t_h2::nVib_hi, PutLine(), and radius.

Referenced by lines_molecules().

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:

void H2_ParsePunch ( char *  chCard,
char *  chHeader 
)

H2_ParsePunch parse the punch h2 command

Definition at line 160 of file mole_h2_io.cpp.

References cdEXIT, chH2ColliderLabels, chN_X_COLLIDER, t_punch::chPunch, DEBUG_ENTRY, FFmtRead(), h2, INPUT_LINE_LENGTH, ioQQQ, N_X_COLLIDER, t_h2::nElecLevelOutput, nMatch(), t_punch::npunch, t_punch::punarg, punch, and thresh_punline_h2.

Referenced by ParsePunch().

Here is the call graph for this function:

void 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 punch unit when punch output generated

Definition at line 452 of file mole_h2_io.cpp.

References colden, t_colden::colden, DEBUG_ENTRY, h2, t_hmi::H2_total, H2_X_colden, hmi, ipCOL_H2g, ipCOL_H2s, t_h2::lgH2ON, t_h2::nCallH2_this_zone, t_h2::ortho_colden, t_h2::para_colden, pops_per_vib, PrintEfmt(), and SDIV().

Here is the call graph for this function:

void H2_Prt_line_tau ( void   ) 

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

Definition at line 1193 of file mole_h2_io.cpp.

References DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nRot_hi, t_h2::nVib_hi, and prme().

Here is the call graph for this function:

void H2_Prt_Zone ( void   ) 

H2_Prt_Zone print H2 info into zone results, called from prtzone for each printed zone

Definition at line 418 of file mole_h2_io.cpp.

References DEBUG_ENTRY, h2, H2_populations, t_hmi::H2_total, hmi, ioQQQ, t_h2::lgH2ON, t_h2::nCallH2_this_zone, t_h2::ortho_density, t_h2::para_density, pops_per_vib, PrintEfmt(), and SDIV().

Here is the call graph for this function:

void H2_Punch_line_data ( FILE *  ioPUN,
bool  lgDoAll 
)

punch H2 line data

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

Todo:
1 add logic to deduce cs

Definition at line 1069 of file mole_h2_io.cpp.

References cdEXIT, DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nRot_hi, t_h2::nVib_hi, and Punch1LineData().

Here is the call graph for this function:

void H2_PunchDo ( FILE *  io,
char  chJOB[],
const char  chTime[],
long int  ipPun 
)

punch some properties of the large H2 molecule

Parameters:
io 
chJOB[] 
chTime[] 
ipPun 

Definition at line 1263 of file mole_h2_io.cpp.

References chlgPara, DEBUG_ENTRY, energy_wn, h2, H2_col_rate_in, H2_col_rate_out, H2_lgOrtho, H2_old_populations, H2_populations, H2_populations_LTE, H2_rad_rate_in, H2_rad_rate_out, H2_stat, t_hmi::H2_total, hmi, t_h2::Jlowest, t_hmi::lgBigH2_evaluated, t_h2::lgH2ON, t_h2::nRot_hi, t_h2::nVib_hi, t_h2::ortho_density, t_h2::para_density, t_punch::punarg, punch, and SDIV().

Here is the call graph for this function:

void H2_PunchLineStuff ( FILE *  io,
realnum  xLimit,
long  index 
)

include H2 lines in punched optical depths, etc, called from PunchLineStuff

Parameters:
io 
xLimit 
index 

Definition at line 1140 of file mole_h2_io.cpp.

References DEBUG_ENTRY, h2, H2Lines, t_h2::Jlowest, t_h2::lgH2ON, mole, t_mole::n_h2_elec_states, t_h2::nRot_hi, t_h2::nVib_hi, and pun1Line().

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_Reset ( void   ) 

H2_Reset called to reset variables that are needed after an iteration

Definition at line 460 of file mole_h2_etc.cpp.

References DEBUG_ENTRY, fnzone, h2, H2_SaveLine, ioQQQ, iteration, iterationAsEval, mole, nCallH2_this_iteration, nH2_pops, t_mole::nH2_TRACE, nH2_zone, nzone_nlevel_set, nzoneAsEval, t_h2::renorm_max, and t_h2::renorm_min.

Referenced by IterRestart().

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:

void H2_Zero ( void   ) 

zero out vars in the large H2 molecule, called from zero

Definition at line 499 of file mole_h2_etc.cpp.

References DEBUG_ENTRY, h2, t_hmi::H2_H2g_to_H2s_rate_BigH2, t_hmi::H2_photodissoc_BigH2_H2g, t_hmi::H2_photodissoc_BigH2_H2s, t_hmi::H2_Solomon_dissoc_rate_BigH2_H2g, t_hmi::H2_Solomon_dissoc_rate_BigH2_H2s, t_mole::H2_to_H_limit, t_hmi::HeatH2Dexc_BigH2, hmi, iterationAsEval, t_hmi::lgBigH2_evaluated, t_hmi::lgH2_Chemistry_BigH2, t_mole::lgH2_LTE, lgH2_READ_DATA, t_hmi::lgH2_Thermal_BigH2, t_h2::lgH2ON, mole, N_H2_ELEC, t_mole::n_h2_elec_states, nCallH2_this_iteration, nH2_pops, nH2_zone, nXLevelsMatrix, nzone_nlevel_set, nzoneAsEval, t_h2::ortho_density, t_h2::para_density, t_h2::renorm_max, and t_h2::renorm_min.


Variable Documentation

EXTERN struct t_h2 h2

Referenced by atmol_popsolve(), Bruggeman(), cdH2_colden(), ConvTempEdenIoniz(), CoolCarb(), CoolEvaluate(), CoolOxyg(), H2_Accel(), H2_Colden(), H2_CollidRateEvalOne(), H2_CollidRateRead(), H2_ContPoint(), H2_Cooling(), H2_Create(), H2_gs_rates(), H2_Init(), H2_init_coreload(), H2_itrzn(), H2_LevelPops(), H2_LinesAdd(), H2_LineZero(), H2_ParsePunch(), H2_Prt_column_density(), H2_Prt_line_tau(), H2_Prt_Zone(), H2_Punch_line_data(), H2_PunchDo(), H2_PunchLineStuff(), H2_RadPress(), H2_Read_hminus_distribution(), H2_ReadDissprob(), H2_ReadEnergies(), H2_ReadTransprob(), H2_Reset(), H2_RT_diffuse(), H2_RT_OTS(), H2_RT_tau_inc(), H2_RT_tau_reset(), H2_RTMake(), H2_Solomon_rate(), H2_X_coll_rate_evaluate(), H2_Zero(), H2_zero_pops_too_low(), hmole_reactions(), InitDefaultsPreparse(), IterRestart(), lgCheckAsserts(), lines_molecules(), mole_H2_form(), mole_H2_LTE(), ParseAtomH2(), ParsePrint(), ParseSet(), punch_line(), PunchSpecial(), and Stognienko().

bool lgH2_READ_DATA

flag saying whether molecular data have been read in yet

Definition at line 59 of file cdinit.cpp.

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


Generated on Mon Feb 16 12:06:37 2009 for cloudy by  doxygen 1.4.7