00001
00002
00003
00004 #ifndef _RT_H_
00005 #define _RT_H_
00006
00015 void RT_line_all(
00016 bool lgDoEsc ,
00017 bool lgUpdateFineOpac );
00018
00021 double RT_line_driving(void);
00022
00023
00024
00025
00036 void RT_line_one(transition * t ,
00037 bool lgDoEsc ,
00038 bool lgUpdateFineOpac,
00039 bool lgShield_this_zone );
00040
00044 double RT_continuum_shield_fcn( transition *t );
00045
00047 void RT_diffuse(void);
00048
00051 void RT_OTS(void);
00052
00057 void RT_OTS_AddLine(double ots,
00058 long int ip );
00059
00067 void RT_OTS_Update(
00068 double* SumOTS ,
00069 double BigFrac);
00070
00072 void RT_OTS_Zero( void );
00073
00075 void RT_OTS_ChkSum(
00076 long int ipPnt);
00077
00085 void RT_line_one_tauinc(
00086 transition * t ,
00087 long int mas_species,
00088 long int mas_ion,
00089 long int mas_hi,
00090 long int mas_lo );
00091
00093 void RT_tau_init(void);
00094
00099 void RT_line_one_tau_reset(
00100 transition * t ,
00101 double f1);
00102
00104 void RT_tau_reset(void);
00105
00107 void RT_tau_inc(void);
00108
00113 void RT_OTS_PrtRate(
00114 double weak ,
00115 int chFlag );
00116
00121 double esc_PRD_1side(double tau,
00122 double a);
00123
00125 double esc_CRDwing_1side(double tau,
00126 double a );
00127
00134 double RTesc_lya(
00135 double *esin,
00136 double *dest,
00137 double abund,
00138 long int ipZ);
00139
00145 double esc_CRDwing(double tau,
00146 double tout,
00147 double damp);
00148
00153 double esc_CRDcore(double tau,
00154 double tout);
00155
00161 double esc_PRD(double tau,
00162 double tout,
00163 double damp );
00164
00168 double esca0k2(double taume);
00169
00174 double esccon(double tau,
00175 double hnukt);
00176
00180 double escConE2(
00181 double x);
00182
00192 double RT_DestProb(
00193 double abund,
00194 double crsec,
00195 long int ipanu,
00196 double widl,
00197 double escp,
00198 int nCore);
00199
00200 #if 0
00201
00205 double RT_LyaWidth(
00206 double tauin,
00207 double tauout,
00208 double a,
00209 double vth);
00210 #endif
00211
00215 double RT_LineWidth(
00216 const transition * t);
00217
00222 double RT_DestHummer(
00223 double beta);
00224
00228 double RT_recom_effic(
00229 long int ip);
00230
00232 void RT_stark(void);
00233
00236
00237 #define DEST0 SMALLFLOAT
00238
00239 EXTERN struct t_rt {
00240
00242 realnum wayin,
00243
00246 wayout;
00247
00249 realnum fracin;
00250
00252 realnum TAddHLya,
00253 TAddHeI;
00254
00257 realnum DoubleTau;
00258
00260 long int ipxry;
00261
00263 realnum tauxry;
00264
00266 bool lgFstOn;
00267
00269 int nLineContShield;
00270
00272 bool lgElecScatEscape;
00273
00277 realnum dTauMase;
00278
00280 bool lgMaserSetDR;
00281
00284 bool lgMaserCapHit;
00285
00287 long int mas_species , mas_ion , mas_hi , mas_lo;
00288
00290 bool lgStarkON;
00291
00292 } rt;
00293
00296 #define LINE_CONT_SHIELD_PESC 1
00297 #define LINE_CONT_SHIELD_FEDERMAN 2
00298 #define LINE_CONT_SHIELD_FERLAND 3
00299
00300 #endif