cloudy trunk
Loading...
Searching...
No Matches
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;
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.
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
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
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 */
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.;
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 */
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 */
202
203 // pressure does not vary with time by default
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 */
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*/
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.);
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 */
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 */
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 */
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;
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();
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
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 */
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
647 {
649 {
650 rfield.tNu[rfield.ipSpec].clear();
651 rfield.tslop[rfield.ipSpec].clear();
652 rfield.tFluxLog[rfield.ipSpec].clear();
654 }
655 }
656
658 grid.lgSaveXspec = false;
659 grid.nCycle = 1;
660
661 return;
662}
t_abund abund
Definition: abund.cpp:5
t_atmdat atmdat
Definition: atmdat.cpp:6
t_FeII FeII
Definition: atomfeii.cpp:5
const int ipOXYGEN
Definition: cddefines.h:312
const int LIMELM
Definition: cddefines.h:258
const int NISO
Definition: cddefines.h:261
float realnum
Definition: cddefines.h:103
const int ipHYDROGEN
Definition: cddefines.h:305
#define DEBUG_ENTRY(funcname)
Definition: cddefines.h:684
realnum & damp() const
Definition: emission.h:563
long int & ipFine() const
Definition: emission.h:413
int & iRedisFun() const
Definition: emission.h:403
realnum & gf() const
Definition: emission.h:513
realnum & Aul() const
Definition: emission.h:613
realnum & opacity() const
Definition: emission.h:593
realnum & dampXvel() const
Definition: emission.h:553
void set(double energy)
Definition: energy.h:19
bool lgMPISingleRankMode() const
Definition: cpu.h:324
long nCPU() const
Definition: cpu.h:321
t_cpu_i & i()
Definition: cpu.h:347
double DR_mean_scale[LIMELM]
Definition: ionbal.h:220
t_co co
Definition: co.cpp:5
t_continuum continuum
Definition: continuum.cpp:5
static t_cpu cpu
Definition: cpu.h:355
t_dense dense
Definition: dense.cpp:24
t_dynamics dynamics
Definition: dynamics.cpp:44
void EmLineZero(EmissionList::reference t)
Definition: emission.cpp:92
void TauZero(EmissionList::reference t)
Definition: emission.cpp:73
t_fudgec fudgec
Definition: fudgec.cpp:5
#define NFUDGC
Definition: fudgec.h:9
t_geometry geometry
Definition: geometry.cpp:5
t_grid grid
Definition: grid.cpp:5
t_hcmap hcmap
Definition: hcmap.cpp:21
t_hextra hextra
Definition: hextra.cpp:5
void InitDefaultsPreparse(void)
t_ionbal ionbal
Definition: ionbal.cpp:5
const int ipH_LIKE
Definition: iso.h:62
@ FORWARD
Definition: rfield.h:30
t_noexec noexec
Definition: noexec.cpp:5
t_opac opac
Definition: opacity.cpp:5
t_optimize optimize
Definition: optimize.cpp:5
t_phycon phycon
Definition: phycon.cpp:6
UNUSED const double HIONPOT
Definition: physconst.h:119
t_plotCom plotCom
Definition: plot.cpp:19
#define NDPLOT
Definition: plot.h:13
t_pressure pressure
Definition: pressure.cpp:5
t_prt prt
Definition: prt.cpp:10
t_radius radius
Definition: radius.cpp:5
t_rfield rfield
Definition: rfield.cpp:8
const int LIMSPC
Definition: rfield.h:18
t_rt rt
Definition: rt.cpp:5
#define LINE_CONT_SHIELD_FEDERMAN
Definition: rt.h:291
t_save save
Definition: save.cpp:5
static const long LIMPUN
Definition: save.h:11
t_StopCalc StopCalc
Definition: stopcalc.cpp:5
const realnum COLUMN_INIT
Definition: stopcalc.h:14
realnum fmul
Definition: wind.h:65
double DiskRadius
Definition: wind.h:78
realnum windv
Definition: wind.h:18
realnum acldr
Definition: wind.h:46
realnum dvdr
Definition: wind.h:21
realnum AccelAver
Definition: wind.h:46
bool lgVelPos
Definition: wind.h:71
realnum AccelTotalOutward
Definition: wind.h:52
bool lgDisk
Definition: wind.h:74
realnum AccelLine
Definition: wind.h:61
realnum emdot
Definition: wind.h:39
void setStatic(void)
Definition: wind.h:88
realnum AccelMax
Definition: wind.h:68
bool lgWindOK
Definition: wind.h:42
realnum AccelElectron
Definition: wind.h:58
realnum AccelCont
Definition: wind.h:55
realnum windv0
Definition: wind.h:11
realnum comass
Definition: wind.h:14
realnum AccelGravity
Definition: wind.h:49
long int nfe2con
Definition: atomfeii.h:241
realnum feconwlHi
Definition: atomfeii.h:239
realnum feconwlLo
Definition: atomfeii.h:239
bool lgStopSpeciesColumn
Definition: stopcalc.h:132
realnum StopVelocity
Definition: stopcalc.h:65
realnum TempHiStopIteration
Definition: stopcalc.h:38
realnum StopHPlusFrac
Definition: stopcalc.h:56
realnum TempHiStopZone
Definition: stopcalc.h:36
realnum AV_point
Definition: stopcalc.h:89
realnum HColStop
Definition: stopcalc.h:69
realnum StopElecFrac
Definition: stopcalc.h:48
realnum TempLoStopIteration
Definition: stopcalc.h:45
realnum col_H0_ov_Tspin
Definition: stopcalc.h:83
realnum col_monoxco
Definition: stopcalc.h:86
realnum TempLoStopZone
Definition: stopcalc.h:42
realnum StopH2MoleFrac
Definition: stopcalc.h:52
realnum colnut
Definition: stopcalc.h:71
realnum tauend
Definition: stopcalc.h:23
realnum StopDepleteFrac
Definition: stopcalc.h:61
double TeFloor
Definition: stopcalc.h:33
bool lgStop21cm
Definition: stopcalc.h:120
char chSpeciesColumn[CHARS_SPECIES]
Definition: stopcalc.h:133
realnum colpls
Definition: stopcalc.h:70
realnum AV_extended
Definition: stopcalc.h:89
long int iptnu
Definition: stopcalc.h:29
long int nstpl
Definition: stopcalc.h:109
realnum taunu
Definition: stopcalc.h:26
realnum col_h2
Definition: stopcalc.h:74
realnum xMass
Definition: stopcalc.h:77
long int nTotalIonizStop
Definition: stopcalc.h:127
realnum col_h2_nut
Definition: stopcalc.h:80
realnum col_species
Definition: stopcalc.h:134
realnum StopElecDensity
Definition: stopcalc.h:92
realnum SolarSave[LIMELM]
Definition: abund.h:46
long int npSolar
Definition: abund.h:91
bool lgAbunTabl[LIMELM]
Definition: abund.h:70
bool lgAbTaON
Definition: abund.h:76
realnum ScaleElement[LIMELM]
Definition: abund.h:94
long int ipSolar[LIMELM]
Definition: abund.h:90
realnum solar[LIMELM]
Definition: abund.h:65
bool lgAbnSolar
Definition: abund.h:57
bool lgChiantiHybrid
Definition: atmdat.h:233
const long nChiantiPhotoLevelsFe
Definition: atmdat.h:220
long nChiantiMaxLevels
Definition: atmdat.h:214
bool lgStoutHybrid
Definition: atmdat.h:243
long nChiantiMaxLevelsFe
Definition: atmdat.h:212
bool lgLamdaOn
Definition: atmdat.h:239
char chStoutFile[FILENAME_PATH_LENGTH]
Definition: atmdat.h:268
@ HYBRID
Definition: atmdat.h:259
bool lgGbarOn
Definition: atmdat.h:249
char chCloudyChiantiFile[FILENAME_PATH_LENGTH]
Definition: atmdat.h:271
bool lgStoutOn
Definition: atmdat.h:241
const long nChiantiPhotoLevels
Definition: atmdat.h:222
bool lgChiantiExp
Definition: atmdat.h:237
bool lgCollIonOn
Definition: atmdat.h:200
bool lgChiantiOn
Definition: atmdat.h:231
double collstrDefault
Definition: atmdat.h:254
bool lgCalpgmOn
Definition: atmdat.h:247
CollIonRC CIRCData
Definition: atmdat.h:260
long nStoutMaxLevels
Definition: atmdat.h:218
bool lgChiantiLevelsSet
Definition: atmdat.h:216
bool lgChiantiPrint
Definition: atmdat.h:235
bool lgStoutPrint
Definition: atmdat.h:245
realnum C12_C13_isotope_ratio_parsed
Definition: co.h:20
bool lgCheckEnergyEveryZone
Definition: continuum.h:130
double PressureVaryTimeTimescale
Definition: dense.h:168
bool lgDenFlucOn
Definition: dense.h:244
char chDenseLaw[5]
Definition: dense.h:158
realnum EdenSet
Definition: dense.h:203
realnum flong
Definition: dense.h:251
double PressureVaryTimeIndex
Definition: dense.h:170
realnum flcPhase
Definition: dense.h:254
bool lgDenseInitConstant
Definition: dense.h:162
bool lgAsChoose[LIMELM][LIMELM]
Definition: dense.h:176
realnum EdenExtra
Definition: dense.h:206
bool lgDenFlucRadius
Definition: dense.h:248
bool lgPressureVaryTime
Definition: dense.h:165
realnum EdenFraction
Definition: dense.h:209
realnum AbundanceLimit
Definition: dense.h:139
bool lg_coronal_time_init
Definition: dynamics.h:93
bool lgTracePrint
Definition: dynamics.h:177
long int nfudge
Definition: fudgec.h:17
realnum fudgea[NFUDGC]
Definition: fudgec.h:15
bool lgFudgeUsed
Definition: fudgec.h:19
realnum covaper
Definition: geometry.h:44
realnum size
Definition: geometry.h:67
realnum DirectionalCosin
Definition: geometry.h:15
bool lgSizeSet
Definition: geometry.h:70
bool lgSaveXspec
Definition: grid.h:37
long nCycle
Definition: grid.h:54
bool lgNegativeIncrements
Definition: grid.h:36
long int MapZone
Definition: hcmap.h:20
long int nMapStep
Definition: hcmap.h:26
realnum RangeMap[2]
Definition: hcmap.h:23
realnum crtemp
Definition: hextra.h:16
realnum crpowr
Definition: hextra.h:15
realnum TurbHeat
Definition: hextra.h:32
bool lgHextraSS
Definition: hextra.h:54
realnum cryden
Definition: hextra.h:14
bool lgHextraDensity
Definition: hextra.h:47
bool lg_CR_B_equipartition
Definition: hextra.h:19
realnum cryden_ov_background
Definition: hextra.h:25
double cr_energydensity
Definition: hextra.h:22
bool lgTurbHeatVaryTime
Definition: hextra.h:66
bool lgHextraDepth
Definition: hextra.h:39
bool lgNoExec
Definition: noexec.h:14
bool lgCaseB_HummerStorey
Definition: opacity.h:165
bool lgCaseB_no_photo
Definition: opacity.h:169
realnum tlamin
Definition: opacity.h:158
bool lgCaseB
Definition: opacity.h:161
bool lgCaseB_no_pdest
Definition: opacity.h:172
realnum taumin
Definition: opacity.h:154
bool lgParallel
Definition: optimize.h:259
vector< string > chColDen_label
Definition: optimize.h:208
vector< realnum > errorwave
Definition: optimize.h:219
vector< realnum > xLineInt_Obs
Definition: optimize.h:221
bool lgOptLum
Definition: optimize.h:255
vector< realnum > ColDen_Obs
Definition: optimize.h:210
bool lgOptDiam
Definition: optimize.h:232
long int nRangeSet
Definition: optimize.h:202
vector< Flux > ContNFnu
Definition: optimize.h:240
vector< long > ContIndex
Definition: optimize.h:238
vector< realnum > temp_error
Definition: optimize.h:228
bool lgTrOpt
Definition: optimize.h:252
long int nIterOptim
Definition: optimize.h:205
vector< realnum > temp_obs
Definition: optimize.h:227
vector< long > ionTemp
Definition: optimize.h:226
bool lgOptimFlow
Definition: optimize.h:248
char chOptRtn[5]
Definition: optimize.h:264
realnum optint
Definition: optimize.h:249
realnum optier
Definition: optimize.h:250
vector< string > chLineLabel
Definition: optimize.h:215
vector< chi2_type > ContNFnuErr
Definition: optimize.h:241
bool lgOptimize
Definition: optimize.h:253
long useCPU
Definition: optimize.h:261
vector< realnum > xLineInt_error
Definition: optimize.h:222
vector< string > chTempLab
Definition: optimize.h:225
vector< realnum > ColDen_error
Definition: optimize.h:211
bool lgOptCont
Definition: optimize.h:260
vector< Energy > ContEner
Definition: optimize.h:239
vector< realnum > wavelength
Definition: optimize.h:217
vector< string > chTempWeight
Definition: optimize.h:229
int nEmergent
Definition: optimize.h:214
vector< long > ipobs
Definition: optimize.h:220
vector< long > ion_ColDen
Definition: optimize.h:209
realnum OptGlobalErr
Definition: optimize.h:243
const double TEMP_LIMIT_HIGH
Definition: phycon.h:113
const double TEMP_STOP_DEFAULT
Definition: phycon.h:109
bool lgPlotON
Definition: plot.h:21
char chPType[NDPLOT][5]
Definition: plot.h:18
bool lgPltTrace[NDPLOT]
Definition: plot.h:30
bool lgPres_radiation_ON
Definition: pressure.h:130
double PressureInitialSpecified
Definition: pressure.h:98
bool lgPressureInitialSpecified
Definition: pressure.h:96
bool lgPres_ram_ON
Definition: pressure.h:132
bool lgContRadPresOn
Definition: pressure.h:105
bool lgPres_magnetic_ON
Definition: pressure.h:131
bool lgPrtLineLog
Definition: prt.h:221
bool lgSourceTransmitted
Definition: prt.h:167
bool lgPrnInwd
Definition: prt.h:150
realnum PrtTauFnt
Definition: prt.h:141
long int nzdump
Definition: prt.h:239
bool lgDiffuseOutward
Definition: prt.h:169
bool lgSurfaceBrightness
Definition: prt.h:138
bool lgPrnIsoCollapsed
Definition: prt.h:154
bool lgFntSet
Definition: prt.h:206
bool lgPrtShort
Definition: prt.h:178
bool lgPrintLineCumulative
Definition: prt.h:225
bool lgPrtTau
Definition: prt.h:130
bool lgPrtArry[LIMELM]
Definition: prt.h:195
bool lgPrtLastIt
Definition: prt.h:175
bool lgPrnColl
Definition: prt.h:149
bool lgDiffuseInward
Definition: prt.h:168
bool lgOnlyZone
Definition: prt.h:181
bool lgPrnPump
Definition: prt.h:147
bool lgOnlyHead
Definition: prt.h:183
bool lgPrintColumns
Definition: prt.h:116
bool lgPrtStart
Definition: prt.h:186
bool lgPrintFluxEarth
Definition: prt.h:134
realnum TooFaint
Definition: prt.h:201
bool lgPrnHeat
Definition: prt.h:148
bool lgPrtCitations
Definition: prt.h:242
bool lgPrintTime
Definition: prt.h:120
bool lgPrintHeating
Definition: prt.h:192
bool lgSourceReflected
Definition: prt.h:166
bool lgPrnAges
Definition: prt.h:123
long int nPrnLineCell
Definition: prt.h:213
bool lgPrtContIndices
Definition: prt.h:158
long int nstart
Definition: prt.h:189
bool lgPrtMaser
Definition: prt.h:127
bool lgSortLines
Definition: prt.h:101
bool lgPrnLineCell
Definition: prt.h:210
bool lgSurfaceBrightness_SR
Definition: prt.h:138
bool lgPrtLineArray
Definition: prt.h:217
bool lgFaintOn
Definition: prt.h:202
realnum glbrad
Definition: radius.h:130
realnum glbdst
Definition: radius.h:133
realnum drChange
Definition: radius.h:183
char chDffTrns[4]
Definition: rfield.h:236
bool lgOpacityFine
Definition: rfield.h:421
vector< realnum > tFluxLog[LIMSPC]
Definition: rfield.h:333
double RSFCheck[LIMSPC]
Definition: rfield.h:339
bool lgCMB_set
Definition: rfield.h:124
bool lgOutOnly
Definition: rfield.h:241
vector< Energy > tNu[LIMSPC]
Definition: rfield.h:330
bool lgTimeVary[LIMSPC]
Definition: rfield.h:306
bool lgGamrOK
Definition: rfield.h:462
realnum OpticalDepthScaleFactor[LIMSPC]
Definition: rfield.h:314
realnum ExtinguishLowEnergyLimit
Definition: rfield.h:101
long int ipSpec
Definition: rfield.h:323
bool lgContMalloc[LIMSPC]
Definition: rfield.h:343
bool lgComptonOn
Definition: rfield.h:295
bool lgXRayOK
Definition: rfield.h:461
realnum egamry
Definition: rfield.h:52
bool lgHPhtOK
Definition: rfield.h:460
bool lgMMok
Definition: rfield.h:459
bool lgBeamed[LIMSPC]
Definition: rfield.h:310
double range[LIMSPC][2]
Definition: rfield.h:347
vector< realnum > tslop[LIMSPC]
Definition: rfield.h:331
bool lgInducProcess
Definition: rfield.h:252
realnum ExtinguishColumnDensity
Definition: rfield.h:100
realnum ExtinguishLeakage
Definition: rfield.h:99
Illuminate::IlluminationType Illumination[LIMSPC]
Definition: rfield.h:316
realnum FluxFaint
Definition: rfield.h:55
int nLineContShield
Definition: rt.h:259
bool lgStarkON
Definition: rt.h:280
bool lgFLUSH
Definition: save.h:298
realnum ResolutionAbs
Definition: save.h:366
bool lg_separate_iterations[LIMPUN]
Definition: save.h:242
long int nSaveEveryZone[LIMPUN]
Definition: save.h:262
long int ncSaveSkip
Definition: save.h:354
long int nsave
Definition: save.h:222
bool lgDRPLst
Definition: save.h:336
bool lgHashEndIter[LIMPUN]
Definition: save.h:291
bool lgTraceConvergeBaseHash
Definition: save.h:341
char chHashString[INPUT_LINE_LENGTH]
Definition: save.h:295
char chSpeciesDominantRates[LIMPUN][CHARS_SPECIES]
Definition: save.h:368
bool lgSaveEveryZone[LIMPUN]
Definition: save.h:261
Energy emisfreq[LIMPUN]
Definition: save.h:371
long ipEmisFreq[LIMPUN]
Definition: save.h:372
bool lgDRHash
Definition: save.h:337
realnum WeakHeatCool
Definition: save.h:358
realnum Resolution
Definition: save.h:363
bool lgPunContinuum
Definition: save.h:251
realnum ConstGrainTemp
Definition: thermal.h:47
bool lgTLaw
Definition: thermal.h:68
bool lgTeHigh
Definition: thermal.h:60
bool lgTeSN99
Definition: thermal.h:80
bool lgTeBD96
Definition: thermal.h:72
bool lgTemperatureConstantCommandParsed
Definition: thermal.h:38
bool lgPredNextTe
Definition: thermal.h:28
bool lgTemperatureConstant
Definition: thermal.h:32
realnum ConstTemp
Definition: thermal.h:44
bool lgHeBug
Definition: trace.h:82
bool lgTrDiff
Definition: trace.h:70
bool lgTrace3Bod
Definition: trace.h:52
bool lgPtrace
Definition: trace.h:118
bool lgTrLevN
Definition: trace.h:31
bool lgNeBug
Definition: trace.h:115
bool lgOpacBug
Definition: trace.h:76
bool lgFeBug
Definition: trace.h:46
bool lgOTSBug
Definition: trace.h:103
bool lgBug2nu
Definition: trace.h:106
bool lgWind
Definition: trace.h:109
bool lgDrBug
Definition: trace.h:64
bool lgCoolTr
Definition: trace.h:112
long int nznbug
Definition: trace.h:15
int nTrConvg
Definition: trace.h:27
bool lgHeavyBug
Definition: trace.h:21
bool lgTraceMole
Definition: trace.h:55
bool lgHeatBug
Definition: trace.h:58
bool lgComBug
Definition: trace.h:37
bool lgDustBug
Definition: trace.h:79
bool lgCalBug
Definition: trace.h:94
bool lgTrace
Definition: trace.h:12
bool lgTrLine
Definition: trace.h:43
bool lgTrOvrd
Definition: trace.h:127
bool lgOptcBug
Definition: trace.h:49
bool lgTr8446
Definition: trace.h:73
long int npsbug
Definition: trace.h:18
bool lgIsoTraceFull[NISO]
Definition: trace.h:88
bool lgHBug
Definition: trace.h:85
bool lgSecIon
Definition: trace.h:130
bool lgNeonBug
Definition: trace.h:40
bool lgConBug
Definition: trace.h:100
bool lgESOURCE
Definition: trace.h:24
bool lgCarBug
Definition: trace.h:97
bool lgPointBug
Definition: trace.h:34
bool lgDrv_cdLine
Definition: trace.h:121
bool lgTrGant
Definition: trace.h:61
EmissionProxy DummyEmis
Definition: taulines.cpp:61
t_thermal thermal
Definition: thermal.cpp:5
t_trace trace
Definition: trace.cpp:5
Wind wind
Definition: wind.cpp:5