00001
00002
00004 void hmole(void);
00005
00007 void hmole_reactions(void);
00008
00010 void hmole_init(void);
00011
00015 double hmirat(double te);
00016
00021 void hmole_step(int *nFixup, double *error);
00022
00024 EXTERN struct t_hmi {
00025
00027 float Hmolec[N_H_MOLEC];
00028 int nProton[N_H_MOLEC];
00029 int nElectron[N_H_MOLEC];
00030
00032 double H2_BigH2_H2g_av;
00033 double H2_BigH2_H2s_av;
00034
00036 double H2_chem_BigH2_H2g;
00037 double H2_chem_BigH2_H2s;
00038
00040 char chLab[N_H_MOLEC][5];
00041
00043 double assoc_detach;
00044
00046 double bh2h2p;
00047
00050 double rate_grain_h2_J1_to_J0,
00051 rate_grain_h2_op_conserve;
00052
00054 float H2_total;
00055 float H2_total_BigH2;
00056 float H2s_BigH2;
00057 float H2g_BigH2;
00058
00059
00061 double H2_rate_destroy;
00062
00064 double Average_A;
00065 double h2s_sp_decay;
00066
00068 double Average_collH2;
00069 double Average_collH;
00070 double Average_collH2_excit;
00071 double Average_collH_excit;
00072
00074 double Average_collH2s_dissoc;
00075 double Average_collH2g_dissoc;
00076
00078 double hmihet,
00079 hmitot,
00080 hmicol;
00081
00083 float H2Opacity;
00084
00087 double hmidep,
00088 h2dep,
00089 h2pdep,
00090 h3pdep;
00091
00093 double h2plus_heat;
00094
00096 double HMinus_photo_rate;
00097
00098 float
00100 HeatH2DexcMax,
00102 CoolH2DexcMax,
00103 h2dfrc,
00104 h2dtot,
00106 h2line_cool_frac;
00107
00108 double HMinus_induc_rec_cooling,
00109 HMinus_induc_rec_rate,
00110 HMinus_photo_heat,
00111 hminus_rad_attach;
00112
00113 long int iheh1,
00114 iheh2;
00115
00117 float rh2dis;
00118
00120 float HalphaHmin;
00121
00123 float BiggestH2;
00124
00127 float UV_Cont_rel2_Habing_TH85_face,
00128 UV_Cont_rel2_Habing_TH85_depth,
00130 UV_Cont_rel2_Habing_spec_depth;
00131
00137 float UV_Cont_rel2_Draine_DB96_face ,
00138 UV_Cont_rel2_Draine_DB96_depth;
00139
00141 double H2_H2g_to_H2s_rate_TH85;
00142
00144 double H2_H2g_to_H2s_rate_BHT90;
00145
00147 double H2_H2g_to_H2s_rate_BD96;
00148
00150 double H2_H2g_to_H2s_rate_ELWERT;
00151
00153 double H2_H2g_to_H2s_rate_BigH2;
00154
00156 double H2_H2g_to_H2s_rate_used;
00157
00159 double H2_Solomon_dissoc_rate_used_H2g;
00160 double H2_Solomon_dissoc_rate_BigH2_H2g;
00161 double H2_Solomon_dissoc_rate_TH85_H2g;
00162 double H2_Solomon_dissoc_rate_BHT90_H2g;
00163 double H2_Solomon_dissoc_rate_BD96_H2g;
00164 double H2_Solomon_dissoc_rate_ELWERT_H2g;
00165
00166 double H2_Solomon_dissoc_rate_used_H2s;
00167 double H2_Solomon_dissoc_rate_BigH2_H2s;
00168 double H2_Solomon_dissoc_rate_TH85_H2s;
00169 double H2_Solomon_dissoc_rate_BHT90_H2s;
00170 double H2_Solomon_dissoc_rate_BD96_H2s;
00171 double H2_Solomon_dissoc_rate_ELWERT_H2s;
00172
00177 double H2_photodissoc_used_H2g;
00178 double H2_photodissoc_used_H2s;
00179 double H2_photodissoc_BigH2_H2s;
00180 double H2_photodissoc_BigH2_H2g;
00181 double H2_photodissoc_ELWERT_H2g;
00182 double H2_photodissoc_ELWERT_H2s;
00183 double H2_photodissoc_TH85;
00184 double H2_photodissoc_BHT90;
00185
00187 double H2_Solomon_elec_decay_H2g ,
00188 H2_Solomon_elec_decay_H2s;
00189
00192 double H2_tripletdissoc_H2s,
00193 H2_tripletdissoc_H2g;
00194
00197 bool lgBigH2_evaluated;
00198
00200 long int iphmin;
00201
00203 float h2pmax;
00204
00207 float Tad;
00208
00209 double
00210
00212 HeatH2Dish_used,
00213 HeatH2Dish_BigH2,
00214 HeatH2Dish_TH85,
00215 HeatH2Dish_BD96 ,
00216 HeatH2Dish_BHT90,
00217 HeatH2Dish_ELWERT ,
00218
00221 HeatH2Dexc_used,
00222 HeatH2Dexc_BigH2,
00223 HeatH2Dexc_TH85,
00224 HeatH2Dexc_BD96,
00225 HeatH2Dexc_BHT90,
00226 HeatH2Dexc_ELWERT;
00227
00229 float
00230 deriv_HeatH2Dexc_used,
00231 deriv_HeatH2Dexc_BigH2 ,
00232 deriv_HeatH2Dexc_TH85 ,
00233 deriv_HeatH2Dexc_BD96 ,
00234 deriv_HeatH2Dexc_BHT90 ,
00235 deriv_HeatH2Dexc_ELWERT;
00236
00239 float H2_forms_grains ,
00240 H2_forms_hminus,
00241 H2star_forms_grains,
00242 H2star_forms_hminus;
00243
00246 bool lgH2_Thermal_BigH2,
00250 lgH2_Chemistry_BigH2;
00251
00253 bool lgNoH2Mole;
00254
00257 char chH2_small_model_type;
00258
00260 char chGrainFormPump;
00261
00263 char chJura;
00264
00267 float ScaleJura;
00268
00270 double rate_h2_form_grains_set;
00271
00274 double H2_frac_abund_set;
00275
00279 float rheph2hpheh,
00280 heph2heh2p;
00281
00283 float hmin_ct_firstions;
00284
00286 double exphmi,
00292 rel_pop_LTE_Hmin,
00295 rel_pop_LTE_H2s;
00298 double rel_pop_LTE_H2p,
00301 rel_pop_LTE_H2g,
00303 rel_pop_LTE_H3p,
00305 H2g_LTE_bigH2,
00306 H2s_LTE_bigH2;
00307
00309 bool lgLeiden_Keep_ipMH2s;
00310 bool lgLeidenCRHack;
00311
00314 double assoc_detach_backwards_grnd,
00315 assoc_detach_backwards_exct,
00316 bh2h22hh2,
00317 h3phmh2hh,
00318 h3phm2h2,
00319 h32h2,
00320 eh3_h2h,
00321 h3ph2hp,
00322 h2sh,
00323 CR_reac_H2g,
00324 CR_reac_H2s,
00325 h2phmh2h,
00326 hehph2h3phe,
00327 h2ph3p,
00328 h2sh2g,
00329 h2h22hh2,
00330 h2sh2sh2g2h,
00331 h2sh2sh2s2h,
00332 H2_photoionize_rate ,
00333 H2_photo_heat_soft ,
00334 H2_photo_heat_hard ,
00335 rh2h2p ,
00336 eh2hh ,
00337 h2ge2h,
00338 h2se2h,
00339 h2hph3p,
00340 bh2dis,
00341 radasc,
00342 h3ph2p,
00343 h3petc,
00345 H2_rate_create;
00346
00347 } hmi;
00348
00350 enum {
00351 ipMH,
00352 ipMHp,
00353 ipMHm,
00354 ipMH2g,
00355 ipMH2p,
00356 ipMH3p,
00357 ipMH2s,
00358 ipMHeHp
00359 };
00360