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
00077 void H2_RTMake( bool lgDoEsc ,
00078 bool lgUpdateFineOpac );
00079
00081 void H2_RT_tau_inc(void);
00082
00084 void H2_Zero( void );
00085
00087 void H2_Prt_Zone(void);
00088
00090 void H2_LineZero( void );
00091
00093 void H2_RT_tau_reset( void );
00094
00096 void H2_LevelPops( void );
00097
00104 void H2_PunchDo( FILE* io , char chJOB[] , const char chTime[] , long int ipPun );
00105
00107 void H2_Prt_line_tau(void);
00108
00110 void H2_ParsePunch( char *chCard ,
00111 char *chHeader);
00112
00114 double H2_itrzn( void );
00115
00120 void H2_Prt_column_density( FILE *ioMEAN );
00121
00123 extern bool lgH2_READ_DATA;
00124
00125 EXTERN struct t_h2 {
00126
00128 double ortho_density,
00130 para_density;
00131
00133 double ortho_colden ,
00134 para_colden;
00135
00138 double renorm_max ,
00139 renorm_min;
00140
00143 long int nCallH2_this_zone;
00144
00147 bool lgH2ON;
00148
00151 int nElecLevelOutput;
00152
00155 long int nVib_hi[N_H2_ELEC];
00156
00158 long int nRot_hi[N_H2_ELEC][50];
00159
00162 long int Jlowest[N_H2_ELEC];
00163
00164
00165 bool lgH2_H_coll_07;
00166
00167 } h2;
00168
00169 #endif