00001
00002
00003
00004 #ifndef H2_H_
00005 #define H2_H_
00006
00007
00009 #define N_H2_ELEC 7
00010
00012 void H2_Create(void);
00013
00015 void H2_ContPoint( void );
00016
00018 double H2_DR(void);
00019
00021 void H2_Init(void);
00022
00024 void H2_init_coreload( void );
00025
00027 double H2_Accel(void);
00028
00030 void H2_RT_OTS( void );
00031
00033 double H2_RadPress(void);
00034
00036 void H2_LinesAdd(void);
00037
00039 void H2_Reset( void );
00040
00042 double H2_InterEnergy(void);
00043
00047 void H2_Colden( const char *chLabel );
00048
00053 void H2_Cooling(const char *chString);
00054
00059 void H2_Punch_line_data(
00060 FILE* ioPUN ,
00061 bool lgDoAll );
00062
00068 void H2_PunchLineStuff( FILE * io , realnum xLimit , long index);
00069
00071 void H2_RT_diffuse(void);
00072
00075 void H2_RTMake( void );
00076
00078 void H2_RT_tau_inc(void);
00079
00081 void H2_Zero( void );
00082
00084 void H2_Prt_Zone(void);
00085
00087 void H2_LineZero( void );
00088
00090 void H2_RT_tau_reset( void );
00091
00093 void H2_LevelPops( void );
00094
00101 void H2_PunchDo( FILE* io , char chJOB[] , const char chTime[] , long int ipPun );
00102
00104 void H2_Prt_line_tau(void);
00105
00106 class Parser;
00107
00109 void H2_ParseSave( Parser &p ,
00110 char *chHeader);
00111
00113 double H2_itrzn( void );
00114
00119 void H2_Prt_column_density( FILE *ioMEAN );
00120
00122 extern bool lgH2_READ_DATA;
00123
00124 EXTERN struct t_h2 {
00125
00127 double ortho_density,
00129 para_density;
00130
00132 double ortho_colden ,
00133 para_colden;
00134
00137 double renorm_max ,
00138 renorm_min;
00139
00142 long int nCallH2_this_zone;
00143
00146 bool lgH2ON;
00147
00150 int nElecLevelOutput;
00151
00154 long int nVib_hi[N_H2_ELEC];
00155
00157 long int nRot_hi[N_H2_ELEC][50];
00158
00161 long int Jlowest[N_H2_ELEC];
00162
00163
00164 bool lgH2_H_coll_07;
00165
00166 } h2;
00167
00168 #endif