/home66/gary/public_html/cloudy/c08_branch/source/hmi.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_hmi

Enumerations

enum  {
  ipMH, ipMHp, ipMHm, ipMH2g,
  ipMH2p, ipMH3p, ipMH2s, ipMHeHp
}

Functions

void hmole (void)
void hmole_reactions (void)
void hmole_init (void)
double hmirat (double te)
void hmole_step (int *nFixup, double *error)

Variables

EXTERN struct t_hmi hmi


Enumeration Type Documentation

anonymous enum

labels for various H molecules

Enumerator:
ipMH  0 H0
ipMHp  1 H+
ipMHm  2 H-
ipMH2g  3 H2g -ground - hmi.H2_total is total
ipMH2p  4 H2+
ipMH3p  5 H3+
ipMH2s  6 H2* -exct - s == "star" - hmi.H2_total is total
ipMHeHp  7 HeH+

Definition at line 354 of file hmi.h.


Function Documentation

double hmirat ( double  te  ) 

hmirat computes radiative association rate for H-

Parameters:
te 

Definition at line 250 of file mole_h_drive.cpp.

References DEBUG_ENTRY, phycon, t_phycon::sqrte, t_phycon::te001, t_phycon::te003, t_phycon::te01, t_phycon::te03, t_phycon::te10, t_phycon::te20, and t_phycon::te70.

Referenced by hmole_reactions().

void hmole ( void   ) 

hmole determine populations of hydrogen molecules

Definition at line 62 of file mole_h_drive.cpp.

References ASSERT, BIGERROR, BIGFLOAT, called, conv, ConvFail(), DEBUG_ENTRY, dense, t_dense::eden, t_conv::EdenErrorAllowed, fnzone, t_dense::gas_phase, hmi, hmole_reactions(), hmole_step(), t_hmi::Hmolec, ionbal, IonOxyge(), ioQQQ, ipHYDROGEN, ipMH, ipMH2g, ipMH2p, ipMH2s, ipMH3p, ipMHeHp, ipMHm, ipMHp, ipOXYGEN, iteration, t_conv::lgConvPops, t_conv::lgSearch, t_called::lgTalk, LIM_LOOP, mole, N_H_MOLEC, t_conv::nTotalIoniz, nzone, OLD, phycon, t_ionbal::RateIonizTot, t_ionbal::RateRecomTot, SDIV(), t_mole::sink, SMALLFLOAT, t_mole::source, t_phycon::te, and t_dense::xIonDense.

Here is the call graph for this function:

void hmole_init ( void   ) 

hmole_init - initialize some hmole vars

Definition at line 292 of file mole_h_drive.cpp.

References t_hmi::chLab, DEBUG_ENTRY, hmi, ipMH, ipMH2g, ipMH2p, ipMH2s, ipMH3p, ipMHeHp, ipMHm, ipMHp, and t_hmi::rheph2hpheh.

Referenced by zero().

void hmole_reactions ( void   ) 

hmole_reactions - evaluates hydrogen chemistry reactions

Todo:
2 following always true, why? either remove test or use it - it is here to save time - this step routine is called very often

Todo:
2 this should be done with new populations after converged soln

Definition at line 314 of file mole_h_drive.cpp.

References t_rfield::anu, t_hmi::chH2_small_model_type, co, colden, t_colden::colden, t_rfield::ConInterOut, conv, DEBUG_ENTRY, dense, t_DoppVel::doppler, DoppVel, t_dense::eden, EN1RYD, esc_PRD_1side(), t_hmi::exphmi, t_rfield::extin_mag_V_point, t_rfield::flux, fnzone, fp_equal(), GammaBn(), GammaPrt(), h2, t_hmi::H2_BigH2_H2g_av, t_hmi::H2_BigH2_H2s_av, t_hmi::H2_H2g_to_H2s_rate_BD96, t_hmi::H2_H2g_to_H2s_rate_BHT90, t_hmi::H2_H2g_to_H2s_rate_BigH2, t_hmi::H2_H2g_to_H2s_rate_ELWERT, t_hmi::H2_H2g_to_H2s_rate_TH85, t_hmi::H2_H2g_to_H2s_rate_used, t_hmi::H2_photodissoc_BHT90, t_hmi::H2_photodissoc_BigH2_H2g, t_hmi::H2_photodissoc_BigH2_H2s, t_hmi::H2_photodissoc_ELWERT_H2g, t_hmi::H2_photodissoc_ELWERT_H2s, t_hmi::H2_photodissoc_TH85, t_hmi::H2_photodissoc_used_H2g, t_hmi::H2_photodissoc_used_H2s, t_hmi::H2_Solomon_dissoc_rate_BD96_H2g, t_hmi::H2_Solomon_dissoc_rate_BD96_H2s, t_hmi::H2_Solomon_dissoc_rate_BHT90_H2g, t_hmi::H2_Solomon_dissoc_rate_BHT90_H2s, t_hmi::H2_Solomon_dissoc_rate_BigH2_H2g, t_hmi::H2_Solomon_dissoc_rate_BigH2_H2s, t_hmi::H2_Solomon_dissoc_rate_ELWERT_H2g, t_hmi::H2_Solomon_dissoc_rate_ELWERT_H2s, t_hmi::H2_Solomon_dissoc_rate_TH85_H2g, t_hmi::H2_Solomon_dissoc_rate_TH85_H2s, t_hmi::H2_Solomon_dissoc_rate_used_H2g, t_hmi::H2_Solomon_dissoc_rate_used_H2s, t_hmi::H2g_LTE_bigH2, t_hmi::H2Opacity, t_hmi::H2s_LTE_bigH2, t_thermal::HeatNet, hmi, t_hmi::hmicol, t_hmi::HMinus_induc_rec_cooling, t_hmi::HMinus_induc_rec_rate, t_hmi::HMinus_photo_heat, t_hmi::HMinus_photo_rate, t_hmi::hminus_rad_attach, hmirat(), t_hmi::Hmolec, ioQQQ, t_rfield::ip1000A, ipCOL_H2g, ipCOL_H2s, t_rfield::ipG0_DB96_hi, t_rfield::ipG0_DB96_lo, t_rfield::ipG0_spec_hi, t_rfield::ipG0_spec_lo, t_rfield::ipG0_TH85_hi, t_rfield::ipG0_TH85_lo, ipHE_LIKE, ipHELIUM, t_hmi::iphmin, t_opac::iphmop, t_iso::ipIsoLevNIonCon, ipMH, iso, iteration, t_hmi::lgBigH2_evaluated, t_hmi::lgH2_Chemistry_BigH2, t_h2::lgH2ON, t_hmi::lgLeidenCRHack, t_co::lgUMISTrates, LIMELM, MAX2, t_conv::nPres2Ioniz, nzone, opac, t_rfield::outlin, t_rfield::outlin_noplot, phycon, POW2, t_radius::r1r0sq, radius, t_hmi::rel_pop_LTE_H2g, t_hmi::rel_pop_LTE_H2p, t_hmi::rel_pop_LTE_H2s, t_hmi::rel_pop_LTE_H3p, t_hmi::rel_pop_LTE_Hmin, rfield, SAHA, SDIV(), secondaries, sexp(), SMALLFLOAT, T1CM, t_opac::TauAbsFace, t_phycon::te, t_phycon::te32, thermal, TotalInsanity(), t_hmi::UV_Cont_rel2_Draine_DB96_depth, t_hmi::UV_Cont_rel2_Draine_DB96_face, t_hmi::UV_Cont_rel2_Habing_spec_depth, t_hmi::UV_Cont_rel2_Habing_TH85_depth, t_hmi::UV_Cont_rel2_Habing_TH85_face, and t_secondaries::x12tot.

Referenced by hmole().

Here is the call graph for this function:

void hmole_step ( int *  nFixup,
double *  error 
)

Take one Newton step of the chemical network

Parameters:
*nFixup 
*error 

HeatH2Dexc_used is heating due to collisional deexcitation of vib-excited H2 actually used

these are derivative wrt temp for collisional processes within X

Todo:
2 - put in actual composition dependent Tad - this is only valid for bare surfaces - not ice - for ice Tad is 555K hmi.Tad is binding energy expressed as a temperature note that hmi.Tad is set to 800. in zero tau_nu the first equation in section 2.5 equation one paragraph before equation 2 at low grain temperatures all end in para, J=0

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
2 process is net source term for H(n=3) states, must be added in

Todo:
2 process is net ionization term for H(n=3) states

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
0 update photoelectric opacity for H2 to include real cross sections and energies. this is not a higher priority because when H2 is formed there can be very little ionizing radiation. this process must be trivial compared with the Solomon process following reference gives cross section for all energies >>refer H2 photo cs Yan, M., Sadeghpour, H.R., & Dalgarno, A., 1998, ApJ, 496, 1044 Wilms, J., Allen, A., & McCray, R. 2000, ApJ, 542, 914

Todo:
0 must include heating, Compton ionization

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? reverse of this reaction i not in detailed balance,why? GS

Todo:
2 this rate drives numerical instability in such models as secondary1 and 2.in

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
2 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
2 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
2 must add process H2+ + H- => H2 + H, Dalgarno&Lepp 87

Todo:
2 put in H2+ + gamma => H + H+

Todo:
1 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
2 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
2 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
2 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
2 equivalent reaction for H2* is not included in chemistry, Big h2 does not include this reaction, what to do? GS

Todo:
0 had to comment following test out - NA change to hmole caused massive prints

Definition at line 153 of file mole_h_step.cpp.

References amat, DEBUG_ENTRY, dense, hmi, t_hmi::Hmolec, ipHYDROGEN, ipiv, t_hmi::lgNoH2Mole, MALLOC, MAXREACTANTS, N_H_MOLEC, Hmole_rate_s::rk, and t_dense::xMolecules.

Referenced by hmole().


Variable Documentation

EXTERN struct t_hmi hmi

hmi.h - parameters dealing with hydrogen molecules

Referenced by AgeCheck(), CO_create_react(), CO_drive(), CO_Init(), ConvTempEdenIoniz(), CoolCarb(), CoolEvaluate(), CoolOxyg(), DynaStartZone(), eden_sum(), GrainDrive(), GrainMakeDiffuse(), H2_Cooling(), H2_gs_rates(), H2_Level_low_matrix(), H2_LevelPops(), H2_Prt_column_density(), H2_Prt_Zone(), H2_PunchDo(), H2_Solomon_rate(), H2_X_coll_rate_evaluate(), H2_Zero(), H2_zero_pops_too_low(), HeatSum(), hmole(), hmole_init(), hmole_reactions(), hmole_step(), ion_recomb(), IonCarbo(), iso_ionize_recombine(), IterRestart(), lgCheckAsserts(), lgMolecAver(), lines_molecules(), MeanInc(), OpacityAddTotal(), ParseAtomH2(), ParseDont(), ParseSet(), PrtComment(), PrtZone(), RT_OTS(), RT_tau_inc(), ShowMe(), and th85rate().


Generated on Mon Feb 16 12:07:03 2009 for cloudy by  doxygen 1.4.7