00001
00002
00003
00004
00006 #define WL_V_FILT 5500.
00007
00009 #define WL_B_FILT 4400.
00010
00012 void rfield_opac_zero( long lo , long ihi );
00013
00015 extern bool lgRfieldMalloced;
00016
00017 EXTERN struct t_rfield {
00018
00027 long int nflux;
00028
00030 long int nupper;
00031
00033 float emm;
00034
00036 float egamry;
00037
00039 float FluxFaint;
00040
00042 float *anu;
00043
00046 float *AnuOrg;
00047
00049 float *widflx;
00050
00052 long int *line_count;
00053
00055 float *OccNumbBremsCont;
00056
00058 float *OccNumbContEmitOut;
00059
00061 float *anulog,
00062 *anusqr,
00063 *anu2,
00064 *anu3;
00065
00070 float *flux;
00071
00073 float *flux_time , *flux_const;
00075 float frac_time;
00076
00078 float *flux_accum;
00079
00081 bool lgDoLineTrans;
00082
00085 bool lgOpacityReevaluate;
00086
00088 bool lgCMB_set;
00089
00092 bool lgIonizReevaluate;
00093
00095 float *convoc;
00096
00099 float *OccNumbIncidCont;
00100
00102 float *OccNumbDiffCont;
00103
00106 double *ContBoltz;
00107
00110 float **ConEmitLocal;
00111
00113 float *ConEmitReflec;
00114
00118 float *ConEmitOut;
00119
00121 float *ConInterOut;
00122
00124 float *ConRefIncid;
00125
00128 float *SummedCon;
00129 float *SummedDif;
00130 float *SummedOcc;
00131 float *SummedDifSave;
00132
00135 float *ConOTS_local_photons,
00137 *ConOTS_local_OTS_rate;
00138
00140 float *TotDiff2Pht;
00141
00144 float
00146 *otslin,
00148 *otscon,
00149
00152 *otslinNew,
00153 *otsconNew,
00154
00155 *outlin,
00156 *outlin_noplot,
00157 **otssav;
00158
00160 float *reflin;
00161
00163 float *FluxSave;
00164
00167 float DiffPumpOn;
00168
00170 char **chLineLabel;
00171
00173 char **chContLabel;
00174
00177 float **gff;
00178
00182 bool lgCompileGauntFF;
00183
00186 char chDffTrns[4];
00187
00191 bool lgOutOnly;
00192
00195 long int ipEnergyBremsThin;
00196 float EnergyBremsThin;
00197
00199 long int ipMaxBolt;
00200
00202 bool lgInducProcess;
00203
00205 double *comup,
00206 *comdn;
00207
00209 long int ipB_filter , ipV_filter;
00210
00213 long int ipG0_TH85_lo , ipG0_TH85_hi;
00214
00217 long int ipG0_DB96_lo , ipG0_DB96_hi;
00218
00220 long int ipG0_spec_lo , ipG0_spec_hi;
00221
00223 long int ip1000A;
00224
00227 double extin_mag_B_point , extin_mag_V_point;
00228
00231 double extin_mag_B_extended , extin_mag_V_extended;
00232
00234 double opac_mag_B_point, opac_mag_V_point, opac_mag_B_extended , opac_mag_V_extended;
00235
00238 float *csigh,
00239 *csigc;
00240
00241 double comtot,
00242 cmheat,
00243 cmcool,
00244 comoff,
00245 cinrat;
00246
00248 bool lgComUndr;
00249
00252 # define LIMSPC 100
00253
00255 # define NCELL 130000
00256
00257 double totpow[LIMSPC],
00258 slope[LIMSPC],
00259 cutoff[LIMSPC][3],
00260 spfac[LIMSPC];
00261
00263 bool lgTimeVary[LIMSPC];
00264
00265 long int nspec,
00266 ipspec;
00267
00273 float **tNuRyd ,
00274 **tslop ,
00276 **tFluxLog ;
00277
00280 int *lgContMalloc;
00281
00284 double range[LIMSPC][2];
00285
00287 float *ConTabRead;
00288
00291 char chSpNorm[LIMSPC][5],
00292 chRSpec[LIMSPC][5],
00293 chSpType[LIMSPC][6];
00294
00296 FILE *ioTableRead[LIMSPC];
00297
00299 float qhtot,
00300 qhe,
00301 qheii,
00302 qbal,
00303 qrad,
00304 qtot;
00305
00307 float uh;
00308
00310 float uheii;
00311
00313 bool lgUSphON;
00315 float rstrom;
00316
00319 bool lgHabing;
00320
00328 long int fine_opac_nelem;
00329
00331 long int fine_opac_nresolv;
00332
00334 float fine_opac_velocity_width;
00335
00338 float *trans_coef_zone;
00340 float *trans_coef_total;
00341
00344 long int *ipnt_coarse_2_fine;
00345
00347 float fine_ener_lo, fine_ener_hi;
00349 long nfine;
00351 long nfine_malloc;
00354 double fine_resol;
00356 float *fine_opac_zone;
00358 float *fine_opt_depth;
00360 float *fine_anu;
00361
00363 bool lgOpacityFine;
00365 bool lgPunchOpacityFine;
00366
00368 bool lgFine_opac_update;
00369
00372 bool lgLyaOTS;
00373
00376 bool lgHeIIOTS;
00377
00379 bool lgKillOutLine;
00380
00382 bool lgKillOutCont;
00383
00385 bool lgKillOTSLine;
00386
00388 bool lgTableRead;
00389
00393 bool lgPlasNu;
00395 float plsfrq,
00397 plsfrqmax;
00399 long int ipPlasma,
00401 ipPlasmax;
00402
00405 bool lgMMok,
00406 lgHPhtOK,
00407 lgXRayOK,
00408 lgGamrOK;
00409
00411 float EnerGammaRay;
00412 long int ipEnerGammaRay;
00413
00415 bool lgHionRad;
00416
00418 float occmax,
00419 occmnu,
00420 tbrmax,
00421 tbrmnu,
00422 tbr4nu,
00423 occ1nu;
00424
00426 bool lgOcc1Hi;
00427
00428 } rfield;
00429