cloudy  trunk
zero.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 /*zero zero out or initialize variables, called by cdInit, but also by optimize_func during optimization,
4  * this is called before any commands are parsed, called one time per model, at very start */
5 /*rfield_optac_zero zero out rfield arrays between certain limits */
6 #include "cddefines.h"
7 #include "physconst.h"
8 #include "iterations.h"
9 #include "hydrogenic.h"
10 #include "oxy.h"
11 #include "doppvel.h"
12 #include "dense.h"
13 #include "hextra.h"
14 #include "grains.h"
15 #include "magnetic.h"
16 #include "state.h"
17 #include "rt.h"
18 #include "he.h"
19 #include "struc.h"
20 #include "h2.h"
21 #include "co.h"
22 #include "coolheavy.h"
23 #include "lines.h"
24 #include "dynamics.h"
25 #include "carb.h"
26 #include "mean.h"
27 #include "atomfeii.h"
28 #include "iso.h"
29 #include "conv.h"
30 #include "geometry.h"
31 #include "timesc.h"
32 #include "peimbt.h"
33 #include "ionbal.h"
34 #include "continuum.h"
35 #include "atmdat.h"
36 #include "mole.h"
37 #include "ca.h"
38 #include "input.h"
39 #include "atoms.h"
40 #include "pressure.h"
41 #include "numderiv.h"
42 #include "colden.h"
43 #include "yield.h"
44 #include "hmi.h"
45 #include "rfield.h"
46 #include "abund.h"
47 #include "radius.h"
48 #include "opacity.h"
49 #include "secondaries.h"
50 #include "called.h"
51 #include "phycon.h"
52 #include "warnings.h"
53 #include "thermal.h"
54 #include "cooling.h"
55 #include "fe.h"
56 #include "hyperfine.h"
57 #include "init.h"
58 #include "dark_matter.h"
59 
60 // //////////////////////////////////////////////////////////////////////////
61 //
62 //
63 // NB DO NOT ADD VARIABLES TO THIS FILE! THE GOAL IS TO REMOVE THIS FILE
64 // initialization of variables should be done in one of the ini_*.cpp routines
65 //
66 //
67 // //////////////////////////////////////////////////////////////////////////
68 
69 /* zero out or initialize variables, called by cdInit, but also by optimize_func
70  * during optimization, called before command parser, one time per model,
71  * in a grid one time per grid point (so called nGrid times),
72  * only one time in multi-iteration models */
73 void zero(void)
74 {
75  //long int i;
76 
77  /* this is used to signify the first call to this routine. At that
78  * stage some memory has not been allocated so must not initialize,
79  * set false at very end of this routine */
80  static bool lgFirstCall = true;
81 
82  DEBUG_ENTRY( "zero()" );
83 
84  /* this routine is called exactly one time at the start of
85  * the calculation of a single model. When the code is used as a subroutine
86  * this routine is called one time for each model. It is called before
87  * the boundary conditions are read in, and is never called again
88  * during that calculation of the one model.
89  * All default variables that must be initialized before a calculation starts
90  * must appear in the routine. In a grid they are reset for each model
91  */
92 
93  /* parameters having to do with magnetic field */
94  Magnetic_init();
95 
96  /* set all initial abundances */
98 
99  /* zero out parameters needed by large FeII atom */
100  FeIIZero();
101 
102  /* zero out warnings, cautions, notes, etc */
103  wcnint();
104 
105  /* this is number of iterations that have been malloced - we could
106  * increase this if more iterations are needed */
107  iterations.iter_malloc = 200;
108  /* >>chng 06 jun 27, only malloc on first call - memory leak */
109  if( lgFirstCall)
110  {
111  iterations.IterPrnt = (long int*)MALLOC( (size_t)iterations.iter_malloc*sizeof(long int) );
112  geometry.nend = (long int*)MALLOC( (size_t)iterations.iter_malloc*sizeof(long int) );
113  radius.StopThickness = (double*)MALLOC( (size_t)iterations.iter_malloc*sizeof(double) );
114  radius.StopRadius = (double*)MALLOC( (size_t)iterations.iter_malloc*sizeof(double) );
115  }
116  for( long i=0; i < iterations.iter_malloc; i++ )
117  {
118  iterations.IterPrnt[i] = 10000;
119  }
120  iterations.itermx = 0;
121  /* this implements set coverage command */
122  iterations.lgConverge_set = false;
123  iteration = 0;
124 
125  /* limits for highest and lowest stages of ionization in TrimStage */
126  ionbal.trimhi = 1e-6;
127  ionbal.lgTrimhiOn = true;
128  ionbal.trimlo = 1e-10;
129 
130  hyperfine.lgLya_pump_21cm = true;
131 
132  /* variable to do with geometry */
133  geometry.nprint = 1000;
134  geometry.lgZoneSet = false;
135  geometry.lgZoneTrp = false;
136  geometry.lgEndDflt = true;
137 
138  /* some variables for saving the codes' state */
139  state.lgGet_state = false;
140  state.lgPut_state = false;
141  state.lgState_print = false;
142 
143  /* this is default number of zones
144  * >>chng 96 jun 5, from 400 to 500 for thickest corners4 grid */
145  /* >>chng 04 jan 30, from 600 to 800, code uses finer zoning today */
146  /* >>chng 04 dec 24, from 800 to 1400, so that HII region - molecular cloud
147  * sims do not need set nend - all sims in test suite will run ok without set nend */
148  geometry.nEndDflt = 1400;
149 
150  for( long i=0; i < iterations.iter_malloc; i++ )
151  {
153  /*>>chng 03 nov 13, from 1e30 to 1e31, because default inner radius raised to 1e30 */
154  radius.StopThickness[i] = 1e31;
155  radius.StopRadius[i] = -1.;
156  }
157 
158  geometry.fiscal = 1.;
159  geometry.FillFac = 1.;
160  geometry.filpow = 0.;
161 
162  /* default is open geometry, not sphere */
163  geometry.lgSphere = false;
164  /* the radiative transport covering factor */
165  geometry.covrt = 0.;
166  /* the geometric covering factor */
167  geometry.covgeo = 1.;
168  /* default is expanding when geometry set */
169  geometry.lgStatic = false;
170  /* option to tell code not to complain when geometry static done without iterating,
171  * set with (OK) option on geometry command */
172  geometry.lgStaticNoIt = false;
173  /* this is exponent for emissivity contributing to observed luminosity, r^2.
174  * set to 1 with aperture slit, to 0 with aperture beam command */
175  geometry.iEmissPower = 2;
176 
177  /* this counts number of times ionize is called by PressureChange, in current zone
178  * these are reset here, so that we count from first zone not search */
179  conv.nPres2Ioniz = 0;
180 
181  /* clear flag indicating the ionization convergence failures
182  * have ever occurred in current zone
183  conv.lgConvIonizThisZone = false; */
184 
186 
187  /* general abort flag */
188  lgAbort = false;
189 
190  /* cooling tolerance heating tolerance - allowed error in heating - cooling balance */
191  /*conv.HeatCoolRelErrorAllowed = 0.02f;*/
192  /* >>chng 04 sep 25, change te tolerance from 0.02 to 4x smaller, 0.005, drove instabilities
193  * in chemistry */
194  conv.HeatCoolRelErrorAllowed = 0.005f;
195 
196  /* this is the default allowed relative error in the electron density */
197  conv.EdenErrorAllowed = 1e-2;
198 
199  conv.IonizErrorAllowed = 1e-2;
200 
201  conv.dCmHdT = 0.;
202 
203  conv.LimFail = 20;
204  conv.lgMap = false;
205 
206  /* this counts how many times ionize is called in this model after startr,
207  * and is flag used by ionize to understand it is being called the first time*/
208  conv.nTotalIoniz = 0;
209  /* these are variables to remember the biggest error in the
210  * electron density, and the zone in which it occurred */
211  conv.BigEdenError = 0.;
212  conv.AverEdenError = 0.;
213  conv.BigHeatCoolError = 0.;
214  conv.AverHeatCoolError = 0.;
215  conv.BigPressError = 0.;
216  conv.AverPressError = 0.;
217  strcpy( conv.chSolverEden, "vWDB" );
218  strcpy( conv.chSolverTemp, "vWDB" );
219  strcpy( conv.chNotConverged, "none" );
220  strcpy( conv.chConvEden, "none" );
222  /* iterate to convergence flag */
223  conv.lgAutoIt = false;
224  /* convergence criteria */
225  conv.autocv = 0.20f;
226  conv.lgConvTemp = true;
227  conv.lgConvPres = true;
228  conv.lgConvEden = true;
229  conv.lgUpdateCouplings = false;
230  /* >>chng 04 jan 25, only set lgConvIoniz true where used in ConvXXX path */
231  /*conv.lgConvIoniz = true;*/
232 
233  /* this option, use the new atmdat_rad_rec recombination rates */
235 
236  /* age of the cloud, to check for time-steady */
237  timesc.CloudAgeSet = -1.f;
238  /* some timescale for CO and H2 */
241  /* remains neg if not evaluated */
244 
245  timesc.BigCOMoleForm = 0.;
246 
247  timesc.TimeH21cm = 0.;
249 
250  peimbt.tsqden = 1e7;
251 
252  /* CO related variables */
253  co.codfrc = 0.;
254  co.codtot = 0.;
255  co.CODissHeat = 0.;
256 
257  NumDeriv.lgNumDeriv = false;
258 
259  /* index within the line in the line stack
260  * default is Hbeta total - the third line in the stack
261  * 0th is a zero for sanity, 1st is unit, 2nd is a comment */
262  /* >>chng 02 apr 22 from 2 to 3 since added unit at 1 */
263  /* >>chng 06 mar 11, from 3 to -1 will now set to "H 1" 4861 */
264  LineSave.ipNormWavL = -1;
265  LineSave.WavLNorm = 4861.36f;
266  LineSave.lgNormSet = false;
267  LineSave.sig_figs = 4;
268 
269  /* the label for the normalization line */
270  strcpy( LineSave.chNormLab, " " );
271 
272  /* the scale factor for the normalization line */
273  LineSave.ScaleNormLine = 1.;
274 
275  /* this is scale factor, reset with set resolution command, for setting
276  * the continuum resolution. Setting to 0.1 will increase resolution by 10x.
277  * this multiplies the resolution contained in the continuum_mesh.ini file */
279 
281  continuum.lgCon0 = false;
282 
283  /* upper limit to energies of inner shell opacities in Ryd
284  * this is 1 MeV by default */
285  continuum.EnergyKshell = 7.35e4;
286 
287  /* free free heating, cooling, net */
288  CoolHeavy.lgFreeOn = true;
289  CoolHeavy.brems_cool_h = 0.;
290  CoolHeavy.colmet = 0.;
291 
293  hydro.cintot = 0.;
294 
295  /* option to print emissivity instead of intensity/luminosity */
296  hydro.lgHiPop2 = false;
297  hydro.pop2mx = 0.;
298 
299  /* flag for Lya masing */
300  hydro.HCollIonMax = 0.;
301 
302  /* type of hydrogen atom top off, options are " add" and "scal"
303  * in versions 90 this was " add", but was "scal" in 91
304  * >>chng 99 jan 16, changed back to " add"*/
305  /*strcpy( hydro.chHTopType, "scal" );*/
306  strcpy( hydro.chHTopType, " add" );
307 
308  /* Lya excitation temperature, counter for hotter than gas */
309  hydro.TexcLya = 0.;
310  hydro.TLyaMax = 0.;
311  hydro.nLyaHot = 0;
312 
313  /* option to kill damping wings of Lya */
314  hydro.DampOnFac = 1.;
315 
316  /* is continuum pumping of H Lyman lines included? yes, but turned off
317  * with atom h-like Lyman pumping off command */
318  hydro.lgLymanPumping = true;
319 
320  /* multiplicative factor for all continuum pumping of H I Lyman lines,
321  * account for possible emission in the line */
323 
324  /* >>refer abundance D/H Pettini, M., & Bowen, D.V., 2001, ApJ, 560, 41 */
325  /* quoted error is +/- 0.35 */
326  hydro.D2H_ratio = 1.65e-5;
327 
328  /* zero fractions of He0 destruction due to 23S */
329  he.nzone = 0;
330  he.frac_he0dest_23S = 0.;
332 
333  for( long ipISO=ipH_LIKE; ipISO<NISO; ipISO++ )
334  {
335  /* option to disable continuum lowering */
336  iso_ctrl.lgContinuumLoweringEnabled[ipISO] = true;
337 
338  /* flag set by compile he-like command, says to regenerate table of recombination coef */
339  iso_ctrl.lgCompileRecomb[ipISO] = false;
340  iso_ctrl.lgNoRecombInterp[ipISO] = false;
341 
342  /* how the gbar cs will be treated - set with atom he-like gbar command */
344  iso_ctrl.lgCS_Vriens[ipISO] = true;
345  iso_ctrl.lgCS_Vrinceanu[ipISO] = true;
346 
347  fixit(); /* make this the default for ipH_LIKE if not too slow. */
349 
350  iso_ctrl.lgCS_therm_ave[ipISO] = false;
351  iso_ctrl.lgCS_None[ipISO] = false;
352  /* when set try actually set to 1 or 2, depending on which fit is to be used,
353  * 1 is the broken power law fit */
354  /* >>chng 02 dec 21, change to broken power law fit */
355  iso_ctrl.nCS_new[ipISO] = 1;
356  /* This flag says whether the density is high enough that helium is sufficiently l-mixed. */
357  iso_ctrl.lgCritDensLMix[ipISO] = true;
358  /* flag saying whether to include fine-structure mixing in spontaneous decays
359  * set with ATOM HE-LIKE FSM command */
360  iso_ctrl.lgFSM[ipISO] = 0;
361  /* This is the flag saying whether to generate errors. false means don't. */
362  iso_ctrl.lgRandErrGen[ipISO] = false;
363  /* this is the flag saying whether we should include excess recombination in the
364  * helike sequence. Should only be off if testing effect of top off approximations. */
365  iso_ctrl.lgTopoff[ipISO] = true;
366  /* Dielectronic recombination for helike ions is on by default. */
367  iso_ctrl.lgDielRecom[ipISO] = true;
368 
369  /* number of Lyman lines to include in opacities, this can be vastly larger
370  * than the number of actual levels in the model atom */
371  iso_ctrl.nLyman[ipISO] = 100;
372  iso_ctrl.nLyman_malloc[ipISO] = 100;
373 
374  /* controls whether l-mixing and collisional ionization included */
375  iso_ctrl.lgColl_l_mixing[ipISO] = true;
376  iso_ctrl.lgColl_excite[ipISO] = true;
377  iso_ctrl.lgColl_ionize[ipISO] = true;
378  iso_ctrl.lgLTE_levels[ipISO] = false;
380  }
381 
382  /* Dielectronic recombination forming hydrogen-like ions does not exist. */
383  iso_ctrl.lgDielRecom[ipH_LIKE] = false;
384 
385  /* smallest transition probability allowed */
386  iso_ctrl.SmallA = 1e-30f;
387 
388  /* reset with SET IND2 command, turns on/off induced two photon */
389  iso_ctrl.lgInd2nu_On = false;
390 
391  /* hydrogen redistribution functions */
395 
396  /* this is the upper level for each Lya, which uses the special ipLY_A */
399 
400  /* he-like redistribution functions */
404 
406 
407  /* do not average collision strengths - evaluate at kT
408  * set true with command SET COLLISION STRENGHTS AVERAGE */
410 
411 
412  /**********************************************************************
413  * all parameters having to do with secondary ionization
414  * by suprathermal electrons
415  **********************************************************************/
416  secondaries.SetCsupra = 0.;
417  secondaries.lgCSetOn = false;
418  secondaries.lgSecOFF = false;
419  secondaries.SecHIonMax = 0.;
420 
424  secondaries.x12tot = 0.;
425  secondaries.sec2total = 0.;
426 
427  if( lgFirstCall )
428  {
429  /* malloc space for supra[nelem][ion] */
430  secondaries.csupra = (realnum **)MALLOC( (unsigned)LIMELM*sizeof(realnum *) );
431  secondaries.csupra_effic = (realnum **)MALLOC( (unsigned)LIMELM*sizeof(realnum *) );
432  for( long nelem=ipHYDROGEN; nelem<LIMELM; ++nelem )
433  {
434  secondaries.csupra[nelem] = (realnum *)MALLOC( (unsigned)(nelem+1)*sizeof(realnum) );
435  secondaries.csupra_effic[nelem] = (realnum *)MALLOC( (unsigned)(nelem+1)*sizeof(realnum) );
436  }
437  }
438  for( long nelem=ipHYDROGEN; nelem<LIMELM; ++nelem )
439  {
440  for( long ion=0; ion<nelem+1; ++ion )
441  {
442  /* secondary ionization rate for each species */
443  secondaries.csupra[nelem][ion] = 0.;
444  /* the rate of each species relative to H0 */
445  secondaries.csupra_effic[nelem][ion] = 1.f;
446  }
447  }
448  /* this scale factor is from table 10 of Tielens & Hollenbach 1985 */
449  secondaries.csupra_effic[ipHELIUM][0] = 1.08f;
450 
451  /* on first call, these arrays do not exist, only zero here on
452  * second and later calls, on first call, create them */
453  if( lgFirstCall )
454  {
455  /* these will save bound electron recoil information data */
457  (long**)MALLOC(sizeof(long*)*(unsigned)LIMELM );
459  (double**)MALLOC(sizeof(double*)*(unsigned)LIMELM );
461  (double**)MALLOC(sizeof(double*)*(unsigned)LIMELM );
463  (double**)MALLOC(sizeof(double*)*(unsigned)LIMELM );
465  (double**)MALLOC(sizeof(double*)*(unsigned)LIMELM );
467  (double****)MALLOC(sizeof(double***)*(unsigned)LIMELM );
469  (double***)MALLOC(sizeof(double**)*(unsigned)LIMELM );
471  (double**)MALLOC(sizeof(double*)*(unsigned)LIMELM );
473  (double**)MALLOC(sizeof(double*)*(unsigned)LIMELM );
474 
475  /* these are source and sink terms for heavy element ionization balance from the
476  * chemistry */
477  mole.source =
478  (double**)MALLOC(sizeof(double*)*(unsigned)LIMELM );
479  mole.sink =
480  (double**)MALLOC(sizeof(double*)*(unsigned)LIMELM );
482  (realnum***)MALLOC(sizeof(realnum**)*(unsigned)LIMELM );
483 
484  /* space for ionization recombination arrays */
485  ionbal.RateIoniz = (double ***)MALLOC(sizeof(double **)*(unsigned)LIMELM );
486  ionbal.RateRecomTot = (double **)MALLOC(sizeof(double *)*(unsigned)LIMELM );
487  ionbal.RateRecomIso = (double **)MALLOC(sizeof(double *)*(unsigned)LIMELM );
488  ionbal.RR_rate_coef_used = (double **)MALLOC(sizeof(double *)*(unsigned)LIMELM );
489  ionbal.RR_Verner_rate_coef = (double **)MALLOC(sizeof(double *)*(unsigned)LIMELM );
490 
491  /* rate coefficients [cm3 s-1] for Badnell DR recombination */
492  ionbal.DR_Badnell_rate_coef = (double **)MALLOC(sizeof(double *)*(unsigned)LIMELM );
493  ionbal.RR_Badnell_rate_coef = (double **)MALLOC(sizeof(double *)*(unsigned)LIMELM );
494  ionbal.CX_recomb_rate_used = (double **)MALLOC(sizeof(double *)*(unsigned)LIMELM );
495 
496  /* create arrays for ions */
497  for( long nelem=0; nelem<LIMELM; ++nelem )
498  {
499  ionbal.DR_Badnell_rate_coef[nelem] = (double *)MALLOC(sizeof(double)*(unsigned)(nelem+1) );
500  ionbal.RR_Badnell_rate_coef[nelem] = (double *)MALLOC(sizeof(double)*(unsigned)(nelem+1) );
501  ionbal.CX_recomb_rate_used[nelem] = (double *)MALLOC(sizeof(double)*(unsigned)(nelem+1) );
502 
503  ionbal.RateIoniz[nelem] = (double **)MALLOC(sizeof(double *)*(unsigned)(nelem+1) );
504  ionbal.RateRecomTot[nelem] = (double *)MALLOC(sizeof(double)*(unsigned)(nelem+1) );
505 
506  for( long ion=0; ion<nelem+1; ++ion )
507  {
508  ionbal.RateIoniz[nelem][ion] = (double *)MALLOC(sizeof(double )*(unsigned)(nelem+2) );
509  for( long ion2=0; ion2<nelem+2; ++ion2 )
510  ionbal.RateIoniz[nelem][ion][ion2] = 0.;
511  }
512 
513  ionbal.RR_rate_coef_used[nelem] = (double *)MALLOC(sizeof(double)*(unsigned)(nelem+1) );
514  ionbal.RR_Verner_rate_coef[nelem] = (double *)MALLOC(sizeof(double)*(unsigned)(nelem+1) );
515  ionbal.UTA_ionize_rate[nelem] =
516  (double*)MALLOC(sizeof(double)*(unsigned)(nelem+1) );
517  ionbal.UTA_heat_rate[nelem] =
518  (double*)MALLOC(sizeof(double)*(unsigned)(nelem+1) );
519  ionbal.ipCompRecoil[nelem] =
520  (long*)MALLOC(sizeof(long)*(unsigned)(nelem+1) );
521  ionbal.CompRecoilIonRate[nelem] =
522  (double*)MALLOC(sizeof(double)*(unsigned)(nelem+1) );
523  ionbal.CompRecoilIonRateSave[nelem] =
524  (double*)MALLOC(sizeof(double)*(unsigned)(nelem+1) );
525  ionbal.CompRecoilHeatRate[nelem] =
526  (double*)MALLOC(sizeof(double)*(unsigned)(nelem+1) );
528  (double*)MALLOC(sizeof(double)*(unsigned)(nelem+1) );
529  ionbal.PhotoRate_Shell[nelem] =
530  (double***)MALLOC(sizeof(double**)*(unsigned)(nelem+1) );
531  ionbal.CollIonRate_Ground[nelem] =
532  (double**)MALLOC(sizeof(double*)*(unsigned)(nelem+1) );
533  /* chemistry source and sink terms for ionization ladders */
534  mole.source[nelem] =
535  (double*)MALLOC(sizeof(double)*(unsigned)(nelem+2) );
536  mole.sink[nelem] =
537  (double*)MALLOC(sizeof(double)*(unsigned)(nelem+2) );
538  mole.xMoleChTrRate[nelem] =
539  (realnum**)MALLOC(sizeof(realnum*)*(unsigned)(nelem+2) );
540  for( long ion=0; ion<nelem+2; ++ion )
541  {
542  mole.xMoleChTrRate[nelem][ion] =
543  (realnum*)MALLOC(sizeof(realnum)*(unsigned)(nelem+2) );
544  }
545  ionbal.RateRecomIso[nelem] = (double *)MALLOC(sizeof(double)*(unsigned)(NISO) );
546  for( long ipISO=0; ipISO<NISO; ++ipISO )
547  {
548  ionbal.RateRecomIso[nelem][ipISO] = 0.;
549  }
550 
551  for( long ion=0; ion<nelem+1; ++ion )
552  {
553  /* >>chng 03 aug 09, set these to impossible values */
554  ionbal.RateRecomTot[nelem][ion] = -1.;
555  ionbal.UTA_ionize_rate[nelem][ion] = -1.;
556  ionbal.UTA_heat_rate[nelem][ion] = -1.;
557  ionbal.ipCompRecoil[nelem][ion] = -99;
558  ionbal.CompRecoilIonRate[nelem][ion] = -1.;
559  ionbal.CompRecoilIonRateSave[nelem][ion] = -1.;
560  ionbal.CompRecoilHeatRate[nelem][ion] = -1.;
561  ionbal.CompRecoilHeatRateSave[nelem][ion] = -1.;
562 
563  /* finish mallocing space */
564  ionbal.PhotoRate_Shell[nelem][ion] =
565  (double**)MALLOC(sizeof(double*)*(unsigned)NSHELLS );
566  ionbal.CollIonRate_Ground[nelem][ion] =
567  (double*)MALLOC(sizeof(double)*(unsigned)2 );
568  for( long ns=0; ns<NSHELLS; ++ns )
569  {
570  ionbal.PhotoRate_Shell[nelem][ion][ns] =
571  (double*)MALLOC(sizeof(double)*(unsigned)3 );
572  }
573 
574  /* now set to impossible values */
575  ionbal.ipCompRecoil[nelem][ion] = -100000;
576  ionbal.DR_Badnell_rate_coef[nelem][ion] = 0.;
577  ionbal.RR_Badnell_rate_coef[nelem][ion] = 0.;
578  }
579 
580  set_NaN( ionbal.RR_rate_coef_used[nelem], nelem+1 );
581  set_NaN( ionbal.RR_Verner_rate_coef[nelem], nelem+1 );
582  set_NaN( ionbal.CX_recomb_rate_used[nelem], nelem+1 );
583  }
584  }
585 
586  /* now zero out these arrays */
587  for( long nelem=0; nelem< LIMELM; ++nelem )
588  {
589  for( long ion=0; ion<nelem+1; ++ion )
590  {
591 
592  ionbal.CompRecoilHeatRate[nelem][ion] = 0.;
593  ionbal.CompRecoilIonRate[nelem][ion] = 0.;
594  ionbal.UTA_ionize_rate[nelem][ion] = 0.;
595  ionbal.UTA_heat_rate[nelem][ion] = 0.;
596  ionbal.CollIonRate_Ground[nelem][ion][0] = 0.;
597  ionbal.CollIonRate_Ground[nelem][ion][1] = 0.;
598  ionbal.RateRecomTot[nelem][ion] = 0.;
599  for( long ns=0; ns < NSHELLS; ++ns )
600  {
601  /* must be zero since ion routines use these when
602  * not yet defined */
603  ionbal.PhotoRate_Shell[nelem][ion][ns][0] = 0.;
604  ionbal.PhotoRate_Shell[nelem][ion][ns][1] = 0.;
605  ionbal.PhotoRate_Shell[nelem][ion][ns][2] = 0.;
606  }
607  }
608  /* these have one more ion than above */
609  for( long ion=0; ion<nelem+2; ++ion )
610  {
611  /* zero out the source and sink arrays */
612  mole.source[nelem][ion] = 0.;
613  mole.sink[nelem][ion] = 0.;
614  for( long ion2=0; ion2<nelem+2; ++ion2 )
615  {
616  mole.xMoleChTrRate[nelem][ion][ion2] = 0.;
617  }
618  }
619  }
620 
621  ionbal.lgPhotoIoniz_On = true;
622  ionbal.lgCompRecoil = true;
623 
624  /* these three adjust the treatment of UTA ionization */
627  ionbal.lgInnerShell_Gu06 = true;
628 
629  /* default condition is burgess suppressed, Nussbaumer and Storey not */
630  ionbal.lgSupDie[0] = true;
631  ionbal.lgSupDie[1] = false;
632 
633  ionbal.lgNoCota = false;
634  for( long nelem = 0; nelem < LIMELM; ++nelem )
635  {
636  ionbal.CotaRate[nelem] = 0.;
637  }
638  ionbal.ilt = 0;
639  ionbal.iltln = 0;
640  ionbal.ilthn = 0;
641  ionbal.ihthn = 0;
642  ionbal.ifail = 0;
643  ionbal.lgGrainIonRecom = true;
644 
645  /* option to print recombination coefficient then exit */
647  ionbal.guess_noise = 0.;
648 
649  /**********************************************************************
650  * these are options to print errors to special window,
651  * set with print errors command,
652  * output will go to standard error
653  * defined in cdInit
654  **********************************************************************/
655  lgPrnErr = false;
656  ioPrnErr = stderr;
657 
658  /* main arrays to save ionization fractions*/
659  dense.zero();
660  for( long nelem=ipHYDROGEN; nelem < LIMELM; nelem++ )
661  {
662  dense.SetGasPhaseDensity( nelem, 0. );
663  for( long ion=0; ion < LIMELM+1; ion++ )
664  {
665  dense.xIonDense[nelem][ion] = 0.;
666  }
667  }
668  dense.xMassTotal = 0.;
669 
670  /* this is the simple Fred Hamann FeII atom */
672 
673  /* zero out volume and column density save arrays */
674  mean.MeanZero();
675 
676  /* zero out heating rates */
677  HeatZero();
678 
679  /* some parameters dealing with calcium */
680  ca.Ca2RmLya = 0.;
681  ca.popca2ex = 0.;
682  ca.Ca3d = 0.;
683  ca.Ca4p = 0.;
684  ca.dstCala = 0.;
685 
686  /* this is the default allowed relative error in the pressure */
687  conv.PressureErrorAllowed = 0.01f;
688 
690 
691  /* default error in total gas-phase density of each element, including molecules */
693 
694  /* this is abort option set with SET PRESIONIZ command */
695  conv.limPres2Ioniz = 3000;
696 
697  conv.nTeFail = 0;
698  conv.nTotalFailures = 0;
699  conv.nPreFail = 0;
700  conv.failmx = 0.;
701  conv.nIonFail = 0;
702  conv.nPopFail = 0;
703  conv.nNeFail = 0;
704  conv.nGrainFail = 0;
705  conv.dCmHdT = 0.;
706 
707  /* some titles and line images */
708  for( long i=0; i<74; ++i)
709  {
710  input.chTitle[i] = ' ';
711  }
712  input.chTitle[75] = '\0';
713 
714  /* velocity field information */
715  /* the turbulent velocity at illuminated face, internally in cm/s,
716  * but entered with turbulence command in km/s */
717  DoppVel.TurbVel = 0.;
718  /* is a turbulent gradient imposed? Default is no. */
719  DoppVel.lgTurbLawOn = false;
720  /* the log of the turbulence gradient power law. Default is zero. */
721  DoppVel.TurbVelLaw = 0.;
722  /* the parameter F in eq 34 of
723  *>>refer pressure turb Heiles, C. & Troland, T.H. 2005, 624, 773 */
725  /* is TurbVel included in pressure? - can be done two ways, with the velocity
726  * being set of with equipartition - true when TurbVel set if not equipartition,
727  * false with NO PRESSURE option on turbulence command */
728  DoppVel.lgTurb_pressure = true;
729  /* The scale in cm over which the turbulence is dissipated. Normally 0,
730  * only set if dissipate keyword appears on turbulence command */
731  DoppVel.DispScale = 0.;
732  /* equipartition option on turbulence command, to set turbulence from B */
733  DoppVel.lgTurbEquiMag = false;
734 
735  /* pressure related variables */
736 
740  pressure.RhoGravity = 0.;
744 
745  pressure.PresRamCurr = 0.;
747  pressure.lgPradCap = false;
748  pressure.lgPradDen = false;
749  pressure.lgLineRadPresOn = true;
750  /* normally abort when radiation pressure exceeds gas pressure in const pres mod,
751  * this is option to keep going, set with NO ABORT on constant pressure command */
752  pressure.lgRadPresAbortOK = true;
753  /* Ditto for whether to stop at sonic point, this gets set to false
754  * for some of the dynamics pressure modes (strongd, shock, antishock)*/
756  /* this flag will say we hit the sonic point */
757  pressure.lgSonicPoint = false;
758  /* True when no physical solution for desired pressure in strong D fronts */
759  pressure.lgStrongDLimbo = false;
760 
761  pressure.RadBetaMax = 0.;
763  pressure.PresMax = 0.;
764 
765  /* initial and current pressures */
766  pressure.PresTotlInit = 0.;
767  pressure.PresTotlCurr = 0.;
768 
769  /* zero out some dynamics variables */
770  DynaZero();
771 
772  phycon.lgPhysOK = true;
773  /* largest relative changes in Te, ne, H+, H2, and CO in structure
774  * this is computed as part of prtcomment so does not exist when code not talking,
775  * set to zero in zero and still zero if prtcomment not called */
776  phycon.BigJumpTe = 0.;
777  phycon.BigJumpne = 0.;
778  phycon.BigJumpH2 = 0.;
779  phycon.BigJumpCO = 0.;
780 
781  dense.xNucleiTotal = 1.;
782  /* WJH */
783  dense.xMassDensity0 = -1.0f;
784 
785  // needed for TempChange to work but arrays needed for EdenChange to
786  // work are not yet defined
787  dense.eden = 1.;
788 
789  /* now set physical conditions array
790  * following will force updating all temperature - density variables */
791  TempChange( 1e4 , true);
792 
793  /* this is a scale factor that changes the n(H0)*1.7e-4 that is added to the
794  * electron density to account for collisions with atomic H. it is an order of
795  * magnitude guess, so this command provides ability to see whether it affects results */
796  dense.HCorrFac = 1.f;
797 
798  dark.lgNFW_Set = false;
799  dark.r_200 = 0.;
800  dark.r_s = 0.;
801 
802  atoms.nNegOI = 0;
803  for( long i=0; i< N_OI_LEVELS; ++i )
804  {
805  atoms.popoi[i] = 0.;
806  }
807  atoms.popmg2 = 0.;
808 
809  /* do we want to save negative opacities */
810  opac.lgNegOpacIO = false;
811 
812  opac.otsmin = 0.;
813 
814  /* this flag says to use the static opacities,
815  * only evaluate them at start of each new zone.
816  * when set false with
817  * no static opacities
818  * command, always reevaluate them */
819  opac.lgOpacStatic = true;
820 
821  /* set true in radinc if negative opacities ever occur */
822  opac.lgOpacNeg = false;
823 
824  /* can turn of scattering opacities for some geometries */
825  opac.lgScatON = true;
826 
827  /* variables having to do with compiling and/or using the
828  * ancillary file of stored opacities */
829  opac.lgCompileOpac = false;
830  /* "no file opacity" command sets following var false, says not to use file */
832  opac.lgUseFileOpac = false;
833 
835  /* effects of fast neutrons */
836  hextra.frcneu = 0.;
837  hextra.effneu = 1.;
838  hextra.totneu = 0.;
839  hextra.lgNeutrnHeatOn = false;
840  hextra.CrsSecNeutron = 4e-26;
841 
842  opac.stimax[0] = 0.;
843  opac.stimax[1] = 0.;
844 
845 
846  hmi.H2_total = 0.;
847  hmi.H2_total_f = 0.f;
848  hmi.HD_total = 0.;
849  hmi.H2_frac_abund_set = 0.;
850  hmi.hmihet = 0.;
851  hmi.h2plus_heat = 0.;
852  hmi.HeatH2Dish_used = 0.;
853  hmi.HeatH2Dexc_used = 0.;
854  hmi.HeatH2Dish_TH85 = 0.;
855  hmi.HeatH2Dexc_TH85 = 0.;
860  hmi.HeatH2DexcMax = 0.;
861  hmi.CoolH2DexcMax = 0.;
862  hmi.hmitot = 0.;
863  hmi.H2Opacity = 0.;
864  hmi.hmidep = 1.;
865  hmi.h2dep = 1.;
866  hmi.h2pdep = 1.;
867  hmi.h3pdep = 1.;
868 
869  /* option to kill effects of H2 in CO chemistry - set with
870  * set Leiden hack h2* off */
871  hmi.lgLeiden_Keep_ipMH2s = true;
872  hmi.lgLeidenCRHack = true;
873 
874  /* flag to turn off molecular network */
875  mole_global.lgNoMole = false;
876  mole_global.lgNoHeavyMole = false;
877  /* capture of molecules onto grain surfaces - formation of ices
878  * flag says to include this process - turned off with the
879  * command NO GRAIN MOLECULES */
881  /* flag saying that H2O water destruction rate went to zero */
882  mole_global.lgH2Ozer = false;
883  /* option to turn on the UMIST rates, naturally this will be 1, set to zero
884  with the set UMIST rates command */
885  mole_global.lgLeidenHack = false;
886  /* option to use diffuse cloud chemical rates from Table 8 of
887  * >> refer Federman, S. R. & Zsargo, J. 2003, ApJ, 589, 319
888  * By default, this is false - changed with set chemistry command */
889  mole_global.lgFederman = true;
890  /* option to use effective temperature as defined in
891  * >> refer Zsargo, J. & Federman, S. R. 2003, ApJ, 589, 319
892  * By default, this is false - changed with set chemistry command */
893  mole_global.lgNonEquilChem = false;
897  mole_global.lgProtElim = true;
901  mole_global.lgNeutrals = true;
902  /* option to use H2 continuum dissociation cross sections computed by P.C. Stancil
903  * By default, this is true - changed with "set H2 continuum dissociation xxx" command
904  * options are "Stancil" or "AD69" */
905  mole_global.lgStancil = false;
906  // all isotopes are currently disabled by default
909 
910  /* this says which estimate of the rate of the Solomon process to use,
911  * default is Tielens & Hollenbach 1985a, changed with
912  * set h2 Solomon command, options are TH85 and BD96,
913  * the second for the Bertoldi & Draine rates - they
914  * differ by 1 dex. when large H2 turned on this is ignored */
915  /* the Tielens & Hollenbach 1985 treatment */
917  /* the improved H2 formalism given by
918  *>>refer H2 dissoc Burton, M.G., Hollenbach, D.J. & Tielens, A.G.G.M
919  >>refcon 1990, ApJ, 365, 620 */
921  /* the Bertoldi & Draine 1996 treatment */
922  /* >>chng 03 nov 15, change default to BD96 */
924  /* >>chng 05 dec 08, use the Elwert et al. approximations as the default */
926 
927  /* set NaN */
933 
941 
948 
954 
960 
971 
972  /* default grain formation pumping - Takahashi 2001 */
973  hmi.chGrainFormPump = 'T';
974 
975  /* set which approximation for Jura rate - Cazaux & Tielens
976  * >>refer H2 form Cazaux, S., & Tielens, A.G.G.M., 2002, ApJ, 575, L29 */
977  hmi.chJura = 'C';
978 
979  /* scale factor to multiply Jura rate, set Jura rate command */
980  hmi.ScaleJura = 1.f;
981 
982  /* binding energy for change in H2 population while on grain surface,
983  * set with "set h2 Tad" command */
984  hmi.Tad = 800.;
985 
986  hmi.lgH2_Thermal_BigH2 = true;
987  hmi.lgH2_Chemistry_BigH2 = true;
988 
989  /* zero out some column densities */
990  for( long i=0; i < NCOLD; i++ )
991  {
992  colden.colden[i] = 0.;
993  }
994  colden.He123S = 0.;
995  colden.coldenH2_ov_vel = 0.;
996 
997  /* F=0 and F=1 column densities of H0*/
1000 
1001  for( long i=0; i < 5; i++ )
1002  {
1003  colden.C2Pops[i] = 0.;
1004  colden.C2Colden[i] = 0.;
1005  /* pops and column density for SiII atom */
1006  colden.Si2Pops[i] = 0.;
1007  colden.Si2Colden[i] = 0.;
1008  }
1009  for( long i=0; i < 3; i++ )
1010  {
1011  /* pops and column density for CI atom */
1012  colden.C1Pops[i] = 0.;
1013  colden.C1Colden[i] = 0.;
1014  /* pops and column density for OI atom */
1015  colden.O1Pops[i] = 0.;
1016  colden.O1Colden[i] = 0.;
1017  /* pops and column density for CIII atom */
1018  colden.C3Pops[i] = 0.;
1019  }
1020  for( long i=0; i < 4; i++ )
1021  {
1022  /* pops and column density for CIII atom */
1023  colden.C3Colden[i] = 0.;
1024  }
1025 
1026  /* variables to do with Jeans mass and radius */
1027  colden.TotMassColl = 0.;
1028  colden.tmas = 0.;
1029  colden.wmas = 0.;
1030  colden.rjnmin = FLT_MAX;
1031  colden.ajmmin = FLT_MAX;
1032 
1033  /* variables dealing with the radius */
1034  radius.rinner = 0.;
1035  radius.distance = 0.;
1036  radius.Radius = 0.;
1037  radius.Radius_mid_zone = 0.;
1040  radius.depth_x_fillfac = 0.;
1041  radius.lgRadiusKnown = false;
1042  radius.drad = 0.;
1043  radius.drad_mid_zone = 0.;
1044  radius.r1r0sq = 1.;
1045  /* this is changed with the roberto command, to go from out to in */
1046  radius.dRadSign = 1.;
1047 
1048  /* RDFALT is log of default starting radius (cm) */
1049  /* >>chng 03 nov 12, from 25 to 30 for Lya clouds */
1050  /*radius.rdfalt = 25.;*/
1051  radius.rdfalt = 30.;
1052 
1053  /* set default cylinder thickness */
1054  radius.CylindHigh = 1e35f;
1055  radius.lgCylnOn = false;
1056 
1057  radius.drad_x_fillfac = 1.;
1058  radius.darea_x_fillfac = 1.;
1059  radius.dVeffVol = 1.;
1060  radius.dVeffAper = 1.;
1061  radius.drNext = 1.;
1062  radius.dRNeff = 1.;
1063  radius.lgdR2Small = false;
1064 
1066  radius.lgSdrminRel = false;
1067  radius.sdrmax = 1e30;
1068  radius.lgSdrmaxRel = false;
1069  radius.lgSMinON = false;
1070  radius.lgDrMnOn = true;
1071  radius.lgFixed = false;
1072  radius.sdrmin_rel_depth = 1e-5;
1073 
1074  radius.lgDrMinUsed = false;
1075 
1076  rfield.lgHabing = false;
1077 
1078  /* flag to turn off Lya ots */
1079  rfield.lgLyaOTS = true;
1080  /* HeII rec and Lya ots */
1081  rfield.lgHeIIOTS = true;
1082  rfield.lgKillOTSLine = false;
1083  rfield.lgKillOutLine = false;
1084  rfield.lgKillOutCont = false;
1085 
1086  /* rfield.DiffPumpOn is unity unless process disabled by setting to 1
1087  * with no diffuse line pumping command */
1088  rfield.DiffPumpOn = 1.;
1089 
1090  /* 02 jun 13, by Ryan...added this line */
1091  rfield.lgCompileGauntFF = false;
1092 
1093  /* >>chng 03 nov 28, add option to not do line transfer */
1094  rfield.lgDoLineTrans = true;
1095 
1096  /* flag saying whether to constantly reevaluated opacities -
1097  * set false with no opacity reevaluate command */
1098  rfield.lgOpacityReevaluate = true;
1099 
1100  /* flag saying whether to constantly reevaluated ionization -
1101  * set false with no ionization reevaluate command */
1102  rfield.lgIonizReevaluate = true;
1103  /* this element is default for choosing line width */
1105  /* there will be this many resolution elements in one FWHM for this element,
1106  * at the lowest temperature to be considered */
1108  /* continuum scale factor for case of time varying continuum */
1110  /* will fine optical depths be punched? */
1111  rfield.lgSaveOpacityFine = false;
1112 
1113  /* first is set true if one of the incident continua needs to have
1114  * H-ionizing radiation blocked. Second is set true is it is blocked
1115  * with extinguish command - want both true if first is true */
1116  rfield.lgMustBlockHIon = false;
1117  rfield.lgBlockHIon = false;
1118 
1119  /* reset some variable related to cooling */
1120  CoolZero();
1121 
1122  thermal.lgCNegChk = true;
1123  thermal.CoolHeatMax = 0.;
1124  thermal.wlCoolHeatMax = 0;
1125  thermal.totcol = 0.;
1126  thermal.heatl = 0.;
1127  thermal.coolheat = 0.;
1128  thermal.lgCExtraOn = false;
1129  thermal.CoolExtra = 0.;
1130  thermal.ctot = 1.;
1131 
1132  thermal.htot = 1.;
1133  thermal.power = 0.;
1134  thermal.FreeFreeTotHeat = 0.;
1135  thermal.char_tran_cool = 0.;
1136  thermal.char_tran_heat = 0.;
1137 
1138  fnzone = 0.;
1139  nzone = 0;
1140  /* save initial condition for talk in case PRINT LAST used */
1142 
1143  oxy.poiii2 = 0.;
1144  oxy.poiii3 = 0.;
1145  oxy.poiexc = 0.;
1146 
1147  oxy.d5007r = 0.;
1148  oxy.d5007t = 0.;
1149  oxy.d4363 = 0.;
1150  oxy.d6300 = 0.;
1151 
1152  atmdat.nsbig = 0;
1153 
1154  /***************************************************
1155  * charge transfer ionization and recombination
1156  ***************************************************/
1157  /* HCharHeatMax, HCharCoolMax are largest fractions of heating in cur zone
1158  * or cooling due to ct */
1159  atmdat.HCharHeatMax = 0.;
1160  atmdat.HCharCoolMax = 0.;
1161 
1162  for ( long nelem=0; nelem < t_atmdat::NCX; ++nelem)
1163  {
1164  atmdat.CharExcIonTotal[nelem] = 0.;
1165  atmdat.CharExcRecTotal[nelem] = 0.;
1166  }
1167  atmdat.HIonFrac = 0.;
1168  atmdat.HIonFracMax = 0.;
1169  /* option to turn off all charge transfer, turned off with no charge transfer command */
1170  atmdat.lgCTOn = true;
1171 
1172  /* flag saying that charge transfer heating should be included,
1173  * turned off with no CTHeat commmand */
1174  atmdat.HCharHeatOn = 1.;
1175  for( long nelem1=0; nelem1 < t_atmdat::NCX; ++nelem1)
1176  {
1177  for( long nelem=0; nelem< LIMELM; ++nelem )
1178  {
1179  for( long ion=0; ion<LIMELM; ++ion )
1180  {
1181  atmdat.CharExcIonOf[nelem1][nelem][ion] = 0.;
1182  atmdat.CharExcRecTo[nelem1][nelem][ion] = 0.;
1183  }
1184  }
1185  }
1186 
1187  /* >>chng 97 jan 6, from 0 to 8.5e-10*q as per Alex Dalgarno e-mail
1188  * >>chng 97 feb 6, from 8.5e-10*q 1.92e-9x as per Alex Dalgarno e-mail */
1189  atmdat.HCTAlex = 1.92e-9;
1190 
1191  for( long nelem=0; nelem < LIMELM; nelem++ )
1192  {
1193  /* these are depletion scale factors */
1194  abund.depset[nelem] = 1.;
1195  /*begin sanity check */
1196  if( abund.depset[nelem] == 0. )
1197  {
1198  fprintf( ioQQQ, " ZERO finds insane abundance or depletion.\n" );
1199  fprintf( ioQQQ, " atomic number=%6ld abundance=%10.2e depletion=%10.2e\n",
1200  nelem, abund.solar[nelem], abund.depset[nelem] );
1201  ShowMe();
1203  }
1204  /*end sanity check */
1205  }
1206 
1207  /* typical ISM depletion factors, subjective mean of Cowie and Songaila
1208  * and Jenkins
1209  * */
1210  abund.Depletion[0] = 1.;
1211  abund.Depletion[1] = 1.;
1212  abund.Depletion[2] = .16f;
1213  abund.Depletion[3] = .6f;
1214  abund.Depletion[4] = .13f;
1215  abund.Depletion[5] = 0.4f;
1216  abund.Depletion[6] = 1.0f;
1217  abund.Depletion[7] = 0.6f;
1218  abund.Depletion[8] = .3f;
1219  abund.Depletion[9] = 1.f;
1220  abund.Depletion[10] = 0.2f;
1221  abund.Depletion[11] = 0.2f;
1222  abund.Depletion[12] = 0.01f;
1223  abund.Depletion[13] = 0.03f;
1224  abund.Depletion[14] = .25f;
1225  abund.Depletion[15] = 1.0f;
1226  abund.Depletion[16] = 0.4f;
1227  abund.Depletion[17] = 1.0f;
1228  abund.Depletion[18] = .3f;
1229  abund.Depletion[19] = 1e-4f;
1230  abund.Depletion[20] = 5e-3f;
1231  abund.Depletion[21] = 8e-3f;
1232  abund.Depletion[22] = 6e-3f;
1233  abund.Depletion[23] = 6e-3f;
1234  abund.Depletion[24] = 5e-2f;
1235  abund.Depletion[25] = 0.01f;
1236  abund.Depletion[26] = 0.01f;
1237  abund.Depletion[27] = 0.01f;
1238  abund.Depletion[28] = .1f;
1239  abund.Depletion[29] = .25f;
1240 
1241  abund.lgDepln = false;
1242  abund.ScaleMetals = 1.;
1243 
1244  /* this tells the code to use standard Auger yields */
1246 
1247  rt.dTauMase = 0.;
1248  rt.lgMaserCapHit = false;
1249  rt.lgMaserSetDR = false;
1250 
1251  rt.DoubleTau = 1.;
1252  rt.lgFstOn = true;
1253  rt.lgElecScatEscape = true;
1254 
1255  /* there was a call to TestCode */
1256  lgTestCodeCalled = false;
1257  /* test code enabled with set test command */
1258  lgTestCodeEnabled = false;
1259 
1260  /* zero out some grain variables */
1261  GrainZero();
1262 
1263  /* this is flag saying whether this is very first call,
1264  * a time when space has not been allocated */
1265  lgFirstCall = false;
1266  return;
1267 }
t_timesc::time_H2_Dest_longest
double time_H2_Dest_longest
Definition: timesc.h:35
t_hmi::lgLeiden_Keep_ipMH2s
bool lgLeiden_Keep_ipMH2s
Definition: hmi.h:208
t_rfield::lgCompileGauntFF
bool lgCompileGauntFF
Definition: rfield.h:232
colden.h
t_conv::nTeFail
long int nTeFail
Definition: conv.h:208
thermal.h
t_pressure::PresRamCurr
double PresRamCurr
Definition: pressure.h:79
t_radius::lgdR2Small
bool lgdR2Small
Definition: radius.h:112
t_hmi::HeatH2Dish_BD96
double HeatH2Dish_BD96
Definition: hmi.h:131
t_atmdat::CharExcIonOf
double CharExcIonOf[NCX][LIMELM][LIMELM+1]
Definition: atmdat.h:152
t_conv::nIonFail
long int nIonFail
Definition: conv.h:223
t_mole_global::lgNonEquilChem
bool lgNonEquilChem
Definition: mole.h:294
t_conv::lgMap
bool lgMap
Definition: conv.h:238
t_hydro::lgHiPop2
bool lgHiPop2
Definition: hydrogenic.h:55
co
t_co co
Definition: co.cpp:5
t_hmi::H2Opacity
realnum H2Opacity
Definition: hmi.h:29
t_atoms::popmg2
realnum popmg2
Definition: atoms.h:262
t_pressure::RhoGravity_external
double RhoGravity_external
Definition: pressure.h:121
t_called::lgTalkSave
bool lgTalkSave
Definition: called.h:15
t_ionbal::ilthn
long int ilthn
Definition: ionbal.h:247
t_hmi::H2_photodissoc_ELWERT_H2g
double H2_photodissoc_ELWERT_H2g
Definition: hmi.h:110
t_isoCTRL::nLyaLevel
int nLyaLevel[NISO]
Definition: iso.h:377
t_ionbal::lgCompRecoil
bool lgCompRecoil
Definition: ionbal.h:149
t_radius::sdrmax
double sdrmax
Definition: radius.h:153
t_conv::AverHeatCoolError
realnum AverHeatCoolError
Definition: conv.h:182
t_pressure::lgPradCap
bool lgPradCap
Definition: pressure.h:153
lgAbort
bool lgAbort
Definition: cddefines.cpp:10
t_CoolHeavy::lgFreeOn
bool lgFreeOn
Definition: coolheavy.h:116
t_rfield::fine_opac_nelem
long int fine_opac_nelem
Definition: rfield.h:380
t_CoolHeavy::colmet
double colmet
Definition: coolheavy.h:71
t_ionbal::CompRecoilHeatRateSave
double ** CompRecoilHeatRateSave
Definition: ionbal.h:167
t_thermal::CoolHeatMax
realnum CoolHeatMax
Definition: thermal.h:105
t_rfield::lgOpacityReevaluate
bool lgOpacityReevaluate
Definition: rfield.h:121
t_radius::drad_mid_zone
double drad_mid_zone
Definition: radius.h:34
lines.h
yield.h
t_radius::lgFixed
double lgFixed
Definition: radius.h:154
t_dark_matter::lgNFW_Set
bool lgNFW_Set
Definition: dark_matter.h:9
t_geometry::lgZoneSet
bool lgZoneSet
Definition: geometry.h:87
t_ionbal::PhotoRate_Shell
double **** PhotoRate_Shell
Definition: ionbal.h:111
ipHE_LIKE
const int ipHE_LIKE
Definition: iso.h:63
t_radius::distance
double distance
Definition: radius.h:65
t_abund::lgDepln
bool lgDepln
Definition: abund.h:103
t_geometry::covgeo
realnum covgeo
Definition: geometry.h:35
t_dense::eden
double eden
Definition: dense.h:190
t_colden::He123S
double He123S
Definition: colden.h:84
t_LineSave::lgNormSet
bool lgNormSet
Definition: lines.h:100
t_hmi::HeatH2Dish_ELWERT
double HeatH2Dish_ELWERT
Definition: hmi.h:133
fill
STATIC void fill(double fenlo, double fenhi, double resolv, long int *n0, long int *ipnt, bool lgCount)
Definition: cont_createmesh.cpp:255
t_ionbal::trimlo
double trimlo
Definition: ionbal.h:92
t_hmi::h2pdep
double h2pdep
Definition: hmi.h:35
struc.h
dense
t_dense dense
Definition: dense.cpp:24
t_hmi::UV_Cont_rel2_Draine_DB96_face
realnum UV_Cont_rel2_Draine_DB96_face
Definition: hmi.h:73
t_secondaries::SecHIonMax
realnum SecHIonMax
Definition: secondaries.h:30
secondaries.h
t_timesc::BigCOMoleForm
double BigCOMoleForm
Definition: timesc.h:39
t_radius::lgSMinON
bool lgSMinON
Definition: radius.h:164
t_radius::StopRadius
double * StopRadius
Definition: radius.h:58
t_radius::darea_x_fillfac
double darea_x_fillfac
Definition: radius.h:77
t_opac::lgOpacNeg
bool lgOpacNeg
Definition: opacity.h:179
atoms.h
t_conv::lgConvEden
bool lgConvEden
Definition: conv.h:202
Singleton< t_ADfA >::Inst
static t_ADfA & Inst()
Definition: cddefines.h:175
t_conv::BigEdenError
realnum BigEdenError
Definition: conv.h:220
t_ionbal::CotaRate
realnum CotaRate[LIMELM]
Definition: ionbal.h:242
rfield
t_rfield rfield
Definition: rfield.cpp:8
t_atmdat::HCharCoolMax
double HCharCoolMax
Definition: atmdat.h:155
t_hmi::HeatH2Dexc_BD96
double HeatH2Dexc_BD96
Definition: hmi.h:139
ioQQQ
FILE * ioQQQ
Definition: cddefines.cpp:7
t_conv::MaxFractionalDensityStepPerIteration
double MaxFractionalDensityStepPerIteration
Definition: conv.h:274
t_hydro::lgLymanPumping
bool lgLymanPumping
Definition: hydrogenic.h:111
t_hmi::H2_Solomon_dissoc_rate_BHT90_H2s
double H2_Solomon_dissoc_rate_BHT90_H2s
Definition: hmi.h:100
t_radius::dVeffVol
double dVeffVol
Definition: radius.h:81
geometry.h
TempChange
void TempChange(double TempNew, bool lgForceUpdate)
Definition: temp_change.cpp:51
t_continuum::lgCon0
bool lgCon0
Definition: continuum.h:93
t_continuum::ResolutionScaleFactor
double ResolutionScaleFactor
Definition: continuum.h:90
t_atmdat::CharExcIonTotal
double CharExcIonTotal[NCX]
Definition: atmdat.h:162
t_thermal::wlCoolHeatMax
realnum wlCoolHeatMax
Definition: thermal.h:106
t_timesc::time_H2_Form_here
double time_H2_Form_here
Definition: timesc.h:38
t_co::codfrc
realnum codfrc
Definition: co.h:15
t_geometry::nprint
long int nprint
Definition: geometry.h:77
t_rfield::lgKillOTSLine
bool lgKillOTSLine
Definition: rfield.h:440
realnum
float realnum
Definition: cddefines.h:103
t_radius::dVeffAper
double dVeffAper
Definition: radius.h:87
t_conv::nPopFail
long int nPopFail
Definition: conv.h:226
iterations
t_iterations iterations
Definition: iterations.cpp:5
t_LineSave::sig_figs
long int sig_figs
Definition: lines.h:91
conv.h
rfield.h
t_dense::xMassDensity0
realnum xMassDensity0
Definition: dense.h:95
t_phycon::BigJumpTe
realnum BigJumpTe
Definition: phycon.h:106
t_DoppVel::DispScale
realnum DispScale
Definition: doppvel.h:42
t_fe2ovr_la::zero_opacity
void zero_opacity()
Definition: atom_fe2ovr.cpp:79
t_conv::EdenErrorAllowed
double EdenErrorAllowed
Definition: conv.h:267
t_rfield::DiffPumpOn
realnum DiffPumpOn
Definition: rfield.h:217
t_isoCTRL::lgCS_Vriens
bool lgCS_Vriens[NISO]
Definition: iso.h:388
t_mole_global::lgStancil
bool lgStancil
Definition: mole.h:289
t_colden::H0_21cm_lower
double H0_21cm_lower
Definition: colden.h:96
t_ionbal::RateRecomTot
double ** RateRecomTot
Definition: ionbal.h:198
t_thermal::coolheat
double coolheat
Definition: thermal.h:116
t_isoCTRL::lgTopoff
bool lgTopoff[NISO]
Definition: iso.h:408
t_pressure::lgSonicPoint
bool lgSonicPoint
Definition: pressure.h:168
mole.h
CoolZero
void CoolZero(void)
Definition: cool_etc.cpp:50
t_input::chTitle
char chTitle[INPUT_LINE_LENGTH]
Definition: input.h:37
t_conv::IonizErrorAllowed
realnum IonizErrorAllowed
Definition: conv.h:280
t_isoCTRL::lgCS_None
bool lgCS_None[NISO]
Definition: iso.h:389
t_colden::ajmmin
realnum ajmmin
Definition: colden.h:89
abund.h
t_rt::lgElecScatEscape
bool lgElecScatEscape
Definition: rt.h:262
t_isoCTRL::lgPessimisticErrors
bool lgPessimisticErrors
Definition: iso.h:406
t_rfield::lgBlockHIon
bool lgBlockHIon
Definition: rfield.h:114
t_conv::resetCounters
void resetCounters()
Definition: conv.h:313
t_opac::lgScatON
bool lgScatON
Definition: opacity.h:183
t_rfield::fine_opac_nresolv
long int fine_opac_nresolv
Definition: rfield.h:383
t_ionbal::lgSupDie
bool lgSupDie[2]
Definition: ionbal.h:235
ipIRON
const int ipIRON
Definition: cddefines.h:330
t_thermal::char_tran_heat
double char_tran_heat
Definition: thermal.h:146
t_hmi::HeatH2Dexc_BHT90
double HeatH2Dexc_BHT90
Definition: hmi.h:140
t_geometry::lgEndDflt
bool lgEndDflt
Definition: geometry.h:96
t_hextra::effneu
realnum effneu
Definition: hextra.h:75
t_conv::BigHeatCoolError
realnum BigHeatCoolError
Definition: conv.h:181
t_ionbal::RR_rate_coef_used
double ** RR_rate_coef_used
Definition: ionbal.h:212
t_colden::tmas
realnum tmas
Definition: colden.h:91
t_hmi::H2_Solomon_dissoc_rate_BD96_H2g
double H2_Solomon_dissoc_rate_BD96_H2g
Definition: hmi.h:95
t_isoCTRL::lgRandErrGen
bool lgRandErrGen[NISO]
Definition: iso.h:403
phycon
t_phycon phycon
Definition: phycon.cpp:6
t_timesc::time_H2_Dest_here
double time_H2_Dest_here
Definition: timesc.h:37
t_hmi::UV_Cont_rel2_Habing_TH85_face
realnum UV_Cont_rel2_Habing_TH85_face
Definition: hmi.h:63
t_atmdat::HCharHeatOn
double HCharHeatOn
Definition: atmdat.h:156
t_he::frac_he0dest_23S_photo
double frac_he0dest_23S_photo
Definition: he.h:18
t_phycon::BigJumpH2
realnum BigJumpH2
Definition: phycon.h:106
t_LineSave::ipNormWavL
long int ipNormWavL
Definition: lines.h:81
t_conv::nPreFail
long int nPreFail
Definition: conv.h:214
t_ionbal::RR_Badnell_rate_coef
double ** RR_Badnell_rate_coef
Definition: ionbal.h:204
DoppVel
t_DoppVel DoppVel
Definition: doppvel.cpp:5
t_ionbal::UTA_heat_rate
double ** UTA_heat_rate
Definition: ionbal.h:172
t_conv::LimFail
long int LimFail
Definition: conv.h:235
lgTestCodeCalled
bool lgTestCodeCalled
Definition: cddefines.cpp:11
t_conv::autocv
realnum autocv
Definition: conv.h:262
t_radius::dRNeff
double dRNeff
Definition: radius.h:90
t_conv::failmx
realnum failmx
Definition: conv.h:211
t_conv::GasPhaseAbundErrorAllowed
realnum GasPhaseAbundErrorAllowed
Definition: conv.h:285
t_isoCTRL::nLyman_malloc
long int nLyman_malloc[NISO]
Definition: iso.h:336
ca
t_ca ca
Definition: ca.cpp:5
t_dense::zero
void zero()
Definition: dense.cpp:31
t_rfield::lgLyaOTS
bool lgLyaOTS
Definition: rfield.h:427
t_LineSave::WavLNorm
realnum WavLNorm
Definition: lines.h:84
t_radius::drNext
double drNext
Definition: radius.h:61
t_opac::lgOpacStatic
bool lgOpacStatic
Definition: opacity.h:140
t_conv::AverPressError
realnum AverPressError
Definition: conv.h:186
wcnint
void wcnint(void)
Definition: warnings.cpp:13
t_radius::depth
double depth
Definition: radius.h:38
t_thermal::lgCExtraOn
bool lgCExtraOn
Definition: thermal.h:131
t_timesc::TimeH21cm
double TimeH21cm
Definition: timesc.h:51
t_ca::popca2ex
realnum popca2ex
Definition: ca.h:34
t_atmdat::HIonFracMax
double HIonFracMax
Definition: atmdat.h:169
t_state::lgGet_state
bool lgGet_state
Definition: state.h:20
t_iterations::lgConverge_set
bool lgConverge_set
Definition: iterations.h:42
t_isoCTRL::lgPrintNumberOfLevels
bool lgPrintNumberOfLevels
Definition: iso.h:328
t_secondaries::x12tot
realnum x12tot
Definition: secondaries.h:53
t_thermal::CoolExtra
realnum CoolExtra
Definition: thermal.h:132
t_peimbt::tsqden
realnum tsqden
Definition: peimbt.h:16
t_ionbal::lgTrimhiOn
bool lgTrimhiOn
Definition: ionbal.h:95
t_pressure::ipPradMax_nzone
long int ipPradMax_nzone
Definition: pressure.h:146
dynamics.h
lgPrnErr
bool lgPrnErr
Definition: cddefines.cpp:13
t_hmi::H2_Solomon_dissoc_rate_ELWERT_H2g
double H2_Solomon_dissoc_rate_ELWERT_H2g
Definition: hmi.h:96
input
t_input input
Definition: input.cpp:12
t_hmi::H2_total
double H2_total
Definition: hmi.h:16
t_colden::C1Colden
realnum C1Colden[3]
Definition: colden.h:77
t_ionbal::UTA_ionize_rate
double ** UTA_ionize_rate
Definition: ionbal.h:170
iso.h
t_colden::C1Pops
realnum C1Pops[3]
Definition: colden.h:76
t_opac::stimax
realnum stimax[2]
Definition: opacity.h:297
t_pressure::RhoGravity_dark
double RhoGravity_dark
Definition: pressure.h:119
t_hmi::H2_photodissoc_ELWERT_H2s
double H2_photodissoc_ELWERT_H2s
Definition: hmi.h:111
t_hextra::frcneu
realnum frcneu
Definition: hextra.h:73
t_atmdat::nsbig
long int nsbig
Definition: atmdat.h:196
ipHYDROGEN
const int ipHYDROGEN
Definition: cddefines.h:305
t_thermal::ctot
double ctot
Definition: thermal.h:112
t_ionbal::ilt
long int ilt
Definition: ionbal.h:245
t_geometry::lgStatic
bool lgStatic
Definition: geometry.h:54
DynaZero
void DynaZero(void)
Definition: dynamics.cpp:1321
opac
t_opac opac
Definition: opacity.cpp:5
atmdat.h
t_ionbal::DR_Badnell_rate_coef
double ** DR_Badnell_rate_coef
Definition: ionbal.h:205
t_colden::rjnmin
realnum rjnmin
Definition: colden.h:88
t_hmi::H2_Solomon_dissoc_rate_ELWERT_H2s
double H2_Solomon_dissoc_rate_ELWERT_H2s
Definition: hmi.h:102
dark_matter.h
t_isoCTRL::lgColl_excite
bool lgColl_excite[NISO]
Definition: iso.h:342
t_isoCTRL::lgFSM
bool lgFSM[NISO]
Definition: iso.h:399
t_isoCTRL::ipLyaRedist
int ipLyaRedist[NISO]
Definition: iso.h:374
hyperfine
t_hyperfine hyperfine
Definition: hyperfine.cpp:5
t_conv::lgAutoIt
bool lgAutoIt
Definition: conv.h:256
t_rfield::lgMustBlockHIon
bool lgMustBlockHIon
Definition: rfield.h:110
t_pressure::RhoGravity
double RhoGravity
Definition: pressure.h:122
t_ionbal::guess_noise
realnum guess_noise
Definition: ionbal.h:231
t_mole_local::sink
double ** sink
Definition: mole.h:394
t_colden::C3Pops
realnum C3Pops[4]
Definition: colden.h:68
t_hmi::lgH2_Thermal_BigH2
bool lgH2_Thermal_BigH2
Definition: hmi.h:160
t_isoCTRL::lgColl_l_mixing
bool lgColl_l_mixing[NISO]
Definition: iso.h:339
t_radius::lgRadiusKnown
bool lgRadiusKnown
Definition: radius.h:116
t_secondaries::sec2total
realnum sec2total
Definition: secondaries.h:27
t_CoolHeavy::brems_cool_net
double brems_cool_net
Definition: coolheavy.h:124
t_ca::Ca3d
realnum Ca3d
Definition: ca.h:30
nzone
long int nzone
Definition: cddefines.cpp:14
LineSave
t_LineSave LineSave
Definition: lines.cpp:5
t_isoCTRL::nCS_new
int nCS_new[NISO]
Definition: iso.h:392
timesc
t_timesc timesc
Definition: timesc.cpp:5
t_hmi::H2_photodissoc_TH85
double H2_photodissoc_TH85
Definition: hmi.h:112
t_dense::HCorrFac
realnum HCorrFac
Definition: dense.h:111
t_ionbal::CompRecoilIonRateSave
double ** CompRecoilIonRateSave
Definition: ionbal.h:161
t_radius::dRadSign
double dRadSign
Definition: radius.h:68
t_geometry::covrt
realnum covrt
Definition: geometry.h:51
t_isoCTRL::lgNoRecombInterp
bool lgNoRecombInterp[NISO]
Definition: iso.h:385
t_hmi::deriv_HeatH2Dexc_ELWERT
realnum deriv_HeatH2Dexc_ELWERT
Definition: hmi.h:149
radius
t_radius radius
Definition: radius.cpp:5
t_hmi::chH2_small_model_type
char chH2_small_model_type
Definition: hmi.h:168
t_thermal::char_tran_cool
double char_tran_cool
Definition: thermal.h:146
t_rt::dTauMase
realnum dTauMase
Definition: rt.h:267
t_radius::lgSdrminRel
bool lgSdrminRel
Definition: radius.h:160
t_conv::lgUpdateCouplings
bool lgUpdateCouplings
Definition: conv.h:259
t_oxy::poiii3
realnum poiii3
Definition: oxy.h:12
t_pressure::lgPradDen
bool lgPradDen
Definition: pressure.h:154
t_radius::sdrmin
double sdrmin
Definition: radius.h:152
t_rfield::lgDoLineTrans
bool lgDoLineTrans
Definition: rfield.h:117
t_hmi::CoolH2DexcMax
realnum CoolH2DexcMax
Definition: hmi.h:48
t_hmi::UV_Cont_rel2_Habing_TH85_depth
realnum UV_Cont_rel2_Habing_TH85_depth
Definition: hmi.h:64
t_rt::DoubleTau
realnum DoubleTau
Definition: rt.h:247
t_isoCTRL::lgColl_ionize
bool lgColl_ionize[NISO]
Definition: iso.h:345
EXIT_FAILURE
#define EXIT_FAILURE
Definition: cddefines.h:140
t_continuum::EnergyKshell
realnum EnergyKshell
Definition: continuum.h:123
t_oxy::poiexc
realnum poiexc
Definition: oxy.h:18
t_hmi::ScaleJura
realnum ScaleJura
Definition: hmi.h:178
t_radius::sdrmin_rel_depth
double sdrmin_rel_depth
Definition: radius.h:156
t_abund::Depletion
realnum Depletion[LIMELM]
Definition: abund.h:97
t_isoCTRL::lgCollStrenThermAver
bool lgCollStrenThermAver
Definition: iso.h:351
t_hmi::H2_Solomon_dissoc_rate_used_H2s
double H2_Solomon_dissoc_rate_used_H2s
Definition: hmi.h:98
t_isoCTRL::lgCompileRecomb
bool lgCompileRecomb[NISO]
Definition: iso.h:380
t_pressure::lgRadPresAbortOK
bool lgRadPresAbortOK
Definition: pressure.h:161
dense.h
t_hmi::chJura
char chJura
Definition: hmi.h:174
lgTestCodeEnabled
bool lgTestCodeEnabled
Definition: cddefines.cpp:12
t_atmdat::HIonFrac
double HIonFrac
Definition: atmdat.h:166
t_conv::resetConvIoniz
void resetConvIoniz()
Definition: conv.h:100
t_ionbal::RR_Verner_rate_coef
double ** RR_Verner_rate_coef
Definition: ionbal.h:215
ioPrnErr
FILE * ioPrnErr
Definition: cddefines.cpp:9
t_iterations::itermx
long int itermx
Definition: iterations.h:26
t_isoCTRL::lgCS_therm_ave
bool lgCS_therm_ave[NISO]
Definition: iso.h:391
t_oxy::d5007r
realnum d5007r
Definition: oxy.h:10
init.h
coolheavy.h
t_hyperfine::lgLya_pump_21cm
bool lgLya_pump_21cm
Definition: hyperfine.h:50
t_thermal::power
double power
Definition: thermal.h:152
t_hmi::lgLeidenCRHack
bool lgLeidenCRHack
Definition: hmi.h:209
mole
t_mole_local mole
Definition: mole.cpp:7
t_thermal::heatl
double heatl
Definition: thermal.h:114
t_isoCTRL::SmallA
realnum SmallA
Definition: iso.h:371
cooling.h
t_colden::H0_21cm_upper
double H0_21cm_upper
Definition: colden.h:95
t_isoCTRL::lgDielRecom
bool lgDielRecom[NISO]
Definition: iso.h:365
t_rfield::lgHeIIOTS
bool lgHeIIOTS
Definition: rfield.h:431
t_DoppVel::lgTurbLawOn
bool lgTurbLawOn
Definition: doppvel.h:24
t_hydro::pop2mx
realnum pop2mx
Definition: hydrogenic.h:56
t_mole_global::lgNoHeavyMole
bool lgNoHeavyMole
Definition: mole.h:280
t_phycon::lgPhysOK
bool lgPhysOK
Definition: phycon.h:101
t_ionbal::trimhi
double trimhi
Definition: ionbal.h:88
t_DoppVel::TurbVel
realnum TurbVel
Definition: doppvel.h:12
t_geometry::lgZoneTrp
bool lgZoneTrp
Definition: geometry.h:90
cddefines.h
fe.h
t_co::codtot
realnum codtot
Definition: co.h:16
t_opac::lgUseFileOpac
bool lgUseFileOpac
Definition: opacity.h:196
hextra
t_hextra hextra
Definition: hextra.cpp:5
t_pressure::RadBetaMax
realnum RadBetaMax
Definition: pressure.h:136
t_opac::otsmin
realnum otsmin
Definition: opacity.h:294
t_mole_local::xMoleChTrRate
realnum *** xMoleChTrRate
Definition: mole.h:396
t_ADfA::set_version
void set_version(phfit_version val)
Definition: atmdat.h:318
t_mole_global::lgGrain_mole_deplete
bool lgGrain_mole_deplete
Definition: mole.h:308
t_atoms::nNegOI
long int nNegOI
Definition: atoms.h:252
atoms
t_atoms atoms
Definition: atoms.cpp:5
t_LineSave::ScaleNormLine
double ScaleNormLine
Definition: lines.h:94
t_hydro::D2H_ratio
double D2H_ratio
Definition: hydrogenic.h:98
t_hmi::h3pdep
double h3pdep
Definition: hmi.h:36
t_radius::lgDrMinUsed
bool lgDrMinUsed
Definition: radius.h:180
t_radius::Radius
double Radius
Definition: radius.h:25
t_ca::dstCala
realnum dstCala
Definition: ca.h:27
thermal
t_thermal thermal
Definition: thermal.cpp:5
t_radius::rinner
double rinner
Definition: radius.h:22
t_isoCTRL::lgCS_Vrinceanu
bool lgCS_Vrinceanu[NISO]
Definition: iso.h:390
t_iterations::IterPrnt
long int * IterPrnt
Definition: iterations.h:32
t_radius::depth_x_fillfac
double depth_x_fillfac
Definition: radius.h:74
t_pressure::self_mass_factor
double self_mass_factor
Definition: pressure.h:125
t_hmi::H2_photodissoc_used_H2g
double H2_photodissoc_used_H2g
Definition: hmi.h:108
t_hmi::HeatH2Dish_TH85
double HeatH2Dish_TH85
Definition: hmi.h:130
AbundancesZero
void AbundancesZero(void)
Definition: abundances.cpp:534
t_hmi::H2_Solomon_dissoc_rate_BHT90_H2g
double H2_Solomon_dissoc_rate_BHT90_H2g
Definition: hmi.h:94
t_pressure::lgStrongDLimbo
bool lgStrongDLimbo
Definition: pressure.h:175
t_secondaries::SetCsupra
realnum SetCsupra
Definition: secondaries.h:33
t_ionbal::ifail
long int ifail
Definition: ionbal.h:249
t_rfield::lgIonizReevaluate
bool lgIonizReevaluate
Definition: rfield.h:128
t_abund::solar
realnum solar[LIMELM]
Definition: abund.h:65
t_secondaries::SecIon2PrimaryErg
realnum SecIon2PrimaryErg
Definition: secondaries.h:16
t_rt::lgFstOn
bool lgFstOn
Definition: rt.h:256
t_hmi::hmihet
double hmihet
Definition: hmi.h:24
t_hmi::HeatH2DexcMax
realnum HeatH2DexcMax
Definition: hmi.h:46
t_radius::rdfalt
double rdfalt
Definition: radius.h:124
t_secondaries::csupra_effic
realnum ** csupra_effic
Definition: secondaries.h:22
t_called::lgTalk
bool lgTalk
Definition: called.h:12
t_abund::depset
realnum depset[LIMELM]
Definition: abund.h:100
t_conv::dCmHdT
double dCmHdT
Definition: conv.h:288
t_conv::chConvEden
char chConvEden[INPUT_LINE_LENGTH]
Definition: conv.h:92
t_conv::PressureErrorAllowed
realnum PressureErrorAllowed
Definition: conv.h:272
t_CoolHeavy::brems_cool_h
double brems_cool_h
Definition: coolheavy.h:117
t_atmdat::CharExcRecTotal
double CharExcRecTotal[NCX]
Definition: atmdat.h:163
NCOLD
#define NCOLD
Definition: colden.h:9
t_timesc::CloudAgeSet
realnum CloudAgeSet
Definition: timesc.h:30
t_hmi::deriv_HeatH2Dexc_TH85
realnum deriv_HeatH2Dexc_TH85
Definition: hmi.h:146
hyperfine.h
t_conv::lgConvPres
bool lgConvPres
Definition: conv.h:199
t_ionbal::lgRecom_Badnell_print
bool lgRecom_Badnell_print
Definition: ionbal.h:209
t_colden::wmas
realnum wmas
Definition: colden.h:92
t_radius::CylindHigh
double CylindHigh
Definition: radius.h:120
radius.h
t_hmi::deriv_HeatH2Dexc_BD96
realnum deriv_HeatH2Dexc_BD96
Definition: hmi.h:147
MALLOC
#define MALLOC(exp)
Definition: cddefines.h:501
grains.h
colden
t_colden colden
Definition: colden.cpp:5
t_secondaries::lgCSetOn
bool lgCSetOn
Definition: secondaries.h:36
t_geometry::filpow
realnum filpow
Definition: geometry.h:20
set_NaN
void set_NaN(sys_float &x)
Definition: cpu.cpp:682
t_phycon::BigJumpne
realnum BigJumpne
Definition: phycon.h:106
t_ionbal::RateRecomIso
double ** RateRecomIso
Definition: ionbal.h:201
t_isoCTRL::lgCritDensLMix
bool lgCritDensLMix[NISO]
Definition: iso.h:395
t_geometry::lgSphere
bool lgSphere
Definition: geometry.h:24
t_timesc::sound_speed_isothermal
double sound_speed_isothermal
Definition: timesc.h:42
t_hextra::lgNeutrnHeatOn
bool lgNeutrnHeatOn
Definition: hextra.h:71
t_hydro::nLyaHot
long int nLyaHot
Definition: hydrogenic.h:69
t_state::lgPut_state
bool lgPut_state
Definition: state.h:21
t_geometry::nEndDflt
long int nEndDflt
Definition: geometry.h:93
t_hydro::cintot
double cintot
Definition: hydrogenic.h:92
hmi.h
t_isoCTRL::lgLTE_levels
bool lgLTE_levels[NISO]
Definition: iso.h:347
t_colden::colden
realnum colden[NCOLD]
Definition: colden.h:38
mean
t_mean mean
Definition: mean.cpp:17
t_rfield::lgKillOutCont
bool lgKillOutCont
Definition: rfield.h:437
t_pressure::RhoGravity_self
double RhoGravity_self
Definition: pressure.h:120
ionbal
t_ionbal ionbal
Definition: ionbal.cpp:5
pressure.h
t_pressure::PresTotlInit
double PresTotlInit
Definition: pressure.h:92
t_conv::nNeFail
long int nNeFail
Definition: conv.h:217
t_opac::lgCompileOpac
bool lgCompileOpac
Definition: opacity.h:192
NumDeriv
t_NumDeriv NumDeriv
Definition: numderiv.cpp:5
t_isoCTRL::ipResoRedist
int ipResoRedist[NISO]
Definition: iso.h:374
LIMELM
const int LIMELM
Definition: cddefines.h:258
t_hmi::lgH2_Chemistry_BigH2
bool lgH2_Chemistry_BigH2
Definition: hmi.h:164
t_pressure::IntegRhoGravity
double IntegRhoGravity
Definition: pressure.h:123
t_conv::nGrainFail
long int nGrainFail
Definition: conv.h:229
t_hmi::HeatH2Dexc_ELWERT
double HeatH2Dexc_ELWERT
Definition: hmi.h:141
t_hmi::hmidep
double hmidep
Definition: hmi.h:33
t_conv::limPres2Ioniz
long int limPres2Ioniz
Definition: conv.h:161
t_hmi::H2_photodissoc_used_H2s
double H2_photodissoc_used_H2s
Definition: hmi.h:109
t_pressure::pres_radiation_lines_curr
double pres_radiation_lines_curr
Definition: pressure.h:101
PHFIT96
@ PHFIT96
Definition: atmdat.h:276
DEPTH_OFFSET
const double DEPTH_OFFSET
Definition: cddefines.h:272
t_atmdat::NCX
@ NCX
Definition: atmdat.h:144
t_mole_global::lgNoMole
bool lgNoMole
Definition: mole.h:277
t_mole_global::lgLeidenHack
bool lgLeidenHack
Definition: mole.h:286
t_conv::nPres2Ioniz
long int nPres2Ioniz
Definition: conv.h:152
t_hmi::deriv_HeatH2Dexc_used
realnum deriv_HeatH2Dexc_used
Definition: hmi.h:145
peimbt.h
t_isoCTRL::ipSubRedist
int ipSubRedist[NISO]
Definition: iso.h:374
t_geometry::iEmissPower
long int iEmissPower
Definition: geometry.h:61
t_hextra::totneu
realnum totneu
Definition: hextra.h:69
t_hmi::HeatH2Dexc_used
double HeatH2Dexc_used
Definition: hmi.h:137
cdEXIT
#define cdEXIT(FAIL)
Definition: cddefines.h:434
t_colden::O1Colden
realnum O1Colden[3]
Definition: colden.h:81
t_rfield::lgHabing
bool lgHabing
Definition: rfield.h:376
t_secondaries::lgSecOFF
bool lgSecOFF
Definition: secondaries.h:40
t_mole_local::source
double ** source
Definition: mole.h:394
t_hydro::chHTopType
char chHTopType[5]
Definition: hydrogenic.h:80
t_colden::C2Pops
realnum C2Pops[5]
Definition: colden.h:64
t_isoCTRL::nLyman
long int nLyman[NISO]
Definition: iso.h:334
co.h
hydro
t_hydro hydro
Definition: hydrogenic.cpp:5
t_colden::O1Pops
realnum O1Pops[3]
Definition: colden.h:80
t_hydro::DampOnFac
realnum DampOnFac
Definition: hydrogenic.h:101
he.h
iteration
long int iteration
Definition: cddefines.cpp:16
t_ionbal::lgNoCota
bool lgNoCota
Definition: ionbal.h:239
t_mole_global::lgNeutrals
bool lgNeutrals
Definition: mole.h:304
t_dense::xIonDense
double xIonDense[LIMELM][LIMELM+1]
Definition: dense.h:125
t_hydro::TexcLya
realnum TexcLya
Definition: hydrogenic.h:66
ipHe2p1P
const int ipHe2p1P
Definition: iso.h:49
t_mole_global::lgProtElim
bool lgProtElim
Definition: mole.h:299
zero
void zero(void)
Definition: zero.cpp:73
t_radius::r1r0sq
double r1r0sq
Definition: radius.h:49
t_rfield::time_continuum_scale
realnum time_continuum_scale
Definition: rfield.h:213
abund
t_abund abund
Definition: abund.cpp:5
Magnetic_init
void Magnetic_init(void)
Definition: magnetic.cpp:133
t_ionbal::iltln
long int iltln
Definition: ionbal.h:246
hydrogenic.h
t_he::frac_he0dest_23S
double frac_he0dest_23S
Definition: he.h:16
t_oxy::d4363
realnum d4363
Definition: oxy.h:15
doppvel.h
he
t_he he
Definition: he.cpp:5
t_thermal::htot
double htot
Definition: thermal.h:149
t_hmi::UV_Cont_rel2_Draine_DB96_depth
realnum UV_Cont_rel2_Draine_DB96_depth
Definition: hmi.h:74
ipPRD
const int ipPRD
Definition: cddefines.h:290
state
t_state state
Definition: state.cpp:19
t_oxy::d5007t
realnum d5007t
Definition: oxy.h:11
t_continuum::lgCoStarInterpolationCaution
bool lgCoStarInterpolationCaution
Definition: continuum.h:94
t_conv::AverEdenError
realnum AverEdenError
Definition: conv.h:178
ipH2p
const int ipH2p
Definition: iso.h:29
t_secondaries::csupra
realnum ** csupra
Definition: secondaries.h:21
timesc.h
rt.h
t_conv::chNotConverged
char chNotConverged[INPUT_LINE_LENGTH]
Definition: conv.h:135
t_hextra::CrsSecNeutron
double CrsSecNeutron
Definition: hextra.h:77
t_hmi::H2_Solomon_dissoc_rate_used_H2g
double H2_Solomon_dissoc_rate_used_H2g
Definition: hmi.h:92
t_hmi::chGrainFormPump
char chGrainFormPump
Definition: hmi.h:171
t_conv::lgConvTemp
bool lgConvTemp
Definition: conv.h:196
t_conv::nTotalIoniz
long int nTotalIoniz
Definition: conv.h:166
ionbal.h
t_ionbal::lgInnerShell_Kisielius
bool lgInnerShell_Kisielius
Definition: ionbal.h:177
magnetic.h
t_DoppVel::Heiles_Troland_F
realnum Heiles_Troland_F
Definition: doppvel.h:28
t_secondaries::SecExcitLya2PrimaryErg
realnum SecExcitLya2PrimaryErg
Definition: secondaries.h:18
t_colden::Si2Pops
realnum Si2Pops[5]
Definition: colden.h:72
t_radius::StopThickness
double * StopThickness
Definition: radius.h:55
hmi
t_hmi hmi
Definition: hmi.cpp:5
t_hydro::HCollIonMax
realnum HCollIonMax
Definition: hydrogenic.h:86
t_hmi::HeatH2Dexc_TH85
double HeatH2Dexc_TH85
Definition: hmi.h:138
physconst.h
t_atmdat::HCTAlex
double HCTAlex
Definition: atmdat.h:173
secondaries
t_secondaries secondaries
Definition: secondaries.cpp:5
t_geometry::fiscal
realnum fiscal
Definition: geometry.h:21
dynamics
t_dynamics dynamics
Definition: dynamics.cpp:44
t_rfield::lgKillOutLine
bool lgKillOutLine
Definition: rfield.h:434
t_radius::drad
double drad
Definition: radius.h:31
t_co::CODissHeat
realnum CODissHeat
Definition: co.h:13
t_dense::xNucleiTotal
realnum xNucleiTotal
Definition: dense.h:104
t_ionbal::lgInnerShellLine_on
bool lgInnerShellLine_on
Definition: ionbal.h:175
t_ionbal::lgInnerShell_Gu06
bool lgInnerShell_Gu06
Definition: ionbal.h:180
called
t_called called
Definition: called.cpp:5
t_conv::chSolverEden
char chSolverEden[20]
Definition: conv.h:245
t_state::lgState_print
bool lgState_print
Definition: state.h:27
conv
t_conv conv
Definition: conv.cpp:5
t_DoppVel::TurbVelLaw
realnum TurbVelLaw
Definition: doppvel.h:20
t_mean::MeanZero
void MeanZero()
Definition: mean.cpp:51
t_colden::TotMassColl
realnum TotMassColl
Definition: colden.h:90
t_phycon::BigJumpCO
realnum BigJumpCO
Definition: phycon.h:106
t_LineSave::chNormLab
char chNormLab[5]
Definition: lines.h:97
t_pressure::lgSonicPointAbortOK
bool lgSonicPointAbortOK
Definition: pressure.h:165
t_hmi::H2_frac_abund_set
double H2_frac_abund_set
Definition: hmi.h:185
t_pressure::PresMax
realnum PresMax
Definition: pressure.h:140
t_ca::Ca2RmLya
realnum Ca2RmLya
Definition: ca.h:11
t_atoms::popoi
double popoi[N_OI_LEVELS]
Definition: atoms.h:255
t_pressure::PresTotlCurr
double PresTotlCurr
Definition: pressure.h:86
rt
t_rt rt
Definition: rt.cpp:5
iso_ctrl
t_isoCTRL iso_ctrl
Definition: iso.cpp:6
fixit
void fixit(void)
Definition: service.cpp:991
t_radius::drad_x_fillfac
double drad_x_fillfac
Definition: radius.h:71
t_hmi::HeatH2Dish_used
double HeatH2Dish_used
Definition: hmi.h:129
t_isoCTRL::lgContinuumLoweringEnabled
bool lgContinuumLoweringEnabled[NISO]
Definition: iso.h:358
t_rt::lgMaserCapHit
bool lgMaserCapHit
Definition: rt.h:274
t_mole_global::lgTreatIsotopes
vector< bool > lgTreatIsotopes
Definition: mole.h:311
peimbt
t_peimbt peimbt
Definition: peimbt.cpp:5
ipHELIUM
const int ipHELIUM
Definition: cddefines.h:306
hextra.h
t_ionbal::ihthn
long int ihthn
Definition: ionbal.h:248
t_ionbal::CompRecoilIonRate
double ** CompRecoilIonRate
Definition: ionbal.h:158
FeIIZero
void FeIIZero(void)
Definition: atom_feii.cpp:2127
t_radius::lgSdrmaxRel
bool lgSdrmaxRel
Definition: radius.h:161
t_thermal::lgCNegChk
bool lgCNegChk
Definition: thermal.h:102
CoolHeavy
t_CoolHeavy CoolHeavy
Definition: coolheavy.cpp:5
t_rt::lgMaserSetDR
bool lgMaserSetDR
Definition: rt.h:270
t_hmi::H2_Solomon_dissoc_rate_TH85_H2g
double H2_Solomon_dissoc_rate_TH85_H2g
Definition: hmi.h:93
t_ionbal::CollIonRate_Ground
double *** CollIonRate_Ground
Definition: ionbal.h:120
t_colden::coldenH2_ov_vel
realnum coldenH2_ov_vel
Definition: colden.h:43
t_opac::lgNegOpacIO
bool lgNegOpacIO
Definition: opacity.h:186
t_radius::depth_mid_zone
double depth_mid_zone
Definition: radius.h:41
t_conv::HeatCoolRelErrorAllowed
realnum HeatCoolRelErrorAllowed
Definition: conv.h:278
pressure
t_pressure pressure
Definition: pressure.cpp:5
phycon.h
geometry
t_geometry geometry
Definition: geometry.cpp:5
t_ionbal::ipCompRecoil
long int ** ipCompRecoil
Definition: ionbal.h:155
t_ionbal::CX_recomb_rate_used
double ** CX_recomb_rate_used
Definition: ionbal.h:206
t_hmi::h2dep
double h2dep
Definition: hmi.h:34
numderiv.h
NSHELLS
#define NSHELLS
Definition: ionbal.h:75
atmdat
t_atmdat atmdat
Definition: atmdat.cpp:6
ShowMe
void ShowMe(void)
Definition: service.cpp:181
t_conv::BigPressError
realnum BigPressError
Definition: conv.h:185
t_secondaries::HeatEfficPrimary
realnum HeatEfficPrimary
Definition: secondaries.h:12
t_hmi::deriv_HeatH2Dexc_BHT90
realnum deriv_HeatH2Dexc_BHT90
Definition: hmi.h:148
t_atmdat::lgCTOn
bool lgCTOn
Definition: atmdat.h:177
iterations.h
t_DoppVel::lgTurb_pressure
bool lgTurb_pressure
Definition: doppvel.h:33
t_pressure::lgLineRadPresOn
bool lgLineRadPresOn
Definition: pressure.h:157
continuum
t_continuum continuum
Definition: continuum.cpp:5
t_colden::Si2Colden
realnum Si2Colden[5]
Definition: colden.h:73
t_dense::SetGasPhaseDensity
void SetGasPhaseDensity(const long nelem, const realnum density)
Definition: dense.cpp:86
state.h
t_conv::nTotalFailures
long int nTotalFailures
Definition: conv.h:205
opacity.h
t_timesc::time_H2_Form_longest
double time_H2_Form_longest
Definition: timesc.h:36
called.h
t_atmdat::CharExcRecTo
double CharExcRecTo[NCX][LIMELM][LIMELM+1]
Definition: atmdat.h:153
t_dark_matter::r_200
double r_200
Definition: dark_matter.h:10
t_thermal::FreeFreeTotHeat
double FreeFreeTotHeat
Definition: thermal.h:161
t_hmi::h2plus_heat
double h2plus_heat
Definition: hmi.h:39
t_hmi::hmitot
double hmitot
Definition: hmi.h:25
t_iterations::iter_malloc
long int iter_malloc
Definition: iterations.h:29
continuum.h
oxy.h
t_DoppVel::lgTurbEquiMag
bool lgTurbEquiMag
Definition: doppvel.h:37
h2.h
t_ionbal::lgGrainIonRecom
int lgGrainIonRecom
Definition: ionbal.h:228
fnzone
double fnzone
Definition: cddefines.cpp:15
N_OI_LEVELS
const int N_OI_LEVELS
Definition: atoms.h:236
t_dynamics::Upstream_density
realnum Upstream_density
Definition: dynamics.h:169
t_mole_global::lgH2Ozer
bool lgH2Ozer
Definition: mole.h:283
t_colden::C3Colden
realnum C3Colden[4]
Definition: colden.h:69
t_geometry::FillFac
realnum FillFac
Definition: geometry.h:19
t_oxy::d6300
realnum d6300
Definition: oxy.h:20
dark
t_dark_matter dark
Definition: dark_matter.cpp:5
t_mole_global::lgFederman
bool lgFederman
Definition: mole.h:288
t_ca::Ca4p
realnum Ca4p
Definition: ca.h:31
t_geometry::lgStaticNoIt
bool lgStaticNoIt
Definition: geometry.h:74
ipCRDW
const int ipCRDW
Definition: cddefines.h:294
ipCRD
const int ipCRD
Definition: cddefines.h:292
t_yield::reset_yield
void reset_yield()
Definition: yield.h:79
GrainZero
void GrainZero(void)
Definition: grains.cpp:500
NISO
const int NISO
Definition: cddefines.h:261
t_isoCTRL::lgInd2nu_On
bool lgInd2nu_On
Definition: iso.h:355
warnings.h
t_hydro::xLymanPumpingScaleFactor
realnum xLymanPumpingScaleFactor
Definition: hydrogenic.h:116
t_atmdat::HCharHeatMax
double HCharHeatMax
Definition: atmdat.h:154
t_hmi::HD_total
double HD_total
Definition: hmi.h:18
t_ionbal::lgPhotoIoniz_On
bool lgPhotoIoniz_On
Definition: ionbal.h:116
t_radius::lgCylnOn
bool lgCylnOn
Definition: radius.h:121
t_radius::Radius_mid_zone
double Radius_mid_zone
Definition: radius.h:28
t_conv::chSolverTemp
char chSolverTemp[20]
Definition: conv.h:249
t_oxy::poiii2
realnum poiii2
Definition: oxy.h:9
input.h
carb.h
t_rfield::lgSaveOpacityFine
bool lgSaveOpacityFine
Definition: rfield.h:423
t_hmi::HeatH2Dish_BHT90
double HeatH2Dish_BHT90
Definition: hmi.h:132
mole_global
t_mole_global mole_global
Definition: mole.cpp:6
t_he::nzone
long nzone
Definition: he.h:20
t_thermal::totcol
double totcol
Definition: thermal.h:110
t_pressure::gravity_symmetry
int gravity_symmetry
Definition: pressure.h:124
atomfeii.h
t_ionbal::RateIoniz
double *** RateIoniz
Definition: ionbal.h:184
DEBUG_ENTRY
#define DEBUG_ENTRY(funcname)
Definition: cddefines.h:684
t_radius::lgDrMnOn
bool lgDrMnOn
Definition: radius.h:136
t_hydro::TLyaMax
realnum TLyaMax
Definition: hydrogenic.h:72
ipH_LIKE
const int ipH_LIKE
Definition: iso.h:62
oxy
t_oxy oxy
Definition: oxy.cpp:5
t_hmi::H2_Solomon_dissoc_rate_BD96_H2s
double H2_Solomon_dissoc_rate_BD96_H2s
Definition: hmi.h:101
t_abund::ScaleMetals
realnum ScaleMetals
Definition: abund.h:106
t_NumDeriv::lgNumDeriv
bool lgNumDeriv
Definition: numderiv.h:9
t_hmi::Tad
realnum Tad
Definition: hmi.h:124
t_dense::xMassTotal
realnum xMassTotal
Definition: dense.h:107
t_ionbal::CompRecoilHeatRate
double ** CompRecoilHeatRate
Definition: ionbal.h:164
SMALLFLOAT
const realnum SMALLFLOAT
Definition: cpu.h:191
t_hmi::H2_photodissoc_BHT90
double H2_photodissoc_BHT90
Definition: hmi.h:113
t_geometry::nend
long int * nend
Definition: geometry.h:80
t_dark_matter::r_s
double r_s
Definition: dark_matter.h:11
HeatZero
void HeatZero(void)
Definition: heat_sum.cpp:928
t_hmi::H2_Solomon_dissoc_rate_TH85_H2s
double H2_Solomon_dissoc_rate_TH85_H2s
Definition: hmi.h:99
t_colden::C2Colden
realnum C2Colden[5]
Definition: colden.h:65
t_hmi::H2_total_f
realnum H2_total_f
Definition: hmi.h:17
ca.h
mean.h