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
00040 void H2_ReadEnergies( long int nelec );
00041
00045 void H2_ReadDissprob( long int nelec );
00046
00048 void H2_CollidRateEvalAll( void );
00049
00053 void H2_CollidRateRead( long int nColl );
00054
00058 void H2_ReadTransprob( long int nelec );
00059
00061 void H2_Read_hminus_distribution(void);
00062
00064 void mole_H2_form( void );
00065
00067 void mole_H2_LTE( void );
00068
00071 void H2_Solomon_rate( void );
00072
00074 void H2_gs_rates( void );
00075
00078 void H2_zero_pops_too_low( void );
00079
00080 const bool CR_PRINT = false;
00081 const int CR_X = 1;
00082 const int CR_VIB = 15;
00083 const int CR_J = 10;
00084 const int CR_EXIT = 3;
00085
00088 const int N_X_COLLIDER = 5;
00089
00091 const int chN_X_COLLIDER = 10;
00092 EXTERN char chH2ColliderLabels[N_X_COLLIDER][chN_X_COLLIDER];
00093
00095 const int VIB_COLLID = 3;
00096
00098 const int nTE_HMINUS = 7;
00099
00100
00101
00102
00104 EXTERN long int nEner_H2_ground;
00105
00106 EXTERN multi_arr<double,3> H2_populations;
00107 EXTERN multi_arr<double,3> H2_rad_rate_out;
00108
00110 EXTERN multi_arr<double,2> pops_per_vib;
00111
00113 EXTERN double H2_renorm_chemistry,
00114 H2_sum_excit_elec_den;
00115
00117 EXTERN multi_arr<realnum,2> H2_X_colden;
00118
00120 EXTERN multi_arr<double,2> H2_X_rate_from_elec_excited;
00121
00123 EXTERN multi_arr<double,2> H2_X_rate_to_elec_excited;
00124
00126 EXTERN multi_arr<realnum,2> H2_X_coll_rate;
00127
00129 EXTERN multi_arr<realnum,2> H2_X_colden_LTE;
00130
00132 EXTERN long int nLevels_per_elec[N_H2_ELEC];
00133
00135 EXTERN double pops_per_elec[N_H2_ELEC];
00136
00138 EXTERN multi_arr<double,3> energy_wn;
00139
00142 EXTERN multi_arr<realnum,6> CollRateFit;
00143
00145 EXTERN multi_arr<realnum,3> H2_dissprob;
00146 EXTERN multi_arr<realnum,3> H2_disske;
00147 EXTERN multi_arr<realnum,5> H2_CollRate;
00148
00150 EXTERN multi_arr<double,3> H2_old_populations;
00151 EXTERN multi_arr<double,3> H2_Boltzmann;
00152 EXTERN multi_arr<double,3> H2_populations_LTE;
00154 EXTERN multi_arr<realnum,3> H2_stat;
00156 EXTERN multi_arr<bool,3> H2_lgOrtho;
00157
00158 EXTERN long int nzoneAsEval , iterationAsEval;
00159
00160 EXTERN multi_arr<int,2> H2_ipPhoto;
00161
00162
00163 EXTERN multi_arr<double,2> H2_col_rate_in;
00164 EXTERN multi_arr<double,2> H2_col_rate_out;
00165 EXTERN multi_arr<double,2> H2_rad_rate_in;
00166 EXTERN realnum *H2_X_source;
00167 EXTERN realnum *H2_X_sink;
00168
00171 EXTERN multi_arr<realnum,3> H2_X_grain_formation_distribution;
00172
00175 EXTERN multi_arr<realnum,2> H2_X_formation;
00176
00178 EXTERN multi_arr<realnum,2> H2_X_Hmin_back;
00179
00181 EXTERN multi_arr<realnum,2> H2_coll_dissoc_rate_coef;
00182
00184 EXTERN multi_arr<realnum,2> H2_coll_dissoc_rate_coef_H2;
00185
00187 EXTERN double H2_den_s , H2_den_g;
00188
00190 EXTERN multi_arr<realnum,3> H2_X_hminus_formation_distribution;
00191
00194 EXTERN realnum *H2_energies;
00196 EXTERN long int nH2_energies;
00197 EXTERN long int *H2_ipX_ener_sort;
00198 EXTERN long int *ipVib_H2_energy_sort, *ipElec_H2_energy_sort;
00199 EXTERN long int *ipRot_H2_energy_sort;
00200 EXTERN multi_arr<long int,3> ipEnergySort;
00201
00204 EXTERN long int nXLevelsMatrix;
00205
00207 EXTERN multi_arr<realnum,6> H2_SaveLine;
00208
00211 EXTERN multi_arr<bool,6> lgH2_line_exists;
00212
00214 EXTERN long int nH2_pops;
00215 EXTERN long int nH2_zone;
00216
00218 EXTERN long int nzone_nlevel_set;
00219
00223 EXTERN long int nCallH2_this_iteration;
00224
00226 extern int H2_nRot_add_ortho_para[N_H2_ELEC];
00227
00228 extern double H2_DissocEnergies[N_H2_ELEC];
00229
00231 extern realnum H2_te_hminus[nTE_HMINUS];
00232
00233 typedef multi_arr<transition,6>::iterator mt6i;
00234 typedef multi_arr<transition,6>::const_iterator mt6ci;
00235
00236 #endif