/home66/gary/public_html/cloudy/c08_branch/source/h2_priv.h

Go to the documentation of this file.
00001 /* This file is part of Cloudy and is copyright (C)1978-2008 by Gary J. Ferland and
00002  * others.  For conditions of distribution and use see copyright notice in license.txt */
00003 
00004 #ifndef _H2_PRIV_H_
00005 #define _H2_PRIV_H_
00006 
00007 /*H2_Read_Cosmicray_distribution read distribution function for H2 population following cosmic ray collisional excitation
00008 void H2_Read_Cosmicray_distribution(void); */
00009 
00013 /* >> chng 05 jul 15, TE, H2g = sum (v=0, J=0,1) */
00014 /* >>chng 05 jul 29, to 0.5 eV, this goes up to J=8 for v=0 */
00015 /* >>chng 05 aug 03, slight upward change in energy to include the J=8 level,
00016  * also give energy in waveumbers for simplicity (punch h2 levels give energy in ryd) */
00017 /*#define       ENERGY_H2_STAR  (0.5/EVRYD/WAVNRYD)*/
00018 /* energy of v=0, J=8 is 4051.73, J=9 is 5001.97
00019  * v=1, J=0 is 4161.14 */
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 /* these vars are private for H2 but uses same style as all other header files -
00101  * the EXTERN is extern in all except cddefines */
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 /*EXTERN realnum **H2_col_rate_in_old;
00162 EXTERN realnum **H2_col_rate_out_old;*/
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 /* _H2_PRIV_H_ */

Generated on Mon Feb 16 12:01:15 2009 for cloudy by  doxygen 1.4.7