cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
init_defaults_preparse.cpp
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 /*InitDefaultsPreparse initialization at start of simulation, called from cloudy
4 * before parser, sets initial values of quantities changed by parser
5 * called for each point in a grid but one time in multi-iteration sims */
6 #include "cddefines.h"
7 #include "physconst.h"
8 #include "phycon.h"
9 #include "radius.h"
10 #include "trace.h"
11 #include "dynamics.h"
12 #include "geometry.h"
13 #include "noexec.h"
14 #include "rfield.h"
15 #include "opacity.h"
16 #include "stopcalc.h"
17 #include "atomfeii.h"
18 #include "plot.h"
19 #include "rt.h"
20 #include "fudgec.h"
21 #include "abund.h"
22 #include "co.h"
23 #include "h2.h"
24 #include "ionbal.h"
25 #include "hextra.h"
26 #include "wind.h"
27 #include "atmdat.h"
28 #include "pressure.h"
29 #include "thermal.h"
30 #include "continuum.h"
31 #include "optimize.h"
32 #include "save.h"
33 #include "dense.h"
34 #include "hcmap.h"
35 #include "prt.h"
36 #include "init.h"
37 #include "taulines.h"
38 #include "lines_service.h"
39 #include "grid.h"
40 
41 /*InitDefaultsPreparse initialization at start of simulation, called from cloudy
42  * before parser, will now be called one time per sim in grid but long term
43  * goal is to call parser only one time in a grid. This would be called
44  * first to set defaults that may be changed by the parser. This routine
45  * should only set defaults for variables that change in the parser.
46  * It does not initialize variables for the start of a calculation. That
47  * is done by InitSimPostparse
48  * called one time in multi iteration sim */
50 {
51  long int i,
52  ipISO,
53  nelem;
54 
55  DEBUG_ENTRY( "InitDefaultsPreparse()" );
56 
57  /* init vars before parsing commands for each sim */
58 
59  // may be set by parser, will determine whether file stored value or parsed value used
61 
62  /* option to turn off collisional ionization with "no collisional ionization" cmmnd */
63  atmdat.lgCollIonOn = true;
64 
65  // default, Chianti not on, but if on use hybrid, do not print
66  atmdat.lgChiantiOn = true;
67  atmdat.lgChiantiHybrid = true;
68  atmdat.lgChiantiPrint = false;
69  //Use gbar to fill in dBase transitions if they lack collision strengths
70  atmdat.lgGbarOn = true;
71  //Tells Cloudy to exclusively use experimental energies in Chianti.
72  atmdat.lgChiantiExp = true;
73  // Set the default number of Chianti energy levels to use for Fe for photoionization case
75  // Set the default number of Chianti energy levels to use for all other elements
77  // ChiantiLevelsSet is false until the user specifies the number of chianti levels to use.
78  atmdat.lgChiantiLevelsSet = false;
79  /* nChiantiMaxLevelsFe and nChiantiMaxLevels are defaulted to 100 and 50 respectively if
80  * the coronal command is used. See parse_coronal.cpp */
81  /* Set the default number Stout max levels
82  * For now use the default Chianti Fe levels = 100 */
84 
85  /* Stout on by default, optional printout off */
86  atmdat.lgStoutOn = true;
87  atmdat.lgStoutPrint = false;
88  atmdat.lgStoutHybrid = true;
89 
90  // By default use Dima (Voronov97) data for collisional ionization rate coefficients
91  // possible options are DIMA or HYBRID
93 
95  atmdat.collstrDefault = 0.01;
96 
97  atmdat.lgLamdaOn = true;
98 # ifdef USE_CDMS
99  atmdat.lgCalpgmOn = true;
100 # else
101  atmdat.lgCalpgmOn = false;
102 # endif
103  strcpy(atmdat.chCloudyChiantiFile, "CloudyChianti.ini");
104  strcpy(atmdat.chStoutFile, "Stout.ini");
105 
106  /* drChange was reset to get orion flux in h-beta correct
107  * drChange is really tau of current zone */
108  radius.drChange = 0.15f;
109 
110  radius.glbdst = 0.;
111  radius.glbrad = 0.;
112 
113  // energy conservation check is slow, turn on with set check energy every zone
115 
116  /* option to read in all input quantities and NOT execute the actual model
117  * only check on input parameters - set by calling cdNoExec */
118  noexec.lgNoExec = false;
119 
120  /* constant for the extinguish command */
124 
125  /* parameters having to do with thermal map */
126  hcmap.RangeMap[0] = 10.f;
127  hcmap.RangeMap[1] = .99e10f;
128  /* zone where map is to be done */
129  hcmap.MapZone = -1;
130  hcmap.nMapStep = 20;
131 
132  thermal.ConstGrainTemp = 0.;
135  thermal.ConstTemp = 0.;
136  thermal.lgTeHigh = false;
137  thermal.lgTeBD96 = false;
138  thermal.lgTLaw = false;
139  thermal.lgTeSN99 = false;
140  /* try toe predict next zone's temperature in constant density models,
141  * as done in ZoneStart. Turned off with no tepred command */
142  thermal.lgPredNextTe = true;
143 
144  /* turbulent heating - set with hextra command */
145  hextra.TurbHeat = 0.;
146  /* set true with TIME option on hextra command for time dependent sims */
147  hextra.lgTurbHeatVaryTime = false;
148  /* options for for extra heating to depend on scale radius */
149  hextra.lgHextraDepth = false;
150  /* options for for extra heating to depend on density */
151  hextra.lgHextraDensity = false;
152  /* options for alpha disk model heating */
153  hextra.lgHextraSS = false;
154 
155  /* options set by cosmic ray command */
156  hextra.cryden = 0.;
159  hextra.crtemp = 0.;
160  hextra.crpowr = 0.;
162 
163  /* set with coronal equilibrium init time command */
165  dynamics.lgTracePrint = false;
166 
167  /* parameters to do with wind */
168  wind.lgWindOK = true;
169  wind.DiskRadius = 0;
170  wind.lgDisk = false;
171  wind.windv0 = 0.;
172  wind.setStatic();
173  wind.comass = 0.;
174  wind.windv = 0.;
175  wind.dvdr = 0.;
176  wind.emdot = 0.;
177  wind.AccelAver = 0.;
178  wind.acldr = 0.;
179  wind.AccelGravity = 0.;
180  wind.AccelTotalOutward = 0.;
181  wind.AccelCont = 0.;
182  wind.AccelElectron = 0.;
183  wind.AccelLine = 0.;
184  wind.AccelMax = 0.;
185  wind.fmul = 0.;
186  wind.lgVelPos = true;
187 
188  /* argument on ELEMENT LIMIT OFF XXX command, lowest abundance
189  * element to include in the calculation */
190  dense.AbundanceLimit = 0.;
191 
192  /* controls density fluctuations, when true variations are due to density changing,
193  * when false are due to abundances changing if changes are on */
194  dense.lgDenFlucOn = true;
195  dense.lgDenFlucRadius = true;
196  dense.flong = 0.;
197  dense.flcPhase = 0.;
198 
199  /* this says keep initial density constant,
200  * so pressure from iter to iter not really const */
201  dense.lgDenseInitConstant = true;
202 
203  // pressure does not vary with time by default
204  dense.lgPressureVaryTime = false;
205  // required number is timescale for time variation
207  // optional number is index for time variation
209 
210  /* extra electron density, set with eden command */
211  dense.EdenExtra = 0.;
212 
213  /* forced electron density, set with set eden command */
214  dense.EdenSet = 0.;
215 
216  /* option to set electron fraction, n_e/n_H */
217  dense.EdenFraction = 0.;
218 
219  /* individual terms for the pressure equation of state */
220  /* >>chng 05 jan 01, all three are set true at start *
221  * code default is constant density, so all this is ignored
222  * is turned to constant pressure then these flags must be adjusted so
223  * that we get the pressure we expect. with all true, all three
224  * contributors to pressure will be counted - with constant gas pressure
225  * these are turned off */
228  pressure.lgPres_ram_ON = true;
229  /* flag for constant pressure, include continuum too */
230  pressure.lgContRadPresOn = true;
231  /* constant density is the default */
232  strcpy( dense.chDenseLaw, "CDEN" );
233  /* number on line is log of nT - option to specify initial pressure */
235  /* this is log of nT product - if not present then set zero */
237 
238  /* select certain atomic data, changed with set atomic data command
239  * this says to use Zeippen 1982 [OII] transition probabilities */
240  dense.lgAsChoose[ipOXYGEN][1] = false;
241 
242  abund.lgAbnSolar = false;
243 
244  /* the ipSolar array is a set of pointers used for reading
245  * in abundances with the "abundances" command
246  * the hydrogen abundance of unity is not read in */
247  abund.npSolar = LIMELM - 1;
248  for( i=0; i < abund.npSolar; i++ )
249  {
250  abund.ipSolar[i] = i + 2;
251  }
252 
253  /* option to turn off an element */
254  for( nelem=0; nelem < LIMELM; nelem++ )
255  {
256  /* set of scale factors for changing abundances with elements command */
257  abund.ScaleElement[nelem] = 1.;
258  abund.solar[nelem] = abund.SolarSave[nelem];
259 
260  // default scale factors for SET DIELECTRONIC RECOMBINATION KLUDGE SCALE
261  ionbal.DR_mean_scale[nelem] = 1.;
262  }
263 
264  abund.lgAbTaON = false;
265 
266  /* option to turn off an element */
267  for( nelem=0; nelem < LIMELM; nelem++ )
268  {
269  /* option to have abundances from table */
270  abund.lgAbunTabl[nelem] = false;
271  }
272 
273  /* threshold for faintest heating cooling to save with save heating or
274  * save cooling commands, reset with PUNCH WEAKHEATCOOL command */
275  save.WeakHeatCool = 0.05f;
276 
277  /* set of variables used to control save command */
278  save.nsave = 0;
279  save.lgPunContinuum = false;
280  save.lgDRPLst = false;
281  save.lgDRHash = true;
283  /* this is the string that will appear after each model in the save output,
284  * reset with the "set save hash" command */
285  strcpy( save.chHashString , "###########################" );
286  /* save every one continuum point, set skip save command */
287  save.ncSaveSkip = 1;
288  /* flush file after every iteration - set save flush */
289  save.lgFLUSH = false;
290  for( i=0; i<LIMPUN; ++i )
291  {
292  save.lgHashEndIter[i] = true;
293  /* set false for time dependent calculations*/
294  save.lg_separate_iterations[i] = true;
295  save.lgSaveEveryZone[i] = false;
296  save.nSaveEveryZone[i] = -1;
297  save.emisfreq[i].set( -1. );
298  save.ipEmisFreq[i] = -1;
299  }
300 
301  /* default is to conserve energy, reset with
302  * set save line width / resolution command */
303  save.Resolution = realnum(-1.);
304  save.ResolutionAbs = realnum(-1.);
305 
306  /* punch dominant rates variables */
307  for( long i=0; i<LIMPUN; i++ )
308  strcpy( save.chSpeciesDominantRates[i], "" );
309 
310  /* default no printing of optical depths, TooFaint is .1 */
311  prt.lgPrtTau = false;
312  prt.PrtTauFnt = 0.1f;
313  prt.lgPrtShort = false;
314  prt.TooFaint = 1e-3f;
315  prt.lgFaintOn = true;
316  prt.lgFntSet = false;
317  prt.lgPrnLineCell = false;
318  prt.nPrnLineCell = -1000;
319  prt.lgPrtCitations = false;
320 
321  /* change angle of illumination
322  * this is angle away from the normal, so 0 is a normal ray, the default*/
324  geometry.size = 1.f;
325  geometry.lgSizeSet = false;
326  geometry.covaper = -1.f;
327 
328  /* if true then print main block of lines as array,
329  * set false with print lines column, will then
330  * do a single column of lines */
331  prt.lgPrtLineArray = true;
332 
333  /* when printing a column this is option to print linear rather than log */
334  prt.lgPrtLineLog = true;
335 
336  /* print ages */
337  prt.lgPrnAges = false;
338 
339  /* print column densities */
340  prt.lgPrintColumns = true;
341 
342  /* option to sort lines by wavelength, print sort command */
343  prt.lgSortLines = false;
344 
345  prt.lgPrtMaser = false;
346  prt.lgPrintTime = true;
347 
348  prt.lgPrtContIndices = false;
349  prt.lgPrnPump = false;
350  prt.lgPrnInwd = false;
351  prt.lgPrnColl = false;
352  prt.lgPrnHeat = false;
353  /* >>chng 00 dec 08, these determine the standard items included in "nFnu", PvH */
354  prt.lgSourceReflected = true;
355  prt.lgSourceTransmitted = false;
356  prt.lgDiffuseInward = true;
357  prt.lgDiffuseOutward = true;
358  prt.lgPrtLastIt = false;
359  prt.lgOnlyZone = false;
360  prt.lgOnlyHead = false;
361  prt.lgPrtStart = false;
362  prt.nstart = 0;
363  /* print predictions from collapsed levels of iso sequences */
364  prt.lgPrnIsoCollapsed = false;
365 
366  /* turn off printing of heating agents */
367  prt.lgPrintHeating = false;
368 
369  /* flag saying to print all matrix elements for ionization balance
370  * set with PRINT ARRAYS command */
371  for( nelem=ipHYDROGEN; nelem<LIMELM; ++nelem )
372  {
373  prt.lgPrtArry[nelem] = false;
374  }
375 
376  /* print line flux at earth */
377  prt.lgPrintFluxEarth = false;
378 
379  /* print line surface brightness, def sr, option arcsec */
380  prt.lgSurfaceBrightness = false;
382 
383  /* print line cumulative sets true, print integrated line intensity over
384  * time in temp dependent simulation */
385  prt.lgPrintLineCumulative = false;
386 
387  prt.nzdump = -100;
388 
389  trace.lgSecIon = false;
390  trace.lgTrOvrd = true;
391  trace.lgOpacBug = false;
392  trace.nTrConvg = 0;
393  trace.lgTr8446 = false;
394  trace.lgTrLevN = false;
395  trace.lgTrGant = false;
396  trace.lgOptcBug = false;
397  trace.lgTrace3Bod = false;
398  trace.lgOTSBug = false;
399  trace.lgESOURCE = false;
400  trace.lgTraceMole = false;
401  trace.lgHeatBug = false;
402  trace.lgHeavyBug = false;
403  trace.lgBug2nu = false;
404  trace.lgDrBug = false;
405  trace.lgWind = false;
406  trace.lgPtrace = false;
407  trace.lgDrv_cdLine = false;
408  trace.lgDustBug = false;
409  trace.lgComBug = false;
410  trace.lgHeBug = false;
411  trace.lgCarBug = false;
412  trace.lgCalBug = false;
413  trace.lgConBug = false;
414  trace.lgNeBug = false;
415  trace.lgFeBug = false;
416  trace.lgHBug = false;
417  trace.lgTrLine = false;
418  trace.nznbug = 10000;
419  trace.npsbug = 10000;
420  trace.lgTrace = false;
421  trace.lgPointBug = false;
422  trace.lgNeonBug = false;
423  trace.lgCoolTr = false;
424  trace.lgTrDiff = false;
425  for( ipISO=ipH_LIKE; ipISO<NISO; ++ipISO )
426  trace.lgIsoTraceFull[ipISO] = false;
427 
428  /* variables used in stop ... command */
429 
430  /* various criteria for stopping model */
431  /* >>chng 04 dec 21, remove from here and init to 1e30 in zero */
432  /*StopCalc.tauend = 0.;*/
433  StopCalc.tauend = 1e30f;
434 
435  /* >>chng 05 nov 22 - NPA. Stop calculation when fraction of oxygen frozen
436  * out on grains ices gets too high - formation of ices */
437  /*StopCalc.StopDepleteFrac = 0.99f;*/
438  /* >>chng 05 dec 16, with revised ion solver logic, code should be able to
439  * converge away from situation where ices have disturbed the chemistry and
440  * net negative atomic abundances result. now we say solution not converged and
441  * soldier on
442  * this test should not be necessary */
443  StopCalc.StopDepleteFrac = 1.02f;
444 
445  StopCalc.xMass = 0.;
446  StopCalc.taunu = 0.;
447  StopCalc.iptnu = -1;
448  /* stopping AV */
449  StopCalc.AV_extended = 1e30f;
450  StopCalc.AV_point = 1e30f;
451  /* highest allowed temperature */
454 
455  /* the floor sets a limit to the temperature in the calculation -
456  * if te falls below this, we do a constant temperature cloud at
457  * this temperature */
458  StopCalc.TeFloor = 0.;
459 
460  /* stop zone calculations when Te falls below this,
461  * TEMP_STOP_DEFAULT in cddefines.h and is 4000 */
463  /* stop iterations, used to stop time dependent command */
465 
466  /* ending column densities */
474 
476  StopCalc.chSpeciesColumn[0] = '\0';
478 
479  /* stopping electron density */
481 
482  /* stopping electron and molecular fractions */
483  StopCalc.StopElecFrac = -FLT_MAX;
484  StopCalc.StopHPlusFrac = -FLT_MAX;
485  /* stopping molecular fraction has opposite sign - want to stop when 2H_2/NH gt this */
486  StopCalc.StopH2MoleFrac = FLT_MAX;
487  /* this flag says that 21cm line optical depth is the stop quantity */
488  StopCalc.lgStop21cm = false;
489  /* debugging aid - stop when conv.nTotalIoniz reaches this value */
491  /* stop when absolute value of velocity falls below this */
492  StopCalc.StopVelocity = 0.;
493  /* number of stop line commands entered */
494  StopCalc.nstpl = 0;
495 
496  /* initialize some variables for the optimizer */
497  optimize.nIterOptim = 400;
498  optimize.OptGlobalErr = 0.10f;
499  optimize.nEmergent.clear();
500  optimize.chLineLabel.clear();
501  optimize.wavelength.clear();
502  optimize.errorwave.clear();
503  optimize.ipobs.clear();
504  optimize.xLineInt_Obs.clear();
505  optimize.xLineInt_error.clear();
506  optimize.chTempLab.clear();
507  optimize.ionTemp.clear();
508  optimize.temp_obs.clear();
509  optimize.temp_error.clear();
510  optimize.chTempWeight.clear();
511  optimize.chColDen_label.clear();
512  optimize.ion_ColDen.clear();
513  optimize.ColDen_Obs.clear();
514  optimize.ColDen_error.clear();
515  optimize.ContIndex.clear();
516  optimize.ContEner.clear();
517  optimize.ContNFnu.clear();
518  optimize.ContNFnuErr.clear();
519  optimize.nRangeSet = 0;
520  strcpy( optimize.chOptRtn, "PHYM" );
521 
522  /* flags says what is to be matched */
523  optimize.lgOptLum = false;
524  optimize.lgOptDiam = false;
525  optimize.lgOptimize = false;
526 
527  /* trace flag for optimization process */
528  optimize.lgTrOpt = false;
529 
530  optimize.lgOptimFlow = false;
531  optimize.optint = 0.;
532  optimize.optier = 0.;
533 # if defined(__unix) || defined(__APPLE__)
535 # else
536  optimize.lgParallel = false;
537 # endif
538  if( optimize.lgParallel )
539  optimize.useCPU = cpu.i().nCPU();
540  else
541  optimize.useCPU = 1;
542  optimize.lgOptCont = false;
543 
544  /* the fudge factors command */
545  fudgec.nfudge = 0;
546  fudgec.lgFudgeUsed = false;
547  for( i=0; i < NFUDGC; i++ )
548  fudgec.fudgea[i] = 0.;
549 
551  TauZero( DummyEmis );
552  DummyEmis.iRedisFun() = 0;
553  DummyEmis.ipFine() = -1;
554  DummyEmis.gf() = 0.;
555  DummyEmis.damp() = 0.;
556  DummyEmis.dampXvel() = 0.;
557  DummyEmis.opacity() = 0.;
558  DummyEmis.Aul() = 1e-30f;
559 
560  /* parameters dealing with printer plots */
561  for( i=0; i < NDPLOT; i++ )
562  {
563  plotCom.lgPltTrace[i] = false;
564  }
565 
566  /* this says what types of printer plots we will make */
567  for( i=0; i < NDPLOT; i++ )
568  {
569  strcpy( plotCom.chPType[i], "NONE" );
570  }
571  plotCom.lgPlotON = false;
572 
573  /* following were block data logic */
574  rt.lgStarkON = true;
575 
576  /* by default use Federman form of shielding function */
578 
579  /* parameters set with Case A and Case B commands */
580  /* this is flag for turning on case b */
581  opac.lgCaseB = false;
582 
583  /* this is separate flag for turning off collisions from n=2 */
584  opac.lgCaseB_HummerStorey = false;
585 
586  /* this is separate flag for turning off excited state photoionization */
587  opac.lgCaseB_no_photo = false;
588  /* another case b option, turn off background opacities, no Pdest */
589  opac.lgCaseB_no_pdest = false;
590 
591  /* smallest allowed line and Lya optical depths, reset with
592  * Case B command */
593  opac.tlamin = 1e-20f;
594 
595  /* taumin command minimum optical depths for lines default 1e-20 */
596  opac.taumin = 1e-20f;
597 
598  /* set false with no induced processes */
599  rfield.lgInducProcess = true;
600 
601  /* this flag says that CMB has been set */
602  rfield.lgCMB_set = false;
603 
604  rfield.lgComptonOn = true;
605 
606  for( i=0; i < LIMSPC; i++ )
607  {
608  /* this is set true if particular continuum source can vary with time
609  * set true if TIME appears on intensity / luminosity command line */
610  rfield.lgTimeVary[i] = false;
611  /* most continua enter as a beam rather than isotropic */
612  rfield.lgBeamed[i] = true;
613  // default is radiation from the "illuminated" face
615  // optical depth = normal optical depth * this scale factor,
616  // is 1 / cos theta
618  /* default energy range is H-ionizing radiation */
619  rfield.range[i][0] = HIONPOT;
620  rfield.range[i][1] = rfield.egamry;
621  rfield.RSFCheck[i] = 0.;
622  }
623 
624  /* line overlap opacity, turn off with no fine opacity command */
625  rfield.lgOpacityFine = true;
626 
627  /* lower and upper wavelength bounds, Angstroms, for the FeII continuum */
628  FeII.feconwlLo = 1000.;
629  FeII.feconwlHi = 7000.;
630  FeII.nfe2con = 1000;
631 
632  /* this is the faintest the high-energy tail of the continuum be */
633  rfield.FluxFaint = 1e-10f;
634 
635  /* >>chng 01 jul 26, moved next statement from below loop to avoid bug in gcc 2.95.3, PvH */
636  /* default diffuse fields is outward only */
637  strcpy( rfield.chDffTrns, "OU2" );
638  rfield.lgOutOnly = true;
639 
640  /* flags for whether continuum is defined over all energies */
641  rfield.lgMMok = true;
642  rfield.lgHPhtOK = true;
643  rfield.lgXRayOK = true;
644  rfield.lgGamrOK = true;
645 
646  for( rfield.ipSpec=0; rfield.ipSpec < LIMSPC; rfield.ipSpec++ )
647  {
649  {
650  rfield.tNu[rfield.ipSpec].clear();
651  rfield.tslop[rfield.ipSpec].clear();
652  rfield.tFluxLog[rfield.ipSpec].clear();
653  rfield.lgContMalloc[rfield.ipSpec] = false;
654  }
655  }
656 
657  grid.lgNegativeIncrements = false;
658  grid.lgSaveXspec = false;
659  grid.nCycle = 1;
660 
661  return;
662 }
char chSpeciesDominantRates[LIMPUN][CHARS_SPECIES]
Definition: save.h:368
realnum col_h2
Definition: stopcalc.h:74
realnum StopElecDensity
Definition: stopcalc.h:92
long int & ipFine() const
Definition: emission.h:413
t_fudgec fudgec
Definition: fudgec.cpp:5
bool lgContRadPresOn
Definition: pressure.h:105
realnum optint
Definition: optimize.h:249
realnum StopDepleteFrac
Definition: stopcalc.h:61
realnum colnut
Definition: stopcalc.h:69
long int nstpl
Definition: stopcalc.h:109
realnum C12_C13_isotope_ratio_parsed
Definition: co.h:20
t_atmdat atmdat
Definition: atmdat.cpp:6
realnum dvdr
Definition: wind.h:21
bool lgBeamed[LIMSPC]
Definition: rfield.h:310
bool lgPrtStart
Definition: prt.h:186
bool lgPunContinuum
Definition: save.h:251
t_co co
Definition: co.cpp:5
realnum AccelLine
Definition: wind.h:61
t_thermal thermal
Definition: thermal.cpp:5
bool lgPrtTau
Definition: prt.h:130
int & iRedisFun() const
Definition: emission.h:403
long int iptnu
Definition: stopcalc.h:29
bool lgGamrOK
Definition: rfield.h:459
realnum & opacity() const
Definition: emission.h:593
bool lgCaseB_no_photo
Definition: opacity.h:169
bool lgStoutHybrid
Definition: atmdat.h:243
realnum StopElecFrac
Definition: stopcalc.h:48
bool lgDustBug
Definition: trace.h:79
realnum size
Definition: geometry.h:67
bool lgChiantiLevelsSet
Definition: atmdat.h:216
double PressureVaryTimeIndex
Definition: dense.h:170
char chStoutFile[FILENAME_PATH_LENGTH]
Definition: atmdat.h:268
long int nRangeSet
Definition: optimize.h:200
bool lgHeBug
Definition: trace.h:82
bool lgHeavyBug
Definition: trace.h:21
bool lgWindOK
Definition: wind.h:42
t_opac opac
Definition: opacity.cpp:5
long int npsbug
Definition: trace.h:18
realnum flong
Definition: dense.h:251
realnum ResolutionAbs
Definition: save.h:366
double PressureInitialSpecified
Definition: pressure.h:98
vector< realnum > ColDen_Obs
Definition: optimize.h:210
bool lgPtrace
Definition: trace.h:118
bool lgPrtMaser
Definition: prt.h:127
bool lgDRHash
Definition: save.h:335
bool lgDrv_cdLine
Definition: trace.h:121
bool lgTeHigh
Definition: thermal.h:60
realnum feconwlHi
Definition: atomfeii.h:239
bool lgStop21cm
Definition: stopcalc.h:120
vector< realnum > xLineInt_error
Definition: optimize.h:222
bool lgStoutOn
Definition: atmdat.h:241
bool lgPrnHeat
Definition: prt.h:147
bool lgDisk
Definition: wind.h:74
t_cpu_i & i()
Definition: cpu.h:334
bool lgPrintLineCumulative
Definition: prt.h:225
const int NISO
Definition: cddefines.h:265
realnum AV_extended
Definition: stopcalc.h:89
long int MapZone
Definition: hcmap.h:20
bool lgIsoTraceFull[NISO]
Definition: trace.h:88
bool lgTraceMole
Definition: trace.h:55
bool lgCheckEnergyEveryZone
Definition: continuum.h:130
vector< Flux > ContNFnu
Definition: optimize.h:240
bool lgTeBD96
Definition: thermal.h:72
char chDffTrns[4]
Definition: rfield.h:236
bool lgFudgeUsed
Definition: fudgec.h:19
realnum windv0
Definition: wind.h:11
void set(double energy)
Definition: energy.h:19
bool lgSecIon
Definition: trace.h:130
const int ipOXYGEN
Definition: cddefines.h:316
realnum FluxFaint
Definition: rfield.h:55
bool lgComBug
Definition: trace.h:37
bool lgTracePrint
Definition: dynamics.h:177
realnum crtemp
Definition: hextra.h:14
bool lgTrOpt
Definition: optimize.h:252
t_StopCalc StopCalc
Definition: stopcalc.cpp:5
long int nPrnLineCell
Definition: prt.h:213
t_hextra hextra
Definition: hextra.cpp:5
bool lgOpacityFine
Definition: rfield.h:421
realnum drChange
Definition: radius.h:183
bool lgDrBug
Definition: trace.h:64
t_phycon phycon
Definition: phycon.cpp:6
realnum col_monoxco
Definition: stopcalc.h:86
bool lg_CR_B_equipartition
Definition: hextra.h:19
char chHashString[INPUT_LINE_LENGTH]
Definition: save.h:295
const long nChiantiPhotoLevelsFe
Definition: atmdat.h:220
t_dense dense
Definition: dense.cpp:24
vector< string > chLineLabel
Definition: optimize.h:215
realnum EdenSet
Definition: dense.h:203
realnum AccelAver
Definition: wind.h:46
double RSFCheck[LIMSPC]
Definition: rfield.h:339
bool lgDiffuseInward
Definition: prt.h:168
vector< Energy > tNu[LIMSPC]
Definition: rfield.h:330
CollIonRC CIRCData
Definition: atmdat.h:260
vector< realnum > tFluxLog[LIMSPC]
Definition: rfield.h:333
bool lgChiantiPrint
Definition: atmdat.h:235
bool lgCollIonOn
Definition: atmdat.h:200
#define NFUDGC
Definition: fudgec.h:9
t_noexec noexec
Definition: noexec.cpp:5
bool lgFntSet
Definition: prt.h:206
realnum AccelElectron
Definition: wind.h:58
bool lgFLUSH
Definition: save.h:298
bool lgGbarOn
Definition: atmdat.h:249
vector< realnum > tslop[LIMSPC]
Definition: rfield.h:331
bool lgAsChoose[LIMELM][LIMELM]
Definition: dense.h:176
bool lgPrtCitations
Definition: prt.h:242
t_dynamics dynamics
Definition: dynamics.cpp:44
realnum SolarSave[LIMELM]
Definition: abund.h:46
long int nfe2con
Definition: atomfeii.h:241
realnum colpls
Definition: stopcalc.h:69
bool lgVelPos
Definition: wind.h:71
bool lgNoExec
Definition: noexec.h:14
bool lgWind
Definition: trace.h:109
bool lgPointBug
Definition: trace.h:34
bool lgFeBug
Definition: trace.h:46
long int nsave
Definition: save.h:222
bool lgNeBug
Definition: trace.h:115
bool lgTimeVary[LIMSPC]
Definition: rfield.h:306
double range[LIMSPC][2]
Definition: rfield.h:347
const int LIMSPC
Definition: rfield.h:18
bool lgSourceReflected
Definition: prt.h:166
realnum AccelMax
Definition: wind.h:68
bool lgTrGant
Definition: trace.h:61
realnum glbdst
Definition: radius.h:128
realnum egamry
Definition: rfield.h:52
vector< realnum > temp_error
Definition: optimize.h:228
long int nMapStep
Definition: hcmap.h:26
realnum feconwlLo
Definition: atomfeii.h:239
bool lgCaseB_no_pdest
Definition: opacity.h:172
Wind wind
Definition: wind.cpp:5
bool lgTemperatureConstant
Definition: thermal.h:32
long int nIterOptim
Definition: optimize.h:205
t_trace trace
Definition: trace.cpp:5
bool lgAbnSolar
Definition: abund.h:57
t_ionbal ionbal
Definition: ionbal.cpp:5
realnum ExtinguishLeakage
Definition: rfield.h:99
bool lgPrtArry[LIMELM]
Definition: prt.h:195
t_abund abund
Definition: abund.cpp:5
realnum AccelGravity
Definition: wind.h:49
bool lg_separate_iterations[LIMPUN]
Definition: save.h:242
t_geometry geometry
Definition: geometry.cpp:5
realnum AccelCont
Definition: wind.h:55
bool lgOutOnly
Definition: rfield.h:241
const double TEMP_STOP_DEFAULT
Definition: phycon.h:109
bool lgPrnIsoCollapsed
Definition: prt.h:154
char chSpeciesColumn[CHARS_SPECIES]
Definition: stopcalc.h:133
bool lgChiantiHybrid
Definition: atmdat.h:233
bool lgPrintHeating
Definition: prt.h:192
realnum ConstGrainTemp
Definition: thermal.h:47
realnum WeakHeatCool
Definition: save.h:358
realnum & gf() const
Definition: emission.h:513
realnum TooFaint
Definition: prt.h:201
static const long LIMPUN
Definition: save.h:11
bool lgTLaw
Definition: thermal.h:68
bool lgConBug
Definition: trace.h:100
realnum HColStop
Definition: stopcalc.h:69
bool lgPrnLineCell
Definition: prt.h:210
bool lgESOURCE
Definition: trace.h:24
bool lgSaveXspec
Definition: grid.h:37
realnum StopHPlusFrac
Definition: stopcalc.h:56
bool lgHPhtOK
Definition: rfield.h:459
bool lgDiffuseOutward
Definition: prt.h:169
bool lgPrtLastIt
Definition: prt.h:175
bool lgChiantiOn
Definition: atmdat.h:231
bool lgTrace
Definition: trace.h:12
bool lgPrtContIndices
Definition: prt.h:158
realnum & dampXvel() const
Definition: emission.h:553
void setStatic(void)
Definition: wind.h:88
bool lgCMB_set
Definition: rfield.h:124
bool lgCalpgmOn
Definition: atmdat.h:247
bool lgStopSpeciesColumn
Definition: stopcalc.h:132
realnum crpowr
Definition: hextra.h:14
t_continuum continuum
Definition: continuum.cpp:5
EmissionProxy DummyEmis
Definition: taulines.cpp:61
char chCloudyChiantiFile[FILENAME_PATH_LENGTH]
Definition: atmdat.h:271
long int ncSaveSkip
Definition: save.h:354
bool lgParallel
Definition: optimize.h:259
realnum TurbHeat
Definition: hextra.h:32
bool lgSurfaceBrightness
Definition: prt.h:138
t_plotCom plotCom
Definition: plot.cpp:19
double cr_energydensity
Definition: hextra.h:22
bool lgOnlyZone
Definition: prt.h:181
realnum AbundanceLimit
Definition: dense.h:139
const double TEMP_LIMIT_HIGH
Definition: phycon.h:113
realnum ConstTemp
Definition: thermal.h:44
double DR_mean_scale[LIMELM]
Definition: ionbal.h:220
t_pressure pressure
Definition: pressure.cpp:5
t_rfield rfield
Definition: rfield.cpp:8
void InitDefaultsPreparse(void)
double collstrDefault
Definition: atmdat.h:254
long nStoutMaxLevels
Definition: atmdat.h:218
vector< realnum > ColDen_error
Definition: optimize.h:211
realnum xMass
Definition: stopcalc.h:77
bool lgCaseB
Definition: opacity.h:161
float realnum
Definition: cddefines.h:107
long int nstart
Definition: prt.h:189
bool lgCarBug
Definition: trace.h:97
realnum AccelTotalOutward
Definition: wind.h:52
const double HIONPOT
Definition: physconst.h:119
bool lgOnlyHead
Definition: prt.h:183
realnum col_species
Definition: stopcalc.h:134
Illuminate::IlluminationType Illumination[LIMSPC]
Definition: rfield.h:316
const realnum COLUMN_INIT
Definition: stopcalc.h:14
realnum AV_point
Definition: stopcalc.h:89
long int nSaveEveryZone[LIMPUN]
Definition: save.h:262
bool lgPres_magnetic_ON
Definition: pressure.h:131
bool lgFaintOn
Definition: prt.h:202
vector< realnum > xLineInt_Obs
Definition: optimize.h:221
bool lgSurfaceBrightness_SR
Definition: prt.h:138
bool lgTurbHeatVaryTime
Definition: hextra.h:66
realnum DirectionalCosin
Definition: geometry.h:15
bool lgDRPLst
Definition: save.h:335
realnum StopH2MoleFrac
Definition: stopcalc.h:52
vector< string > chTempLab
Definition: optimize.h:225
realnum col_H0_ov_Tspin
Definition: stopcalc.h:83
bool lgCalBug
Definition: trace.h:94
bool lgTrLine
Definition: trace.h:43
bool lgPrintTime
Definition: prt.h:120
long nChiantiMaxLevels
Definition: atmdat.h:214
bool lgPltTrace[NDPLOT]
Definition: plot.h:30
bool lgCoolTr
Definition: trace.h:112
bool lgPrtShort
Definition: prt.h:178
bool lgXRayOK
Definition: rfield.h:459
t_optimize optimize
Definition: optimize.cpp:5
int nTrConvg
Definition: trace.h:27
t_grid grid
Definition: grid.cpp:5
realnum cryden_ov_background
Definition: hextra.h:25
long int nTotalIonizStop
Definition: stopcalc.h:127
vector< int > nEmergent
Definition: optimize.h:214
realnum cryden
Definition: hextra.h:14
t_radius radius
Definition: radius.cpp:5
realnum TempLoStopZone
Definition: stopcalc.h:42
bool lgNeonBug
Definition: trace.h:40
t_prt prt
Definition: prt.cpp:10
bool lgTeSN99
Definition: thermal.h:80
bool lgTrOvrd
Definition: trace.h:127
bool lgPrtLineLog
Definition: prt.h:221
long int ipSolar[LIMELM]
Definition: abund.h:90
long int nfudge
Definition: fudgec.h:17
bool lgHextraSS
Definition: hextra.h:54
realnum glbrad
Definition: radius.h:128
realnum optier
Definition: optimize.h:250
double PressureVaryTimeTimescale
Definition: dense.h:168
realnum EdenFraction
Definition: dense.h:209
realnum TempLoStopIteration
Definition: stopcalc.h:45
realnum tlamin
Definition: opacity.h:158
vector< realnum > wavelength
Definition: optimize.h:217
realnum PrtTauFnt
Definition: prt.h:141
bool lgSaveEveryZone[LIMPUN]
Definition: save.h:261
char chOptRtn[5]
Definition: optimize.h:264
#define LINE_CONT_SHIELD_FEDERMAN
Definition: rt.h:291
bool lgSortLines
Definition: prt.h:101
bool lgNegativeIncrements
Definition: grid.h:36
realnum RangeMap[2]
Definition: hcmap.h:23
realnum covaper
Definition: geometry.h:44
realnum taunu
Definition: stopcalc.h:26
void EmLineZero(EmissionList::reference t)
Definition: emission.cpp:92
bool lgStarkON
Definition: rt.h:280
bool lgDenFlucOn
Definition: dense.h:244
bool lgHeatBug
Definition: trace.h:58
const long nChiantiPhotoLevels
Definition: atmdat.h:222
vector< long > ContIndex
Definition: optimize.h:238
long int nznbug
Definition: trace.h:15
bool lgHashEndIter[LIMPUN]
Definition: save.h:291
bool lgHBug
Definition: trace.h:85
const int ipH_LIKE
Definition: iso.h:62
bool lgAbTaON
Definition: abund.h:70
realnum emdot
Definition: wind.h:39
const int LIMELM
Definition: cddefines.h:262
vector< chi2_type > ContNFnuErr
Definition: optimize.h:241
bool lgPressureInitialSpecified
Definition: pressure.h:96
bool lgHextraDensity
Definition: hextra.h:47
bool lgOptimize
Definition: optimize.h:253
char chDenseLaw[5]
Definition: dense.h:158
int nLineContShield
Definition: rt.h:259
#define DEBUG_ENTRY(funcname)
Definition: cddefines.h:688
vector< long > ionTemp
Definition: optimize.h:226
long useCPU
Definition: optimize.h:261
realnum ExtinguishColumnDensity
Definition: rfield.h:99
vector< long > ipobs
Definition: optimize.h:220
realnum flcPhase
Definition: dense.h:254
long int npSolar
Definition: abund.h:90
char chPType[NDPLOT][5]
Definition: plot.h:18
bool lgPrnAges
Definition: prt.h:123
bool lgOpacBug
Definition: trace.h:76
bool lgMMok
Definition: rfield.h:459
bool lgTrDiff
Definition: trace.h:70
t_FeII FeII
Definition: atomfeii.cpp:5
bool lgPrnPump
Definition: prt.h:147
long ipEmisFreq[LIMPUN]
Definition: save.h:372
bool lgBug2nu
Definition: trace.h:106
bool lgPredNextTe
Definition: thermal.h:28
vector< Energy > ContEner
Definition: optimize.h:239
long int nzdump
Definition: prt.h:239
vector< realnum > temp_obs
Definition: optimize.h:227
realnum tauend
Definition: stopcalc.h:23
bool lgPrintFluxEarth
Definition: prt.h:134
realnum StopVelocity
Definition: stopcalc.h:65
bool lgPrintColumns
Definition: prt.h:116
bool lgOptCont
Definition: optimize.h:260
void TauZero(EmissionList::reference t)
Definition: emission.cpp:73
double TeFloor
Definition: stopcalc.h:33
bool lgInducProcess
Definition: rfield.h:252
bool lgStoutPrint
Definition: atmdat.h:245
realnum & damp() const
Definition: emission.h:563
vector< string > chColDen_label
Definition: optimize.h:208
bool lgOptDiam
Definition: optimize.h:232
long nCycle
Definition: grid.h:54
bool lgSourceTransmitted
Definition: prt.h:167
realnum OpticalDepthScaleFactor[LIMSPC]
Definition: rfield.h:314
bool lgOTSBug
Definition: trace.h:103
bool lgPres_ram_ON
Definition: pressure.h:132
long int ipSpec
Definition: rfield.h:322
long nCPU() const
Definition: cpu.h:308
t_hcmap hcmap
Definition: hcmap.cpp:21
bool lgOptLum
Definition: optimize.h:255
bool lgSizeSet
Definition: geometry.h:70
bool lgOptcBug
Definition: trace.h:49
double DiskRadius
Definition: wind.h:78
bool lgPlotON
Definition: plot.h:21
vector< string > chTempWeight
Definition: optimize.h:229
bool lgTrace3Bod
Definition: trace.h:52
realnum OptGlobalErr
Definition: optimize.h:243
bool lgTraceConvergeBaseHash
Definition: save.h:340
bool lgLamdaOn
Definition: atmdat.h:239
static t_cpu cpu
Definition: cpu.h:342
realnum EdenExtra
Definition: dense.h:206
realnum ScaleElement[LIMELM]
Definition: abund.h:94
t_save save
Definition: save.cpp:5
bool lgPressureVaryTime
Definition: dense.h:165
long nChiantiMaxLevelsFe
Definition: atmdat.h:212
bool lgPrnColl
Definition: prt.h:147
realnum Resolution
Definition: save.h:363
const int ipHYDROGEN
Definition: cddefines.h:309
bool lgOptimFlow
Definition: optimize.h:248
bool lgChiantiExp
Definition: atmdat.h:237
Energy emisfreq[LIMPUN]
Definition: save.h:371
vector< long > ion_ColDen
Definition: optimize.h:209
realnum & Aul() const
Definition: emission.h:613
realnum acldr
Definition: wind.h:46
realnum TempHiStopZone
Definition: stopcalc.h:36
bool lgMPISingleRankMode() const
Definition: cpu.h:311
bool lgAbunTabl[LIMELM]
Definition: abund.h:70
bool lgDenFlucRadius
Definition: dense.h:248
bool lgDenseInitConstant
Definition: dense.h:162
bool lgTrLevN
Definition: trace.h:31
bool lg_coronal_time_init
Definition: dynamics.h:93
bool lgPres_radiation_ON
Definition: pressure.h:130
realnum col_h2_nut
Definition: stopcalc.h:80
bool lgCaseB_HummerStorey
Definition: opacity.h:165
realnum windv
Definition: wind.h:18
realnum comass
Definition: wind.h:14
realnum taumin
Definition: opacity.h:154
bool lgPrnInwd
Definition: prt.h:147
bool lgTr8446
Definition: trace.h:73
bool lgComptonOn
Definition: rfield.h:295
bool lgContMalloc[LIMSPC]
Definition: rfield.h:343
realnum TempHiStopIteration
Definition: stopcalc.h:38
realnum ExtinguishLowEnergyLimit
Definition: rfield.h:99
realnum fmul
Definition: wind.h:65
bool lgTemperatureConstantCommandParsed
Definition: thermal.h:38
vector< realnum > errorwave
Definition: optimize.h:219
#define NDPLOT
Definition: plot.h:13
bool lgPrtLineArray
Definition: prt.h:217
realnum fudgea[NFUDGC]
Definition: fudgec.h:15
bool lgHextraDepth
Definition: hextra.h:39
t_rt rt
Definition: rt.cpp:5
realnum solar[LIMELM]
Definition: abund.h:65