cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
h2_priv.h
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2017 by Gary J. Ferland and
2  * others. For conditions of distribution and use see copyright notice in license.txt */
3 
4 #ifndef H2_PRIV_H_
5 #define H2_PRIV_H_
6 
7 #include "transition.h"
8 #include "container_classes.h"
9 
10 typedef void (*linefunc)(const TransitionProxy& t,
11  bool lgShield_this_zone,
12  realnum pestrk,
13  realnum DopplerWidth);
14 class Parser;
15 class molecule;
16 class CollRateCoeffArray;
17 
20 const int N_X_COLLIDER = 5;
22 const int chN_X_COLLIDER = 10;
23 // colliders are (see h2.cpp diatoms_init)
24 // 0 H
25 // 1 He
26 // 2 H2 ortho
27 // 3 H2 para
28 // 4 H+
29 
31 const int nTE_HMINUS = 7;
32 
34 const int N_ELEC = 7;
35 
37 const realnum H2_logte_hminus[nTE_HMINUS] = {1.,1.47712,2.,2.47712,3.,3.47712,4.};
38 
39 struct diss_level
40 {
41  long n, v, j;
42 };
43 
44 class diss_tran
45 {
46 public:
47  explicit diss_tran( diss_level a, diss_level b )
48  {
49  initial = a;
50  final = b;
51  energies.clear();
52  xsections.clear();
53  rate_coeff = 0.;
54  };
55  diss_level initial, final;
56  vector<double> energies;
57  vector<double> xsections;
58  double rate_coeff;
59 };
60 
62 {
64  {
65  magic = 0;
66  filename = "";
67  };
68  long magic;
69  string filename;
70 };
71 
72 class diatomics
73 {
74 public:
75  double Abund() const
76  {
77  return *dense_total;
78  }
79  void GetIndices( long& ipHi, long& ipLo, const char* chLine, long& i ) const;
80  void CalcPhotoionizationRate(void);
81  double (*photoion_opacity_fun)( double energy );
82  long OpacityCreate( double *stack );
83  double GetHeatRate( const diss_tran& tran );
84  double GetDissociationRate( const diss_tran& tran );
85  double MolDissocOpacity( const diss_tran& tran, const double& Mol_Ene );
86  double Cont_Diss_Heat_Rate( void );
87  void Mol_Photo_Diss_Rates( void );
91  double GetExcitedElecDensity(void);
92  realnum GetXColden( long iVib, long iRot );
93 
94  long int getLine( long iElecHi, long iVibHi, long iRotHi, long iElecLo, long iVibLo, long iRotLo, double *relint, double *absint );
95 
96  /* compute rate coefficient for a single quenching collision */
97  realnum H2_CollidRateEvalOne( long iVibHi, long iRotHi, long iVibLo, long iRotLo, long ipHi, long ipLo, long nColl, double temp_K );
98 
99  void H2_Calc_Average_Rates( void );
100 
101  void H2_X_sink_and_source( void );
102  /*H2_X_coll_rate_evaluate find collisional rates within X -
103  * this is one time upon entry into H2_LevelPops */
104  void H2_X_coll_rate_evaluate( void );
105 
106  /*H2_Level_low_matrix evaluate lower populations within X */
107  /* total abundance within matrix */
108  void H2_Level_low_matrix(realnum abundance );
109 
110  /*H2_Read_Cosmicray_distribution read distribution function for H2 population following cosmic ray collisional excitation
111  void H2_Read_Cosmicray_distribution(void); */
112 
113  // read energies for all electronic levels
114  void H2_ReadEnergies();
115  void H2_ReadEnergies( long int nelec, vector<int>& n, vector<int>& v, vector<int>&J, vector<double>& eWN );
116 
120  void H2_ReadDissprob( long int nelec );
121 
123  void H2_CollidRateEvalAll( void );
124 
128  void H2_CollidRateRead( long int nColl );
129 
133  void H2_ReadTransprob( long int nelec, TransitionList &trans );
134 
136  void H2_Read_hminus_distribution(void);
137 
139  void mole_H2_form( void );
140 
142  void mole_H2_LTE( void );
143 
146  void H2_Solomon_rate( void );
147 
149  double gs_rate( void );
150 
153  void H2_zero_pops_too_low( void );
154 
156  void init(void);
157 
159  void H2_ContPoint( void );
160 
162  double H2_DR(void);
163 
165  double H2_Accel(void);
166 
168  void H2_RT_OTS( void );
169 
171  double H2_RadPress(void);
172 
174  void H2_LinesAdd(void);
175 
177  void H2_Reset( void );
178 
180  double H2_InterEnergy(void);
181 
185  void H2_Colden( const char *chLabel );
186 
188  void H2_Cooling(void);
189 
192  double LTE_Cooling_per_H2();
193 
198  void H2_Punch_line_data(
199  FILE* ioPUN ,
200  bool lgDoAll );
201 
207  void H2_PunchLineStuff( FILE * io , realnum xLimit , long index);
208 
210  void H2_RT_diffuse(void);
211 
214  void H2_RTMake( linefunc line_one );
215 
217  void H2_RT_tau_inc(void);
218 
220  void H2_Prt_Zone(void);
221 
222  // print departure coefficients for all X levels
223  void H2_PrtDepartCoef(void);
224 
226  void H2_LineZero( void );
227 
229  void H2_RT_tau_reset( void );
230 
232  void H2_LevelPops( bool &lgPopsConverged, double &old_value, double &new_value );
233 
240  void H2_PunchDo( FILE* io , char chJOB[] , const char chTime[] , long int ipPun );
241 
243  void H2_ParseSave( Parser &p, ostringstream& chHeader );
244 
246  double H2_itrzn( void );
247 
252  void H2_Prt_column_density( FILE *ioMEAN );
253 
254  void set_numLevelsMatrix( long numLevels );
255 
256  void H2_ReadDissocEnergies( void );
257 
260 
266 
267  /* total spontaneous dissociation rate [s-1],
268  * summed over excited electronic states, weighted by pops */
270 
273 
277 
282 
287 
291 
295 
296  double HeatDiss;
297  double HeatDexc;
298  double HeatDexc_old;
301 
303  double Average_A;
314 
318 
322 
324 
328  para_density;
329 
330  // single precision versions of the above
333 
335  double ortho_colden ,
336  para_colden;
337 
338  /* old and older ortho - para ratios, used to determine whether soln is converged */
340 
341  // these remember the largest and smallest factors needed to
342  // renormalize the H2 chemistry
343  double renorm_max ,
344  renorm_min;
345 
346  // this will say how many times the large H2 molecule has been called in this zone -
347  // if not called (due to low H2 abundance) then not need to update its line arrays
348  long int nCall_this_zone;
349 
350  // flag saying whether to bother with the large molecule at all,
351  // default is false, set true with atom h2 on command
352  bool lgEnabled;
353 
354  // this is the number of electronic levels to include in the output - default is 1,
355  // only X. changed with PRINT LINES H2 ELECTRONIC and option on PUNCH H2 LINES commands
357 
358  /* true to use 2007 set of H2 - H collision rate, false use 1999 */
360 
364 
367 
370 
371  // include collision rates that come from real calculations,
372  // off with atom h2 collisions off command
374 
376  bool lgLTE;
377 
380 
381  // which set of He - H2 collisions to use? default is ORNL, other
382  // is Le BOURlet
384 
385  // flag saying whether (true) or not to use ORNL H2 - H2 collisions
388 
393 
394  long int loop_h2_oscil;
395  long int nzoneEval;
396 
399 
402 
404 
406  int nTRACE;
407 
411  n_trace_full,
413 
414  // the number of electronic quantum states to include.
415  // To do both Lyman and Werner bands want nelec = 3
416  long int n_elec_states;
417 
418  /* this is fraction of population that is within levels done with matrix */
419  double frac_matrix;
420 
421  /* used to recall the temperature used for last set of Boltzmann factors */
422  double TeUsedBoltz;
423  double TeUsedColl;
424 
425  explicit diatomics( const string& a, const double& e_star, const double* const abund, double (*fun)(double) ) ;
426 
432  vector< diss_tran > Diss_Trans;
433 
434 private:
435  string label;
436  string shortlabel;
437  string path;
438 
441  /* >> chng 05 jul 15, TE, H2g = sum (v=0, J=0,1) */
442  /* >>chng 05 jul 29, to 0.5 eV, this goes up to J=8 for v=0 */
443  /* >>chng 05 aug 03, slight upward change in energy to include the J=8 level,
444  * also give energy in waveumbers for simplicity (save h2 levels give energy in ryd) */
445  /*#define ENERGY_H2_STAR (0.5/EVRYD/WAVNRYD)*/
446  /* energy of v=0, J=8 is 4051.73, J=9 is 5001.97
447  * v=1, J=0 is 4161.14 */
448 public:
449  const double ENERGY_H2_STAR;
450 
451 private:
452  // pointer to the density of the species
453  const double* const dense_total;
454 
456 
457  /* these vars are private for H2 but uses same style as all other header files -
458  * the extern is extern in all except cddefines */
459 
461  long int nEner_H2_ground;
462 
465 
468 
471 
472  //int H2_nRot_add_ortho_para[N_ELEC];
475  long int nVib_hi[N_ELEC];
477  valarray<long> nRot_hi[N_ELEC];
480  long int Jlowest[N_ELEC];
487  vector<CollRateCoeffArray> RateCoefTable;
488 
489  // quantities dealing with chemistry
490 #if 1
491 #endif
492 
493  // these are quantities for each state
494 #if 1
495 
499 
505 #endif
506 
508 
509  // these are quantities for states with X
510 #if 1
530 
533 #endif
534 
535  valarray<realnum> H2_X_source;
536  valarray<realnum> H2_X_sink;
537 
541 
543  double H2_den_s , H2_den_g;
544 
547 
548  valarray<long> ipVib_H2_energy_sort;
549  valarray<long> ipElec_H2_energy_sort;
550  valarray<long> ipRot_H2_energy_sort;
553 
556  long int nXLevelsMatrix;
557  long int ndimMalloced;
558  double **AulEscp,
559  **AulDest,
560  **AulPump,
561  **CollRate_levn;
562  vector<double> pops, create, destroy, depart, stat_levn, excit;
563 
564  long int levelAsEval;
565  bool lgFirst;
566  long int nzone_eval;
568 
571 
575 
577  long int nH2_pops;
578  long int nH2_zone;
579 
582 
587 
588  /* LTE cooling per molecule */
589  vector<double> LTE_Temp, LTE_cool;
590 
593 
594 public:
595  /* Read LTE cooling per molecule */
597 
598  /* interpolate over LTE cooling array */
599  double interpolate_LTE_Cooling( double Temp );
600 };
601 
602 /* compute H2 continuum dissociation cross sections */
603 double MolDissocCrossSection( const diss_tran& tran, const double& Mol_Ene );
604 
605 double Yan_H2_CS( double energy_ryd /* photon energy in ryd */);
606 
607 /* compute H2 continuum dissoication opacities */
608 //double MolDissocOpacity( const diss_tran& tran, const double& Mol_Ene );
609 
610 #endif /* H2_PRIV_H_ */
611 
multi_arr< double, 2 > H2_rad_rate_in
Definition: h2_priv.h:514
int nTRACE
Definition: h2_priv.h:406
char chH2ColliderLabels[N_X_COLLIDER][chN_X_COLLIDER]
Definition: h2_priv.h:455
multi_arr< double, 2 > H2_col_rate_out
Definition: h2_priv.h:513
const int N_ELEC
Definition: h2_priv.h:34
multi_arr< realnum, 3 > H2_dissprob
Definition: h2_priv.h:496
const double ENERGY_H2_STAR
Definition: h2_priv.h:449
double Average_A
Definition: h2_priv.h:303
double gs_rate(void)
realnum GetXColden(long iVib, long iRot)
Definition: mole_h2.cpp:2353
double renorm_min
Definition: h2_priv.h:343
double rel_pop_LTE_s
Definition: h2_priv.h:290
double rel_pop_LTE_g
Definition: h2_priv.h:289
STATIC long int ipPun
Definition: save_do.cpp:721
double H2_DissocEnergies[N_ELEC]
Definition: h2_priv.h:473
void SolveExcitedElectronicLevels(void)
Definition: mole_h2.cpp:1941
void H2_LineZero(void)
Definition: mole_h2.cpp:439
void H2_Punch_line_data(FILE *ioPUN, bool lgDoAll)
double TeUsedBoltz
Definition: h2_priv.h:422
double Average_collH2_excit
Definition: h2_priv.h:307
long int n_elec_states
Definition: h2_priv.h:416
double HeatChangeOld
Definition: h2_priv.h:300
long ip_photo_opac_thresh
Definition: h2_priv.h:320
realnum mass_amu
Definition: h2_priv.h:403
double spon_diss_tot
Definition: h2_priv.h:269
vector< double > LTE_cool
Definition: h2_priv.h:589
bool lgH2_H_coll_07
Definition: h2_priv.h:359
double Abund() const
Definition: h2_priv.h:75
void H2_LevelPops(bool &lgPopsConverged, double &old_value, double &new_value)
Definition: mole_h2.cpp:899
int n_trace_full
Definition: h2_priv.h:409
double ortho_para_older
Definition: h2_priv.h:339
void H2_ParseSave(Parser &p, ostringstream &chHeader)
Definition: mole_h2_io.cpp:73
double average_energy_s
Definition: h2_priv.h:294
multi_arr< double, 2 > pops_per_vib
Definition: h2_priv.h:464
t_coll_source coll_source[N_X_COLLIDER]
Definition: h2_priv.h:323
double HeatDexc_deriv
Definition: h2_priv.h:299
multi_arr< realnum, 2 > H2_coll_dissoc_rate_coef_H2
Definition: h2_priv.h:532
double Cont_Dissoc_Rate_H2g
Definition: h2_priv.h:285
bool lgPrtMatrix
Definition: h2_priv.h:592
molecule * sp_star
Definition: h2_priv.h:428
bool lgREAD_DATA
Definition: h2_priv.h:259
void H2_RTMake(linefunc line_one)
Definition: mole_h2.cpp:387
valarray< long > ipVib_H2_energy_sort
Definition: h2_priv.h:548
long int Jlowest[N_ELEC]
Definition: h2_priv.h:480
double ortho_colden
Definition: h2_priv.h:335
realnum H2_CollidRateEvalOne(long iVibHi, long iRotHi, long iVibLo, long iRotLo, long ipHi, long ipLo, long nColl, double temp_K)
const int nTE_HMINUS
Definition: h2_priv.h:31
double xSTDNoise
Definition: h2_priv.h:398
long OpacityCreate(double *stack)
double H2_to_H_limit
Definition: h2_priv.h:401
double ** AulEscp
Definition: h2_priv.h:558
bool lgEvaluated
Definition: h2_priv.h:317
void H2_CollidRateRead(long int nColl)
vector< CollRateCoeffArray > RateCoefTable
Definition: h2_priv.h:487
void H2_Prt_column_density(FILE *ioMEAN)
Definition: mole_h2_io.cpp:368
double rate_grain_op_conserve
Definition: h2_priv.h:280
vector< double > LTE_Temp
Definition: h2_priv.h:589
int nElecLevelOutput
Definition: h2_priv.h:356
double H2_den_g
Definition: h2_priv.h:543
multi_arr< realnum, 2 > H2_coll_dissoc_rate_coef
Definition: h2_priv.h:529
double HeatChange
Definition: h2_priv.h:300
void H2_Read_hminus_distribution(void)
Definition: mole_h2_io.cpp:976
TransitionList trans
Definition: h2_priv.h:430
Definition: mole.h:142
Definition: parser.h:42
double Average_collH2_dissoc_g
Definition: h2_priv.h:312
void GetIndices(long &ipHi, long &ipLo, const char *chLine, long &i) const
long int nEner_H2_ground
Definition: h2_priv.h:461
void H2_X_sink_and_source(void)
Definition: mole_h2.cpp:51
int n_trace_matrix
Definition: h2_priv.h:409
double Average_collH2_deexcit
Definition: h2_priv.h:305
multi_arr< realnum, 3 > CollRateErrFac
Definition: h2_priv.h:486
multi_arr< realnum, 2 > H2_X_formation
Definition: h2_priv.h:517
const realnum H2_logte_hminus[nTE_HMINUS]
Definition: h2_priv.h:37
double Yan_H2_CS(double energy_ryd)
double Solomon_dissoc_rate_g
Definition: h2_priv.h:271
double TeUsedColl
Definition: h2_priv.h:423
multi_arr< realnum, 3 > CollRateCoeff
Definition: h2_priv.h:485
const double *const dense_total
Definition: h2_priv.h:453
valarray< realnum > H2_X_sink
Definition: h2_priv.h:536
long int levelAsEval
Definition: h2_priv.h:564
vector< diss_tran > Diss_Trans
Definition: h2_priv.h:432
double ** CollRate_levn
Definition: h2_priv.h:558
long int iteration_evaluated
Definition: h2_priv.h:567
multi_arr< double, 3 > Cont_Dissoc_Rate
Definition: h2_priv.h:286
long n
Definition: h2_priv.h:41
multi_arr< long int, 3 > ipEnergySort
Definition: h2_priv.h:551
multi_arr< double, 3 > H2_old_populations
Definition: h2_priv.h:501
double LTE_Cooling_per_H2()
double GetExcitedElecDensity(void)
Definition: mole_h2.cpp:2532
bool lgH2_ortho_para_coll_on
Definition: h2_priv.h:379
molecule * sp
Definition: h2_priv.h:427
double Average_collH2_dissoc_s
Definition: h2_priv.h:313
void H2_CollidRateEvalAll(void)
long int iterationAsEval
Definition: h2_priv.h:507
multi_arr< realnum, 3 > H2_disske
Definition: h2_priv.h:497
double ortho_density
Definition: h2_priv.h:326
diss_tran(diss_level a, diss_level b)
Definition: h2_priv.h:47
double HeatDexc_old
Definition: h2_priv.h:298
int n_trace_iterations
Definition: h2_priv.h:409
t_abund abund
Definition: abund.cpp:5
realnum para_density_f
Definition: h2_priv.h:331
void H2_ReadEnergies()
Definition: mole_h2_io.cpp:655
void mole_H2_LTE(void)
void H2_RT_diffuse(void)
Definition: mole_h2.cpp:368
void mole_H2_form(void)
double para_density
Definition: h2_priv.h:326
vector< double > energies
Definition: h2_priv.h:56
void H2_RT_tau_reset(void)
Definition: mole_h2.cpp:455
multi_arr< realnum, 3 > H2_X_hminus_formation_distribution
Definition: h2_priv.h:546
double ortho_para_old
Definition: h2_priv.h:339
bool lgLTE
Definition: h2_priv.h:376
double photodissoc_BigH2_H2s
Definition: h2_priv.h:264
bool lgColl_dissoc_coll
Definition: h2_priv.h:369
double energy(const genericState &gs)
string filename
Definition: h2_priv.h:69
long int nzoneAsEval
Definition: h2_priv.h:507
long int nLevels_per_elec[N_ELEC]
Definition: h2_priv.h:482
double xMeanNoise
Definition: h2_priv.h:398
vector< double > destroy
Definition: h2_priv.h:562
bool lgEnabled
Definition: h2_priv.h:352
double H2_den_s
Definition: h2_priv.h:543
long int nzoneEval
Definition: h2_priv.h:395
multi_arr< double, 3 > H2_populations_LTE
Definition: h2_priv.h:502
string label
Definition: h2_priv.h:435
long int nCall_this_zone
Definition: h2_priv.h:348
string path
Definition: h2_priv.h:437
void Mol_Photo_Diss_Rates(void)
void H2_RT_tau_inc(void)
Definition: mole_h2.cpp:409
void(* linefunc)(const TransitionProxy &t, bool lgShield_this_zone, realnum pestrk, realnum DopplerWidth)
Definition: h2_priv.h:10
void H2_Prt_Zone(void)
Definition: mole_h2_io.cpp:306
bool lgH2_PAH2_ORNL
Definition: h2_priv.h:387
bool lgH2_NOISE
Definition: h2_priv.h:390
double Average_collH_deexcit
Definition: h2_priv.h:306
const int N_X_COLLIDER
Definition: h2_priv.h:20
bool lgFirst
Definition: h2_priv.h:565
long int nCall_this_iteration
Definition: h2_priv.h:586
double H2_InterEnergy(void)
long int ndimMalloced
Definition: h2_priv.h:557
void H2_RT_OTS(void)
Definition: mole_h2.cpp:2423
long magic
Definition: h2_priv.h:67
float realnum
Definition: cddefines.h:124
multi_arr< realnum, 2 > H2_X_colden_LTE
Definition: h2_priv.h:523
double photodissoc_BigH2_H2g
Definition: h2_priv.h:265
multi_arr< bool, 2 > lgH2_radiative
Definition: h2_priv.h:574
long int nH2_pops
Definition: h2_priv.h:577
long int nXLevelsMatrix
Definition: h2_priv.h:556
double MolDissocOpacity(const diss_tran &tran, const double &Mol_Ene)
bool lgH2_He_ORNL
Definition: h2_priv.h:383
multi_arr< realnum, 2 > H2_X_Hmin_back
Definition: h2_priv.h:519
void H2_PrtDepartCoef(void)
Definition: mole_h2_io.cpp:335
void H2_LinesAdd(void)
Definition: mole_h2_io.cpp:43
double(* photoion_opacity_fun)(double energy)
Definition: h2_priv.h:81
double ** AulDest
Definition: h2_priv.h:558
void H2_Cooling(void)
Definition: mole_h2.cpp:2187
long ip_photo_opac_offset
Definition: h2_priv.h:321
multi_arr< realnum, 6 > H2_SaveLine
Definition: h2_priv.h:570
long v
Definition: h2_priv.h:41
multi_arr< double, 3 > H2_rad_rate_out
Definition: h2_priv.h:498
bool lgColl_deexec_Calc
Definition: h2_priv.h:366
double average_energy_g
Definition: h2_priv.h:293
double H2_DR(void)
Definition: mole_h2.cpp:2417
valarray< long > ipElec_H2_energy_sort
Definition: h2_priv.h:549
void H2_ContPoint(void)
Definition: mole_h2.cpp:276
long int loop_h2_oscil
Definition: h2_priv.h:394
void Read_Mol_Diss_cross_sections(void)
multi_arr< realnum, 3 > H2_X_grain_formation_distribution
Definition: h2_priv.h:540
realnum ortho_density_f
Definition: h2_priv.h:331
double rate_grain_J1_to_J0
Definition: h2_priv.h:281
double GetHeatRate(const diss_tran &tran)
double HeatDexc
Definition: h2_priv.h:297
void H2_Calc_Average_Rates(void)
Definition: mole_h2.cpp:2447
double ortho_para_current
Definition: h2_priv.h:339
double frac_matrix
Definition: h2_priv.h:419
long int nzone_eval
Definition: h2_priv.h:566
void H2_Solomon_rate(void)
Definition: mole_h2_etc.cpp:24
diatomics(const string &a, const double &e_star, const double *const abund, double(*fun)(double))
Definition: h2.cpp:13
double HeatDiss
Definition: h2_priv.h:296
vector< double > stat_levn
Definition: h2_priv.h:562
void H2_ReadTransprob(long int nelec, TransitionList &trans)
Definition: mole_h2_io.cpp:403
double photo_heat_soft
Definition: h2_priv.h:262
bool lgH2_grain_deexcitation
Definition: h2_priv.h:373
multi_arr< double, 2 > H2_X_rate_to_elec_excited
Definition: h2_priv.h:527
double photo_heat_hard
Definition: h2_priv.h:263
string shortlabel
Definition: h2_priv.h:436
void H2_zero_pops_too_low(void)
multi_arr< double, 2 > H2_X_rate_from_elec_excited
Definition: h2_priv.h:525
long int getLine(long iElecHi, long iVibHi, long iRotHi, long iElecLo, long iVibLo, long iRotLo, double *relint, double *absint)
double renorm_max
Definition: h2_priv.h:343
qList states
Definition: h2_priv.h:429
void H2_Colden(const char *chLabel)
Definition: mole_h2.cpp:2372
double Average_collH_excit
Definition: h2_priv.h:308
double H2_RadPress(void)
Definition: mole_h2.cpp:317
void H2_X_coll_rate_evaluate(void)
Definition: mole_h2.cpp:198
void H2_PunchLineStuff(FILE *io, realnum xLimit, long index)
void H2_Read_LTE_cooling_per_H2()
double Solomon_dissoc_rate_s
Definition: h2_priv.h:272
double photoionize_rate
Definition: h2_priv.h:261
bool lgH2_ORH2_ORNL
Definition: h2_priv.h:386
void H2_Level_low_matrix(realnum abundance)
Definition: mole_h2.cpp:471
multi_arr< long int, 2 > ipTransitionSort
Definition: h2_priv.h:552
void H2_PunchDo(FILE *io, char chJOB[], const char chTime[], long int ipPun)
double Cont_Dissoc_Rate_H2s
Definition: h2_priv.h:284
bool lgColl_gbar
Definition: h2_priv.h:363
bool lgH2_NOISECOSMIC
Definition: h2_priv.h:392
double Solomon_elec_decay_g
Definition: h2_priv.h:275
vector< double > pops
Definition: h2_priv.h:562
void H2_Reset(void)
TransitionList::iterator rad_end
Definition: h2_priv.h:431
void H2_ReadDissocEnergies(void)
Definition: mole_h2_io.cpp:818
valarray< long > nRot_hi[N_ELEC]
Definition: h2_priv.h:477
double pops_per_elec[N_ELEC]
Definition: h2_priv.h:484
double Solomon_elec_decay_s
Definition: h2_priv.h:276
double para_colden
Definition: h2_priv.h:335
double H2_renorm_chemistry
Definition: h2_priv.h:467
vector< double > create
Definition: h2_priv.h:562
double Average_collH_dissoc_g
Definition: h2_priv.h:310
t_coll_source()
Definition: h2_priv.h:63
valarray< long > ipRot_H2_energy_sort
Definition: h2_priv.h:550
double ** AulPump
Definition: h2_priv.h:558
valarray< realnum > H2_X_source
Definition: h2_priv.h:535
double H2_Accel(void)
Definition: mole_h2.cpp:294
double rate_coeff
Definition: h2_priv.h:58
long int nzone_nlevel_set
Definition: h2_priv.h:581
long j
Definition: h2_priv.h:41
double Average_collH_dissoc_s
Definition: h2_priv.h:311
void CalcPhotoionizationRate(void)
void init(void)
double interpolate_LTE_Cooling(double Temp)
void set_numLevelsMatrix(long numLevels)
void H2_ReadDissprob(long int nelec)
Definition: mole_h2_io.cpp:885
double MolDissocCrossSection(const diss_tran &tran, const double &Mol_Ene)
double GetDissociationRate(const diss_tran &tran)
vector< double > depart
Definition: h2_priv.h:562
vector< double > excit
Definition: h2_priv.h:562
multi_arr< realnum, 2 > H2_X_coll_rate
Definition: h2_priv.h:470
double H2_itrzn(void)
Definition: mole_h2.cpp:263
long int nVib_hi[N_ELEC]
Definition: h2_priv.h:475
vector< double > xsections
Definition: h2_priv.h:57
void SolveSomeGroundElectronicLevels(void)
Definition: mole_h2.cpp:2052
multi_arr< double, 2 > H2_col_rate_in
Definition: h2_priv.h:512
const int chN_X_COLLIDER
Definition: h2_priv.h:22
int n_trace_final
Definition: h2_priv.h:409
multi_arr< realnum, 2 > H2_X_colden
Definition: h2_priv.h:521
long int nH2_zone
Definition: h2_priv.h:578
multi_arr< int, 2 > H2_ipPhoto
Definition: h2_priv.h:511
diss_level initial
Definition: h2_priv.h:54
double Cont_Diss_Heat_Rate(void)
multi_arr< bool, 3 > H2_lgOrtho
Definition: h2_priv.h:504