00001 
00002 
00003 
00004 #ifndef HMI_H_
00005 #define HMI_H_
00006 
00010 double hmirat(double te);
00011 
00013 struct t_hmi {
00014 
00016         double H2_total;
00017         realnum H2_total_f; 
00018         double HD_total;
00019 
00021         double H2_rate_destroy;
00022 
00024         double hmihet, 
00025           hmitot, 
00026           hmicol;
00027 
00029         realnum H2Opacity;
00030 
00033         double hmidep, 
00034           h2dep, 
00035           h2pdep, 
00036           h3pdep;
00037 
00039         double h2plus_heat;
00040 
00042         double HMinus_photo_rate;
00043 
00044         realnum 
00046           HeatH2DexcMax,
00048           CoolH2DexcMax,
00049           h2dfrc, 
00050           h2dtot,
00052           h2line_cool_frac;
00053 
00054         double HMinus_induc_rec_cooling,
00055           HMinus_induc_rec_rate,
00056           HMinus_photo_heat;
00057 
00058         long int iheh1, 
00059           iheh2;
00060 
00063         realnum UV_Cont_rel2_Habing_TH85_face,
00064           UV_Cont_rel2_Habing_TH85_depth,
00066           UV_Cont_rel2_Habing_spec_depth;
00067 
00073         realnum UV_Cont_rel2_Draine_DB96_face , 
00074                 UV_Cont_rel2_Draine_DB96_depth;
00075 
00077         double H2_H2g_to_H2s_rate_TH85;
00078 
00080         double H2_H2g_to_H2s_rate_BHT90;
00081         
00083         double H2_H2g_to_H2s_rate_BD96;
00084         
00086         double H2_H2g_to_H2s_rate_ELWERT;
00087         
00089         double H2_H2g_to_H2s_rate_used;
00090 
00092         double H2_Solomon_dissoc_rate_used_H2g;
00093         double H2_Solomon_dissoc_rate_TH85_H2g;
00094         double H2_Solomon_dissoc_rate_BHT90_H2g;
00095         double H2_Solomon_dissoc_rate_BD96_H2g;
00096         double H2_Solomon_dissoc_rate_ELWERT_H2g;
00097 
00098         double H2_Solomon_dissoc_rate_used_H2s;
00099         double H2_Solomon_dissoc_rate_TH85_H2s;
00100         double H2_Solomon_dissoc_rate_BHT90_H2s;
00101         double H2_Solomon_dissoc_rate_BD96_H2s;
00102         double H2_Solomon_dissoc_rate_ELWERT_H2s;
00103 
00108         double H2_photodissoc_used_H2g;
00109         double H2_photodissoc_used_H2s;
00110         double H2_photodissoc_ELWERT_H2g;
00111         double H2_photodissoc_ELWERT_H2s;
00112         double H2_photodissoc_TH85;
00113         double H2_photodissoc_BHT90;
00114 
00115 
00117         long int iphmin;
00118 
00120         realnum h2pmax;
00121 
00124         realnum Tad;
00125 
00126         double 
00127 
00129           HeatH2Dish_used, 
00130           HeatH2Dish_TH85, 
00131           HeatH2Dish_BD96 ,
00132           HeatH2Dish_BHT90, 
00133           HeatH2Dish_ELWERT ,
00134 
00137           HeatH2Dexc_used,
00138           HeatH2Dexc_TH85,
00139           HeatH2Dexc_BD96,
00140           HeatH2Dexc_BHT90,
00141           HeatH2Dexc_ELWERT;
00142 
00144         realnum 
00145                 deriv_HeatH2Dexc_used,
00146                 deriv_HeatH2Dexc_TH85 ,
00147                 deriv_HeatH2Dexc_BD96 ,
00148                 deriv_HeatH2Dexc_BHT90 ,
00149                 deriv_HeatH2Dexc_ELWERT;
00150 
00153         double H2_forms_grains ,
00154                 H2_forms_hminus,
00155                 H2star_forms_grains,
00156                 H2star_forms_hminus;
00157 
00160         bool lgH2_Thermal_BigH2,
00164           lgH2_Chemistry_BigH2;
00165 
00168         char chH2_small_model_type;
00169 
00171         char chGrainFormPump;
00172 
00174         char chJura;
00175 
00178         realnum ScaleJura;
00179 
00181         double rate_h2_form_grains_set;  
00182 
00185         double H2_frac_abund_set;
00186 
00188         double exphmi,
00194           rel_pop_LTE_Hmin,
00197           rel_pop_LTE_H2s;
00200         double rel_pop_LTE_H2p,
00203           rel_pop_LTE_H2g,
00205           rel_pop_LTE_H3p;
00206 
00208         bool lgLeiden_Keep_ipMH2s;
00209         bool lgLeidenCRHack;
00210 
00211 };
00212 extern t_hmi hmi;
00213 
00214 #endif