00001
00002
00003
00004 #ifndef H2_PRIV_H_
00005 #define H2_PRIV_H_
00006
00007
00008
00009
00013
00014
00015
00016
00017
00018
00019
00020 const double ENERGY_H2_STAR = 4100.;
00021
00028 double H2_He_coll(int init, int final, double temp);
00029
00035 long int H2_He_coll_init(const char FILE_NAME_IN[]);
00036
00037
00038 double H2_ORH2_coll(int init, int final, double temp);
00039 double H2_PAH2_coll(int init, int final, double temp);
00040 long int H2_ORH2_coll_init(const char FILE_NAME_IN[] );
00041 long int H2_PAH2_coll_init(const char FILE_NAME_IN[] );
00042
00046 void H2_ReadEnergies( long int nelec );
00047
00051 void H2_ReadDissprob( long int nelec );
00052
00054 void H2_CollidRateEvalAll( void );
00055
00059 void H2_CollidRateRead( long int nColl );
00060
00064 void H2_ReadTransprob( long int nelec );
00065
00067 void H2_Read_hminus_distribution(void);
00068
00070 void mole_H2_form( void );
00071
00073 void mole_H2_LTE( void );
00074
00077 void H2_Solomon_rate( void );
00078
00080 void H2_gs_rates( void );
00081
00084 void H2_zero_pops_too_low( void );
00085
00086 const bool CR_PRINT = false;
00087 const int CR_X = 1;
00088 const int CR_VIB = 15;
00089 const int CR_J = 10;
00090 const int CR_EXIT = 3;
00091
00094 const int N_X_COLLIDER = 5;
00095
00097 const int chN_X_COLLIDER = 10;
00098 EXTERN char chH2ColliderLabels[N_X_COLLIDER][chN_X_COLLIDER];
00099
00101 const int VIB_COLLID = 3;
00102
00104 const int nTE_HMINUS = 7;
00105
00106
00107
00108
00110 EXTERN long int nEner_H2_ground;
00111
00112 EXTERN multi_arr<double,3> H2_populations;
00113 EXTERN multi_arr<double,3> H2_rad_rate_out;
00114
00116 EXTERN multi_arr<double,2> pops_per_vib;
00117
00119 EXTERN double H2_renorm_chemistry,
00120 H2_sum_excit_elec_den;
00121
00123 EXTERN multi_arr<realnum,2> H2_X_colden;
00124
00126 EXTERN multi_arr<double,2> H2_X_rate_from_elec_excited;
00127
00129 EXTERN multi_arr<double,2> H2_X_rate_to_elec_excited;
00130
00132 EXTERN multi_arr<realnum,2> H2_X_coll_rate;
00133
00135 EXTERN multi_arr<realnum,2> H2_X_colden_LTE;
00136
00138 EXTERN long int nLevels_per_elec[N_H2_ELEC];
00139
00141 EXTERN double pops_per_elec[N_H2_ELEC];
00142
00144 EXTERN multi_arr<double,3> energy_wn;
00145
00148 EXTERN multi_arr<realnum,6> CollRateFit;
00149
00151 EXTERN multi_arr<realnum,3> H2_dissprob;
00152 EXTERN multi_arr<realnum,3> H2_disske;
00153 EXTERN multi_arr<realnum,5> H2_CollRate;
00154
00156 EXTERN multi_arr<double,3> H2_old_populations;
00157 EXTERN multi_arr<double,3> H2_Boltzmann;
00158 EXTERN multi_arr<double,3> H2_populations_LTE;
00160 EXTERN multi_arr<realnum,3> H2_stat;
00162 EXTERN multi_arr<bool,3> H2_lgOrtho;
00163
00164 EXTERN long int nzoneAsEval , iterationAsEval;
00165
00166 EXTERN multi_arr<int,2> H2_ipPhoto;
00167
00168
00169 EXTERN multi_arr<double,2> H2_col_rate_in;
00170 EXTERN multi_arr<double,2> H2_col_rate_out;
00171 EXTERN multi_arr<double,2> H2_rad_rate_in;
00172 EXTERN realnum *H2_X_source;
00173 EXTERN realnum *H2_X_sink;
00174
00177 EXTERN multi_arr<realnum,3> H2_X_grain_formation_distribution;
00178
00181 EXTERN multi_arr<realnum,2> H2_X_formation;
00182
00184 EXTERN multi_arr<realnum,2> H2_X_Hmin_back;
00185
00187 EXTERN multi_arr<realnum,2> H2_coll_dissoc_rate_coef;
00188
00190 EXTERN multi_arr<realnum,2> H2_coll_dissoc_rate_coef_H2;
00191
00193 EXTERN double H2_den_s , H2_den_g;
00194
00196 EXTERN multi_arr<realnum,3> H2_X_hminus_formation_distribution;
00197
00200 EXTERN realnum *H2_energies;
00202 EXTERN long int nH2_energies;
00203 EXTERN long int *H2_ipX_ener_sort;
00204 EXTERN long int *ipVib_H2_energy_sort, *ipElec_H2_energy_sort;
00205 EXTERN long int *ipRot_H2_energy_sort;
00206 EXTERN multi_arr<long int,3> ipEnergySort;
00207
00210 EXTERN long int nXLevelsMatrix;
00211
00213 EXTERN multi_arr<realnum,6> H2_SaveLine;
00214
00217 EXTERN multi_arr<bool,6> lgH2_line_exists;
00218
00220 EXTERN long int nH2_pops;
00221 EXTERN long int nH2_zone;
00222
00224 EXTERN long int nzone_nlevel_set;
00225
00229 EXTERN long int nCallH2_this_iteration;
00230
00232 extern int H2_nRot_add_ortho_para[N_H2_ELEC];
00233
00234 extern double H2_DissocEnergies[N_H2_ELEC];
00235
00237 extern realnum H2_te_hminus[nTE_HMINUS];
00238
00239 typedef multi_arr<transition,6>::iterator mt6i;
00240 typedef multi_arr<transition,6>::const_iterator mt6ci;
00241
00242 #endif