cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
rfield.h
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2013 by Gary J. Ferland and
2  * others. For conditions of distribution and use see copyright notice in license.txt */
3 
4 #ifndef RFIELD_H_
5 #define RFIELD_H_
6 
7 /* rfield.h */
8 #include "energy.h"
9 
11 const double WL_V_FILT = 5500.;
12 
14 const double WL_B_FILT = 4400.;
15 
18 const int LIMSPC = 100;
19 
21 const int NCELL = 130000;
22 
24 void rfield_opac_zero( long lo , long ihi );
25 
27 extern bool lgRfieldMalloced;
28 
29 namespace Illuminate {
30  typedef enum { FORWARD , REVERSE , SYMMETRIC } IlluminationType ;
31 }
32 
33 struct t_rfield {
34 
43  long int nflux;
44 
46  long int nupper;
47 
50 
53 
56 
58  double *anu;
59 
62  double *AnuOrg;
63 
66 
68  long int *line_count;
69 
72 
75 
78  *anusqr,
79  *anu2,
80  *anu3;
81 
87 
90 
93 
96 
106 
111 
112  /* this is set true if H-ionizing radiation is blocked with extinguish
113  * command */
115 
118 
122 
124  bool lgCMB_set;
125 
129 
132 
135 
139 
142 
145  double *ContBoltz;
146 
149  realnum **ConEmitLocal/* [depth][energy]*/;
150 
152  realnum **ConSourceFcnLocal/* [depth][energy]*/;
153 
156 
162 
165 
168 
171  double *SummedCon;
175 
181 
185 
188 
191  realnum
193  *otslin/*[NC_ELL]*/,
195  *otscon/*[NC_ELL]*/,
196  **otssav/*[NC_ELL][2]*/;
197 
200  *outlin_noplot;
201 
204 
206  realnum **reflin/*[NC_ELL]*/;
207 
211 
214 
218 
220  char **chLineLabel/*[NC_ELL][5]*/;
221 
223  char **chContLabel/*[NC_ELL][5]*/;
224 
227  realnum **gff/*[LIMELM][NC_ELL]*/;
228 
233 
236  char chDffTrns[4];
237 
241  bool lgOutOnly;
242 
247 
249  long int ipMaxBolt;
250 
253 
255  double *comup,
256  *comdn;
257 
259  long int ipB_filter , ipV_filter;
260 
264 
268 
271 
273  long int ip1000A;
274 
278 
282 
285 
289  *csigc;
290 
291  double comtot,
292  cmheat,
293  cmcool,
294  cinrat;
296 
298  bool lgComUndr;
299 
300  double totpow[LIMSPC],
301  slope[LIMSPC],
302  cutoff[LIMSPC][3],
303  spfac[LIMSPC];
304 
307 
308  /* beamed or isotropic continuum? if isotropic then does not vary
309  * with time */
311 
315 
317 
322  long int nShape,
323  ipSpec;
324 
330  vector<Energy> tNu[LIMSPC];
331  vector<realnum> tslop[LIMSPC];
333  vector<realnum> tFluxLog[LIMSPC];
334 
335  long ncont[LIMSPC];
336 
339  double RSFCheck[LIMSPC];
340 
344 
347  double range[LIMSPC][2];
348 
351  char chSpNorm[LIMSPC][5],
352  chRSpec[LIMSPC][5],
353  chSpType[LIMSPC][6];
354 
357  qhe,
358  qheii,
359  qbal,
360  qrad,
361  qtot;
362 
365 
368 
370  bool lgUSphON;
373 
376  bool lgHabing;
377 
380  long int fine_opac_nelem;
381 
384 
387 
388 private:
391 
392 public:
394 
398 
402  long nfine;
406  double fine_resol;
413 
419 
424 
427  bool lgLyaOTS;
428 
431  bool lgHeIIOTS;
432 
435 
438 
441 
445  bool lgPlasNu;
449  plsfrqmax;
450  // the zone where the plasma frequency is evaluated
451  long int nZonePlsFrqEval;
453  long int ipPlasma,
455  ipPlasmax;
456 
459  bool lgMMok,
460  lgHPhtOK,
461  lgXRayOK,
462  lgGamrOK;
463 
466  long int ipEnerGammaRay;
467 
469  bool lgHionRad;
470 
473  occmnu,
474  tbrmax,
475  tbrmnu,
476  tbr4nu,
477  occ1nu;
478 
480  bool lgOcc1Hi;
481 
486 
487  // constructor
489  {
490  nZonePlsFrqEval = -1;
491 
492  // the constant that multiplies the column density to get optical depth at 1 Ryd
494  // the power on the energy for the extinction
496 
497  // these are the low and high energy bounds of the continuum
498  emm = 1.001e-8f;
499  egamry = 7.354e6f;
500 
501  // space not created yet
502  for( long i=0; i < LIMSPC; i++ )
503  lgContMalloc[i] = false;
504  }
505 
506  const realnum *getCoarseTransCoef();
507 
509  {
510  trans_coef_total = ptr;
511  }
513  {
514  for (long i=0; i<nupper; ++i)
515  trans_coef_total[i] = 1.0;
516  trans_coef_total_stale = true;
517  }
518 };
519 extern t_rfield rfield;
520 
521 
522 #endif /* RFIELD_H_ */
realnum ** gff
Definition: rfield.h:227
realnum ** ConSourceFcnLocal
Definition: rfield.h:152
realnum * fine_opt_depth
Definition: rfield.h:410
realnum * fine_anu
Definition: rfield.h:412
realnum * csigh
Definition: rfield.h:288
long int * line_count
Definition: rfield.h:68
realnum * widflx
Definition: rfield.h:65
realnum * ConOTS_local_OTS_rate
Definition: rfield.h:178
bool lgBeamed[LIMSPC]
Definition: rfield.h:310
realnum * flux_isotropic
Definition: rfield.h:89
bool lgGamrOK
Definition: rfield.h:459
bool lgSaveOpacityFine
Definition: rfield.h:423
long int ipG0_spec_hi
Definition: rfield.h:270
long int fine_opac_nresolv
Definition: rfield.h:383
double comtot
Definition: rfield.h:291
double opac_mag_B_extended
Definition: rfield.h:284
realnum qtot
Definition: rfield.h:356
realnum EnerGammaRay
Definition: rfield.h:465
long int ipG0_DB96_hi
Definition: rfield.h:267
bool lgKillOutLine
Definition: rfield.h:434
long int ipEnergyBremsThin
Definition: rfield.h:245
realnum qbal
Definition: rfield.h:356
realnum * flux_beam_const_save
Definition: rfield.h:210
realnum ** flux
Definition: rfield.h:86
realnum * DiffuseLineEmission
Definition: rfield.h:203
const double WL_V_FILT
Definition: rfield.h:11
realnum occ1nu
Definition: rfield.h:472
realnum * DiffuseEscape
Definition: rfield.h:184
realnum EnergyBremsThin
Definition: rfield.h:246
double opac_mag_V_point
Definition: rfield.h:284
double totpow[LIMSPC]
Definition: rfield.h:300
realnum * outlin_noplot
Definition: rfield.h:199
char chDffTrns[4]
Definition: rfield.h:236
char chRSpec[LIMSPC][5]
Definition: rfield.h:351
void rfield_opac_zero(long lo, long ihi)
realnum ** flux_total_incident
Definition: rfield.h:209
realnum * anu3
Definition: rfield.h:77
bool lgOcc1Hi
Definition: rfield.h:480
realnum fine_opac_velocity_width
Definition: rfield.h:386
long int ipG0_spec_lo
Definition: rfield.h:270
long int ipMaxBolt
Definition: rfield.h:249
realnum FluxFaint
Definition: rfield.h:55
realnum * OccNumbContEmitOut
Definition: rfield.h:74
bool lgOpacityFine
Definition: rfield.h:421
realnum qhe
Definition: rfield.h:356
long int ipG0_TH85_hi
Definition: rfield.h:263
realnum emm
Definition: rfield.h:49
double * SummedCon
Definition: rfield.h:171
bool lgMeshSetUp
Definition: rfield.h:131
long int nZonePlsFrqEval
Definition: rfield.h:451
bool lgKillOutCont
Definition: rfield.h:437
double RSFCheck[LIMSPC]
Definition: rfield.h:339
realnum * SummedOcc
Definition: rfield.h:173
bool lgIonizReevaluate
Definition: rfield.h:128
vector< Energy > tNu[LIMSPC]
Definition: rfield.h:330
vector< realnum > tFluxLog[LIMSPC]
Definition: rfield.h:333
bool lgKillOTSLine
Definition: rfield.h:440
long int ipEnerGammaRay
Definition: rfield.h:466
realnum ** outlin
Definition: rfield.h:199
long ncont[LIMSPC]
Definition: rfield.h:335
long int ipG0_TH85_lo
Definition: rfield.h:263
double spfac[LIMSPC]
Definition: rfield.h:300
vector< realnum > tslop[LIMSPC]
Definition: rfield.h:331
realnum * ConOTS_local_photons
Definition: rfield.h:178
realnum time_continuum_scale
Definition: rfield.h:213
realnum * flux_accum
Definition: rfield.h:95
bool lgHeIIOTS
Definition: rfield.h:431
IlluminationType
Definition: rfield.h:30
realnum ExtinguishEnergyPowerLow
Definition: rfield.h:99
double cutoff[LIMSPC][3]
Definition: rfield.h:300
bool lgTimeVary[LIMSPC]
Definition: rfield.h:306
void resetCoarseTransCoef()
Definition: rfield.h:512
double * comup
Definition: rfield.h:255
double range[LIMSPC][2]
Definition: rfield.h:347
bool lgHabing
Definition: rfield.h:376
const int LIMSPC
Definition: rfield.h:18
realnum ExtinguishConvertColDen2OptDepth
Definition: rfield.h:99
realnum EnergyIncidCont
Definition: rfield.h:484
realnum egamry
Definition: rfield.h:52
const realnum * getCoarseTransCoef()
Definition: rfield.cpp:10
long int nupper
Definition: rfield.h:46
long int fine_opac_nelem
Definition: rfield.h:380
realnum * otslin
Definition: rfield.h:193
realnum ExtinguishLeakage
Definition: rfield.h:99
long int ipG0_DB96_lo
Definition: rfield.h:267
realnum ** ConEmitLocal
Definition: rfield.h:149
double fine_resol
Definition: rfield.h:406
bool lgOutOnly
Definition: rfield.h:241
double slope[LIMSPC]
Definition: rfield.h:300
realnum tbrmax
Definition: rfield.h:472
char ** chLineLabel
Definition: rfield.h:220
bool lgHPhtOK
Definition: rfield.h:459
realnum * anulog
Definition: rfield.h:77
long int ipPlasma
Definition: rfield.h:453
bool lgCMB_set
Definition: rfield.h:124
bool trans_coef_total_stale
Definition: rfield.h:393
bool lgLyaOTS
Definition: rfield.h:427
realnum qhtot
Definition: rfield.h:356
double cmcool
Definition: rfield.h:291
t_rfield rfield
Definition: rfield.cpp:8
realnum * anu2
Definition: rfield.h:77
realnum * flux_time_beam_save
Definition: rfield.h:210
realnum * convoc
Definition: rfield.h:134
realnum * ConInterOut
Definition: rfield.h:164
float realnum
Definition: cddefines.h:107
realnum uh
Definition: rfield.h:364
Illuminate::IlluminationType Illumination[LIMSPC]
Definition: rfield.h:316
double opac_mag_B_point
Definition: rfield.h:284
realnum uheii
Definition: rfield.h:367
long int ipFineConVelShift
Definition: rfield.h:418
realnum * otscon
Definition: rfield.h:193
double cmheat
Definition: rfield.h:291
double * ContBoltz
Definition: rfield.h:145
bool lgMustBlockHIon
Definition: rfield.h:110
realnum * OccNumbIncidCont
Definition: rfield.h:138
realnum rstrom
Definition: rfield.h:372
bool lgXRayOK
Definition: rfield.h:459
char chSpNorm[LIMSPC][5]
Definition: rfield.h:351
realnum ** reflin
Definition: rfield.h:206
realnum ** ConEmitOut
Definition: rfield.h:161
bool lgDoLineTrans
Definition: rfield.h:117
realnum * fine_opac_zone
Definition: rfield.h:408
double extin_mag_V_point
Definition: rfield.h:277
realnum fine_ener_lo
Definition: rfield.h:400
long int ipV_filter
Definition: rfield.h:259
realnum ** otssav
Definition: rfield.h:193
realnum * anusqr
Definition: rfield.h:77
double * anu
Definition: rfield.h:58
realnum fine_ener_hi
Definition: rfield.h:400
bool lgOpacityReevaluate
Definition: rfield.h:121
realnum * SummedDifSave
Definition: rfield.h:174
double extin_mag_B_point
Definition: rfield.h:277
double extin_mag_V_extended
Definition: rfield.h:281
const double WL_B_FILT
Definition: rfield.h:14
bool lgRfieldMalloced
Definition: cdinit.cpp:98
long nfine
Definition: rfield.h:402
double opac_mag_V_extended
Definition: rfield.h:284
realnum * flux_isotropic_save
Definition: rfield.h:210
bool lgCompileGauntFF
Definition: rfield.h:232
realnum ExtinguishColumnDensity
Definition: rfield.h:99
realnum * OccNumbDiffCont
Definition: rfield.h:141
realnum qheii
Definition: rfield.h:356
double * comdn
Definition: rfield.h:255
realnum * csigc
Definition: rfield.h:288
bool lgHionRad
Definition: rfield.h:469
long int * ipnt_coarse_2_fine
Definition: rfield.h:397
bool lgMMok
Definition: rfield.h:459
long int ip1000A
Definition: rfield.h:273
realnum EnergyDiffCont
Definition: rfield.h:484
double * AnuOrg
Definition: rfield.h:62
double extin_mag_B_extended
Definition: rfield.h:281
void setCoarseTransCoefPtr(realnum *ptr)
Definition: rfield.h:508
realnum * ExtinguishFactor
Definition: rfield.h:98
bool lgInducProcess
Definition: rfield.h:252
const int NCELL
Definition: rfield.h:21
realnum * SummedDif
Definition: rfield.h:172
realnum OpticalDepthScaleFactor[LIMSPC]
Definition: rfield.h:314
long int ipB_filter
Definition: rfield.h:259
long int ipPlasmax
Definition: rfield.h:453
realnum * trans_coef_total
Definition: rfield.h:390
realnum * OccNumbBremsCont
Definition: rfield.h:71
long nfine_malloc
Definition: rfield.h:404
realnum * TotDiff2Pht
Definition: rfield.h:187
long int nShape
Definition: rfield.h:322
long int ipSpec
Definition: rfield.h:322
t_rfield()
Definition: rfield.h:488
realnum occmnu
Definition: rfield.h:472
realnum DiffPumpOn
Definition: rfield.h:217
realnum ** ConEmitReflec
Definition: rfield.h:155
realnum * flux_beam_time
Definition: rfield.h:92
bool lgUSphON
Definition: rfield.h:370
realnum * flux_beam_const
Definition: rfield.h:92
realnum plsfrqmax
Definition: rfield.h:447
realnum qrad
Definition: rfield.h:356
bool lgComUndr
Definition: rfield.h:298
realnum plsfrq
Definition: rfield.h:447
long int nflux
Definition: rfield.h:43
bool lgPlasNu
Definition: rfield.h:445
bool lgBlockHIon
Definition: rfield.h:114
realnum ** ConRefIncid
Definition: rfield.h:167
realnum tbr4nu
Definition: rfield.h:472
char chSpType[LIMSPC][6]
Definition: rfield.h:351
char ** chContLabel
Definition: rfield.h:223
bool lgComptonOn
Definition: rfield.h:295
bool lgContMalloc[LIMSPC]
Definition: rfield.h:343
realnum ExtinguishLowEnergyLimit
Definition: rfield.h:99
realnum occmax
Definition: rfield.h:472
double cinrat
Definition: rfield.h:291
realnum tbrmnu
Definition: rfield.h:472