00001
00002
00003
00005 #define N_H2_ELEC 7
00006
00008 void H2_Create(void);
00009
00011 void H2_ContPoint( void );
00012
00014 double H2_DR(void);
00015
00017 void H2_Init(void);
00018
00020 double H2_Accel(void);
00021
00023 void H2_RT_OTS( void );
00024
00026 double H2_RadPress(void);
00027
00029 void H2_LinesAdd(void);
00030
00032 void H2_Reset( void );
00033
00035 double H2_InterEnergy(void);
00036
00040 void H2_Colden( const char *chLabel );
00041
00046 void H2_Cooling(const char *chString);
00047
00052 void H2_Punch_line_data(
00053 FILE* ioPUN ,
00054 bool lgDoAll );
00055
00061 void H2_PunchLineStuff( FILE * io , float xLimit , long index);
00062
00064 void H2_RT_diffuse(void);
00065
00070 void H2_RTMake( bool lgDoEsc ,
00071 bool lgUpdateFineOpac );
00072
00074 void H2_RT_tau_inc(void);
00075
00077 void H2_Zero( void );
00078
00080 void H2_Prt_Zone(void);
00081
00083 void H2_LineZero( void );
00084
00086 void H2_RT_tau_reset( void );
00087
00089 void H2_LevelPops( void );
00090
00097 void H2_PunchDo( FILE* io , char chJOB[] , const char chTime[] , long int ipPun );
00098
00100 void H2_Prt_line_tau(void);
00101
00103 void H2_ParsePunch( char chRoutine[] );
00104
00106 double H2_itrzn( void );
00107
00112 void H2_Prt_column_density( FILE *ioMEAN );
00113
00115 extern bool lgH2_READ_DATA;
00116
00117 EXTERN struct t_h2 {
00118
00120 double ortho_density,
00122 para_density;
00123
00125 double ortho_colden ,
00126 para_colden;
00127
00130 double renorm_max ,
00131 renorm_min;
00132
00135 long int nCallH2_this_zone;
00136
00139 bool lgH2ON;
00140
00143 int nElecLevelOutput;
00144
00147 long int nVib_hi[N_H2_ELEC];
00148
00150 long int nRot_hi[N_H2_ELEC][50];
00151
00154 long int Jlowest[N_H2_ELEC];
00155
00156 } h2;