00001
00002
00011 void RT_line_all(
00012 bool lgDoEsc ,
00013 bool lgUpdateFineOpac );
00014
00016 void RT_radiative_acceleration(void);
00017
00019 double RT_line_driving(void);
00020
00021
00022
00023
00034 void RT_line_one(EmLine * t ,
00035 bool lgDoEsc ,
00036 bool lgUpdateFineOpac,
00037 bool lgShield_this_zone );
00038
00042 float RT_continuum_shield_fcn( EmLine *t );
00043
00045 void RT_diffuse(void);
00046
00049 void RT_OTS(void);
00050
00055 void RT_OTS_AddLine(double ots,
00056 long int ip );
00057
00065 void RT_OTS_Update(
00066 double* SumOTS ,
00067 double BigFrac);
00068
00070 void RT_OTS_Zero( void );
00071
00073 void RT_OTS_ChkSum(
00074 long int ipPnt);
00075
00083 void RT_line_one_tauinc(
00084 EmLine * t ,
00085 long int mas_species,
00086 long int mas_ion,
00087 long int mas_hi,
00088 long int mas_lo );
00089
00091 void RT_tau_init(void);
00092
00097 void RT_line_one_tau_reset(
00098 EmLine * t ,
00099 double f1);
00100
00102 void RT_tau_reset(void);
00103
00105 void RT_tau_inc(void);
00106
00111 void RT_OTS_PrtRate(
00112 double weak ,
00113 int chFlag );
00114
00119 double esc_PRD_1side(double tau,
00120 double a);
00121
00123 double esc_CRDwing_1side(double tau,
00124 double a );
00125
00132 double RTesc_lya(
00133 double *esin,
00134 double *dest,
00135 double abund,
00136 long int ipZ);
00137
00143 double esc_CRDwing(double tau,
00144 double tout,
00145 double damp);
00146
00151 double esc_CRDcore(double tau,
00152 double tout);
00153
00159 double esc_PRD(double tau,
00160 double tout,
00161 double damp );
00162
00166 double esca0k2(double taume);
00167
00172 double esccon(double tau,
00173 double hnukt);
00174
00178 double escConE2(
00179 double x);
00180
00190 double RT_DestProb(
00191 double abund,
00192 double crsec,
00193 long int ipanu,
00194 double widl,
00195 double escp,
00196 int nCore);
00197
00198 #if 0
00199
00203 double RT_LyaWidth(
00204 double tauin,
00205 double tauout,
00206 double a,
00207 double vth);
00208 #endif
00209
00213 double RT_LineWidth(
00214 EmLine * t);
00215
00220 double RT_DestHummer(
00221 double beta);
00222
00226 double RT_recom_effic(
00227 long int ip);
00228
00230 void RT_stark(void);
00231
00234
00235 #define DEST0 SMALLFLOAT
00236
00237 EXTERN struct t_rt {
00238
00240 float wayin,
00241
00244 wayout;
00245
00248 float fracin;
00249
00251 float TAddHLya,
00252 TAddHeI;
00253
00256 float DoubleTau;
00257
00259 long int ipxry;
00260
00262 float tauxry;
00263
00265 bool lgFstOn;
00266
00268 int nLineContShield;
00269
00271 bool lgElecScatEscape;
00272
00276 float dTauMase;
00277
00279 bool lgMaserSetDR;
00280
00283 bool lgMaserCapHit;
00284
00286 long int mas_species , mas_ion , mas_hi , mas_lo;
00287
00289 bool lgStarkON;
00290
00291 } rt;
00292
00295 #define LINE_CONT_SHIELD_PESC 1
00296 #define LINE_CONT_SHIELD_FEDERMAN 2
00297 #define LINE_CONT_SHIELD_FERLAND 3