00001
00002
00003
00004 #ifndef RT_H_
00005 #define RT_H_
00006
00009 void RT_line_all( void );
00010
00013 double RT_line_driving(void);
00014
00015
00016
00017
00027 void RT_line_one(transition* t,
00028 bool lgShield_this_zone,
00029 realnum pestrk,
00030 realnum DopplerWidth);
00031
00035 double RT_continuum_shield_fcn( transition *t );
00036
00038 void RT_diffuse(void);
00039
00041 void RT_continuum(void);
00042
00045 void RT_OTS(void);
00046
00051 void RT_OTS_AddLine(double ots,
00052 long int ip );
00053
00060 void RT_OTS_Update(double* SumOTS);
00061
00063 void RT_OTS_Zero( void );
00064
00066 void RT_OTS_ChkSum(
00067 long int ipPnt);
00068
00077 void RT_line_one_tauinc(
00078 transition * t ,
00079 long int mas_species,
00080 long int mas_ion,
00081 long int mas_hi,
00082 long int mas_lo,
00083 realnum DopplerWidth);
00084
00086 void RT_tau_init(void);
00087
00091 void RT_line_one_tau_reset(
00092 transition * t );
00093
00095 void RT_tau_reset(void);
00096
00098 void RT_tau_inc(void);
00099
00104 void RT_OTS_PrtRate(
00105 double weak ,
00106 int chFlag );
00107
00112 double esc_PRD_1side(double tau,
00113 double a);
00114
00116 double esc_CRDwing_1side(double tau,
00117 double a );
00118
00126 double RTesc_lya(
00127 double *esin,
00128 double *dest,
00129 double abund,
00130 long int ipZ,
00131 realnum DopplerWidth);
00132
00138 double esc_CRDwing(double tau,
00139 double tout,
00140 double damp);
00141
00146 double esc_CRDcore(double tau,
00147 double tout);
00148
00154 double esc_PRD(double tau,
00155 double tout,
00156 double damp );
00157
00161 double esca0k2(double taume);
00162
00167 double esccon(double tau,
00168 double hnukt);
00169
00179 double RT_DestProb(
00180 double abund,
00181 double crsec,
00182 long int ipanu,
00183 double widl,
00184 double escp,
00185 int nCore);
00186
00187 #if 0
00188
00192 double RT_LyaWidth(
00193 double tauin,
00194 double tauout,
00195 double a,
00196 double vth);
00197 #endif
00198
00203 double RT_LineWidth(
00204 const transition * t,
00205 realnum DopplerWidth);
00206
00211 double RT_DestHummer(
00212 double beta);
00213
00217 double RT_recom_effic(
00218 long int ip);
00219
00221 void RT_stark(void);
00222
00225
00226 #define DEST0 SMALLFLOAT
00227
00228 EXTERN struct t_rt {
00229
00231 realnum wayin,
00232
00235 wayout;
00236
00238 realnum fracin;
00239
00241 realnum TAddHLya,
00242 TAddHeI;
00243
00246 realnum DoubleTau;
00247
00249 long int ipxry;
00250
00252 realnum tauxry;
00253
00255 bool lgFstOn;
00256
00258 int nLineContShield;
00259
00261 bool lgElecScatEscape;
00262
00266 realnum dTauMase;
00267
00269 bool lgMaserSetDR;
00270
00273 bool lgMaserCapHit;
00274
00276 long int mas_species , mas_ion , mas_hi , mas_lo;
00277
00279 bool lgStarkON;
00280
00281 } rt;
00282
00285 #define LINE_CONT_SHIELD_PESC 1
00286 #define LINE_CONT_SHIELD_FEDERMAN 2
00287 #define LINE_CONT_SHIELD_FERLAND 3
00288
00289 #endif