cloudy
trunk
|
00001 /* This file is part of Cloudy and is copyright (C)1978-2008 by Gary J. Ferland and 00002 * others. For conditions of distribution and use see copyright notice in license.txt */ 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 /* in following two the logical variable says whether to do the 00024 * escape probabilities too (true) or just the destruction probabilities (false) */ 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 /* #define DEST0 1e-8 */ 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 /* _RT_H_ */