cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
radius_increment.cpp
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2022 by Gary J. Ferland and
2  * others. For conditions of distribution and use see copyright notice in license.txt */
3 /*radius_increment do work associated with geometry increments of this zone, called before RT_tau_inc */
4 #include "cddefines.h"
5 #include "iso.h"
6 #include "hydrogenic.h"
7 #include "colden.h"
8 #include "geometry.h"
9 #include "iterations.h"
10 #include "opacity.h"
11 #include "thermal.h"
12 #include "dense.h"
13 #include "h2.h"
14 #include "timesc.h"
15 #include "hmi.h"
16 #include "taulines.h"
17 #include "trace.h"
18 #include "wind.h"
19 #include "phycon.h"
20 #include "pressure.h"
21 #include "grainvar.h"
22 #include "molcol.h"
23 #include "conv.h"
24 #include "hyperfine.h"
25 #include "mean.h"
26 #include "struc.h"
27 #include "radius.h"
28 #include "gravity.h"
29 #include "mole.h"
30 #include "rfield.h"
31 #include "doppvel.h"
32 #include "freebound.h"
33 #include "dynamics.h"
34 
35 void radius_increment(void)
36 {
37 
38  long int nelem,
39  ion,
40  nzone_minus_1 ,
41  mol;
42  double
43  avWeight,
44  t;
45 
46  double ajmass,
47  Error;
48 
49  DEBUG_ENTRY( "radius_increment()" );
50 
51  /* when this sub is called radius is the outer edge of zone */
52 
53  /* save information about structure of model
54  * first zone is 1 but array starts at 0 - nzone_minus_1 is current zone
55  * max nzone because abort during search phase gets here with nzone = -1 */
56  nzone_minus_1 = MAX2( 0, nzone-1 );
57  ASSERT(nzone_minus_1>=0 && nzone_minus_1 < struc.nzlim );
58 
59  struc.heatstr[nzone_minus_1] = thermal.htot - dynamics.Heat();
60  struc.coolstr[nzone_minus_1] = thermal.ctot - dynamics.Cool();
61  struc.testr[nzone_minus_1] = (realnum)phycon.te;
62 
63  /* number of particles per unit vol */
64  struc.DenParticles[nzone_minus_1] = dense.pden;
65  /* rjrw: add hden for dilution */
66  struc.hden[nzone_minus_1] = (realnum)dense.gas_phase[ipHYDROGEN];
67  /* total grams per unit vol */
68  struc.DenMass[nzone_minus_1] = dense.xMassDensity;
69  struc.volstr[nzone_minus_1] = (realnum)radius.dVeffAper;
70  struc.drad[nzone_minus_1] = (realnum)radius.drad;
72  struc.histr[nzone_minus_1] = dense.xIonDense[ipHYDROGEN][0];
73  struc.hiistr[nzone_minus_1] = dense.xIonDense[ipHYDROGEN][1];
74  struc.ednstr[nzone_minus_1] = (realnum)dense.eden;
75  struc.o3str[nzone_minus_1] = dense.xIonDense[ipOXYGEN][2];
76  struc.pressure[nzone_minus_1] = (realnum)pressure.PresTotlCurr;
77  struc.windv[nzone_minus_1] = (realnum)wind.windv;
79  struc.AccelGravity[nzone_minus_1] = wind.AccelGravity;
81  struc.GasPressure[nzone_minus_1] = (realnum)pressure.PresGasCurr;
82  struc.depth[nzone_minus_1] = (realnum)radius.depth;
83  /* save absorption optical depth from illuminated face to current position */
84  struc.xLyman_depth[nzone_minus_1] = opac.TauAbsFace[iso_sp[ipH_LIKE][ipHYDROGEN].fb[ipH1s].ipIsoLevNIonCon];
85  for( nelem=ipHYDROGEN; nelem<LIMELM; ++nelem)
86  {
87  struc.gas_phase[nzone_minus_1][nelem] = dense.gas_phase[nelem];
88  for( ion=0; ion<nelem+2; ++ion )
89  {
90  struc.xIonDense[nzone_minus_1][nelem][ion] = dense.xIonDense[nelem][ion];
91  }
92  }
93  for( long ipISO=ipH_LIKE; ipISO<NISO; ++ipISO )
94  {
95  for( nelem=ipISO; nelem<LIMELM; ++nelem)
96  {
97  if( dense.lgElmtOn[nelem] )
98  {
99  for( long level=0; level < iso_sp[ipISO][nelem].numLevels_max; ++level )
100  {
101  struc.StatesElem[nzone_minus_1][nelem][nelem-ipISO][level] = (realnum)iso_sp[ipISO][nelem].st[level].Pop();
102  }
103  }
104  }
105  }
106 
107  /* the hydrogen molecules */
108  for(mol=0;mol<mole_global.num_calc;mol++)
109  {
110  struc.molecules[nzone_minus_1][mol] = (realnum) mole.species[mol].den;
111  }
112  struc.H2_abund[nzone_minus_1] = hmi.H2_total;
113 
114  // during abort many quantities used in this routine are in ill-defined
115  // state - safer to do nothing here
116  if( lgAbort )
117  {
118  return;
119  }
120 
121  if( trace.lgTrace )
122  {
123  fprintf( ioQQQ,
124  " radius_increment called; radius=%10.3e rinner=%10.3e DRAD=%10.3e drNext=%10.3e ROUTER=%10.3e DEPTH=%10.3e\n",
127  }
128 
129  /* remember mean and largest errors on electron density */
130  Error = fabs(dense.eden - dense.EdenTrue)/SDIV(dense.EdenTrue);
131  if( Error > conv.BigEdenError )
132  {
133  conv.BigEdenError = (realnum)Error;
135  }
136  conv.AverEdenError += (realnum)Error;
137 
140 
141  /* remember mean and largest errors between heating and cooling */
142  Error = fabs(thermal.ctot - thermal.htot) / thermal.ctot;
144  conv.AverHeatCoolError += (realnum)Error;
145 
146  /* remember mean and largest pressure errors */
147  Error = fabs(pressure.PresTotlError);
149  conv.AverPressError += (realnum)Error;
150 
151  /* integrate total mass over model (relative to 4pi rinner^2) */
153 
154  /* check cooling time for this zone, remember longest */
156  thermal.ctot);
157 
158  /* H 21 cm equilibrium timescale, H21cm returns H (not e) collisional
159  * deexcitation rate (not cs) */
161  /* >>chng 02 feb 14, add electron term as per discussion in */
162  /* >>refer H1 21cm Liszt, H., 2001, A&A, 371, 698 */
164 
165  /* only update time scale if t is significant */
166  if( t > SMALLFLOAT )
167  timesc.TimeH21cm = MAX2( 1./t, timesc.TimeH21cm );
168 
169  /* remember longest CO timescale */
170  if( (double)dense.xIonDense[ipCARBON][0]*(double)dense.xIonDense[ipOXYGEN][0] > SMALLFLOAT )
171  {
172  int ipCO = findspecies("CO")->index;
173  /* this is rate CO is destroyed, equal to formation rate in equilibrium */
174  if (ipCO != -1)
176  }
177 
178  /* remember longest H2 destruction timescale timescale */
180 
181  /* remember longest H2 formation timescale timescale */
183 
184  /* increment counter if this zone possibly thermally unstable
185  * this flag was set in conv_temp_eden_ioniz.cpp,
186  * derivative of heating and cooling negative */
187  if( thermal.lgUnstable )
188  thermal.nUnstable += 1;
189 
190  /* remember Stromgren radius - where hydrogen ionization falls below half */
192  {
194  rfield.lgUSphON = true;
195  }
196 
197  /* remember the largest value */
199 
200  /* keep track of average acceleration */
203 
204  /* following is integral of radiative force */
207  /*fprintf(ioQQQ," debuggg pinzon %.2f %.2e %.2e %.2e\n",
208  fnzone,pressure.pinzon,dense.xMassDensity,wind.AccelTotalOutward);*/
210 
211  // the integrated acceleration due to electron scattering, neglecting
212  // absorption
213  static realnum AccelElecScatZone1;
214  if( nzone == 1 )
215  AccelElecScatZone1 = wind.AccelElectron;
219 
220  /* integrate gravitational pressure term */
223 
224  /* sound is sound travel time, sqrt term is sound speed */
226  /* adiabatic sound speed assuming mono-atomic gas - gamma is 5/3*/
229 
230  /* save largest relative change in heating or cooling between this
231  * iteration and previous iteration at this zone
232  * may be used to set time step in time dependent sims
233  * nzonePreviousIteration is number of zones in previous iteration,
234  * 1 if only 1 done, while nzone_minus_1 is 1 on first zone */
235  if( iteration > 1 && nzone_minus_1 < struc.nzonePreviousIteration )
236  {
237  /* set largest relative changes in heating/cooling between current
238  * and previous zones */
240  fabs( (phycon.te-struc.testr[nzone_minus_1])/phycon.te);
241 
242  struc.TempChangeMax = MAX2( struc.TempChangeMax , TempChange );
243  }
244  else
245  {
246  /* zero out on first iteration */
247  struc.TempChangeMax = 0.;
248  }
249  /*fprintf(ioQQQ,"DEBUG radius_increment iteration %li Heat %.2e Cool %.2e change max \n",
250  iteration , struc.HeatChangeMax , struc.CoolChangeMax);*/
251 
256 
257  // column densities of all states
258  for( unsigned i = 0; i < mole.species.size(); ++i )
259  {
260  if( mole.species[i].levels != NULL )
261  {
262  for( qList::iterator st = mole.species[i].levels->begin(); st != mole.species[i].levels->end(); ++st )
263  {
264  (*st).ColDen() += radius.drad_x_fillfac * (*st).Pop();
265  }
266  }
267  }
268 
269  /* integral of n(H0) / Tspin - related to 21 cm optical depth*/
272 
273  /* >>chng 05 Mar 07, add integral of n(OH) / Tspin */
275 
276  /* this is Lya excitation temperature */
278 
279  /* count number of times Lya excitation temp hotter than gas */
280  if( hydro.TexcLya > phycon.te )
281  {
282  hydro.nLyaHot += 1;
283  if( hydro.TexcLya > hydro.TLyaMax )
284  {
287  hydro.nZTLaMax = nzone;
288  }
289  }
290 
291  /* column densities in various species */
294  /* >>chng 02 sep 20, from htwo to H2_total */
295  /* >>chng 05 mar 14, rather than H2_total, give H2g and H2s */
296  /* this is a special form of column density - should be proportional to total shielding */
298 
300 
301  /* the ortho and para column densities */
304  if( hmi.H2_total > SMALLFLOAT )
305  ASSERT( fabs( h2.ortho_density + h2.para_density - hmi.H2_total ) / hmi.H2_total < 1e-4 );
306  /*fprintf(ioQQQ,"DEBUG ortho para\t%.3e\t%.3e\ttot\t%.3e\t or pa colden\t%.3e\t%.3e\n",
307  h2.ortho_density, h2.para_density,hmi.H2_total,
308  h2.ortho_colden , h2.para_colden);*/
309 
310  /*>>chng 27mar, GS, Column density of F=0 and F=1 levels of H0*/
311  colden.H0_21cm_upper += ((*HFLines[0].Hi()).Pop()*radius.drad_x_fillfac);
312  colden.H0_21cm_lower += ((*HFLines[0].Lo()).Pop()*radius.drad_x_fillfac);
313  if (0)
314  fprintf(ioQQQ,"DEBUG %g %g %g %g\n",colden.H0_21cm_upper,colden.H0_21cm_lower,
315  (*HFLines[0].Hi()).ColDen(),(*HFLines[0].Lo()).ColDen());
316  /*fprintf(ioQQQ,"DEBUG pophi-poplo\t%.3e\t%.3e\radius\t%.3e\t col_hi\t%.3e\t%.3e\n",
317  HFLines[0].PopHi, HFLines[0].PopLo, radius.drad_x_fillfac,
318  HFLines[0].PopHi*radius.drad_x_fillfac,colden.H0_21cm_upper );*/
319 
320  /* now add total molecular column densities */
321  molcol("ADD ",ioQQQ);
322 
323  /* increment forming the mean ionization and temperature */
324  mean.MeanInc();
325 
326  /*-----------------------------------------------------------------------*/
327 
328  /* calculate average atomic weight per hydrogen of the plasma */
329  avWeight = 0.;
330  for( nelem=0; nelem < LIMELM; nelem++ )
331  {
332  avWeight += dense.gas_phase[nelem]*dense.AtomicWeight[nelem];
333  }
334  avWeight /= dense.gas_phase[ipHYDROGEN];
335 
336  /* compute some average grain properties */
341  for( size_t nd=0; nd < gv.bin.size(); nd++ )
342  {
343  /* this is total extinction in magnitudes at V and B, for a point source
344  * total absorption and scattering,
345  * does not discount forward scattering to be similar to stellar extinction
346  * measurements made within ism */
347  rfield.opac_mag_B_point += (gv.bin[nd]->dstab1[rfield.ipB_filter-1] +
348  gv.bin[nd]->pure_sc1[rfield.ipB_filter-1])*double(gv.bin[nd]->dstAbund)*
349  double(dense.gas_phase[ipHYDROGEN]) * OPTDEP2EXTIN;
350 
351  rfield.opac_mag_V_point += (gv.bin[nd]->dstab1[rfield.ipV_filter-1] +
352  gv.bin[nd]->pure_sc1[rfield.ipV_filter-1])*double(gv.bin[nd]->dstAbund)*
353  double(dense.gas_phase[ipHYDROGEN]) * OPTDEP2EXTIN;
354 
355  /* this is total extinction in magnitudes at V and B, for an extended source
356  * total absorption and scattering,
357  * DOES discount forward scattering to apply for extended source like Orion */
358  rfield.opac_mag_B_extended += (gv.bin[nd]->dstab1[rfield.ipB_filter-1] +
359  gv.bin[nd]->pure_sc1[rfield.ipB_filter-1]*gv.bin[nd]->asym[rfield.ipB_filter-1])*
360  double(gv.bin[nd]->dstAbund)*double(dense.gas_phase[ipHYDROGEN]) * OPTDEP2EXTIN;
361 
362  rfield.opac_mag_V_extended += (gv.bin[nd]->dstab1[rfield.ipV_filter-1] +
363  gv.bin[nd]->pure_sc1[rfield.ipV_filter-1]*gv.bin[nd]->asym[rfield.ipV_filter-1])*
364  double(gv.bin[nd]->dstAbund)*double(dense.gas_phase[ipHYDROGEN]) * OPTDEP2EXTIN;
365 
366  gv.bin[nd]->avdust += gv.bin[nd]->tedust*(realnum)radius.drad_x_fillfac;
367  gv.bin[nd]->avdft += gv.bin[nd]->DustDftVel*(realnum)radius.drad_x_fillfac;
368  gv.bin[nd]->avdpot += (realnum)(gv.bin[nd]->dstpot*EVRYD*radius.drad_x_fillfac);
369  gv.bin[nd]->avDGRatio += (realnum)(gv.bin[nd]->dustp[1]*gv.bin[nd]->dustp[2]*
370  gv.bin[nd]->dustp[3]*gv.bin[nd]->dustp[4]*gv.bin[nd]->dstAbund/avWeight*
372  }
373 
374  // doing the update outside the loop not only safes a few cycles, but also
375  // minimizes the chance of the update getting lost in the numerical precision
376  // that could lead to the sim never hitting A_V to go, and getting indefinitely
377  // stuck at an epsilon distance before the requested A_V instead...
382 
383  /* there are some quantities needed to calculation the Jeans mass and radius */
387 
388  /* now find minimum Jeans length and mass; length in cm */
389  double meanDensity = double(dense.xMassDensity)*geometry.FillFac;
390  double rjeans = (log10(JEANS)+phycon.alogte - log10(dense.wmole) -
391  log10(meanDensity))/2.;
392 
393  /* minimum Jeans mass in gm */
394  // 0.30103 is log10(2.)
395  ajmass = 3.*(rjeans - 0.30103) + log10(4.*PI/3.*meanDensity);
396 
397  /* now remember smallest */
398  colden.rjnmin = MIN2(colden.rjnmin,(realnum)rjeans);
399  colden.ajmmin = MIN2(colden.ajmmin,(realnum)ajmass);
400 
401  if( trace.lgTrace )
402  {
403  fprintf( ioQQQ, " radius_increment returns\n" );
404  }
405  return;
406 }
realnum * hden
Definition: struc.h:25
t_mole_global mole_global
Definition: mole.cpp:7
double TexcLine(const TransitionProxy &t)
Definition: transition.cpp:207
double Radius
Definition: radius.h:31
double depth
Definition: radius.h:31
double htot
Definition: thermal.h:169
long int nzEdenBad
Definition: dense.h:211
t_thermal thermal
Definition: thermal.cpp:6
t_colden colden
Definition: colden.cpp:5
realnum PresInteg
Definition: pressure.h:69
double EdenMax
Definition: dense.h:204
double Cool()
Definition: dynamics.cpp:2207
realnum * windv
Definition: struc.h:25
double opac_mag_B_extended
Definition: rfield.h:265
t_opac opac
Definition: opacity.cpp:5
int num_calc
Definition: mole.h:362
t_struc struc
Definition: struc.cpp:6
t_hyperfine hyperfine
Definition: hyperfine.cpp:5
const realnum SMALLFLOAT
Definition: cpu.h:246
double opac_mag_V_point
Definition: rfield.h:265
const int NISO
Definition: cddefines.h:311
double H21cm_H_atom(double temp)
double time_H2_Form_here
Definition: timesc.h:48
realnum PresIntegElecThin
Definition: pressure.h:75
double IntegRhoGravity
Definition: pressure.h:83
const int ipOXYGEN
Definition: cddefines.h:356
double ortho_colden
Definition: h2_priv.h:335
realnum BigHeatCoolError
Definition: conv.h:174
t_conv conv
Definition: conv.cpp:5
realnum * ednstr
Definition: struc.h:25
realnum tmas
Definition: colden.h:61
TransitionList HFLines("HFLines",&AnonStates)
realnum ** molecules
Definition: struc.h:71
t_phycon phycon
Definition: phycon.cpp:6
long int nLyaHot
Definition: hydrogenic.h:106
realnum AccelAver
Definition: wind.h:46
double TimeH21cm
Definition: timesc.h:64
realnum AverPressError
Definition: conv.h:179
realnum * volstr
Definition: struc.h:25
realnum BigPressError
Definition: conv.h:178
realnum ajmmin
Definition: colden.h:59
vector< double > StopThickness
Definition: iterations.h:77
realnum AccelElectron
Definition: wind.h:58
double * heatstr
Definition: struc.h:78
FILE * ioQQQ
Definition: cddefines.cpp:7
realnum AverHeatCoolError
Definition: conv.h:175
molezone * findspecieslocal(const char buf[])
realnum FillFac
Definition: geometry.h:29
long int nzone
Definition: cddefines.cpp:14
realnum rjnmin
Definition: colden.h:59
t_dynamics dynamics
Definition: dynamics.cpp:42
double EdenMin
Definition: dense.h:204
vector< freeBound > fb
Definition: iso.h:481
#define MIN2(a, b)
Definition: cddefines.h:803
double PresTotlCurr
Definition: pressure.h:46
void TempChange(double TempNew, bool lgForceUpdate)
Definition: temp_change.cpp:32
double * coolstr
Definition: struc.h:78
double pres_radiation_lines_curr
Definition: pressure.h:61
t_dense dense
Definition: global.cpp:15
double BigCOMoleForm
Definition: timesc.h:48
realnum * AccelGravity
Definition: struc.h:25
double time_H2_Dest_longest
Definition: timesc.h:48
t_iso_sp iso_sp[NISO][LIMELM]
Definition: iso.cpp:11
realnum * DenMass
Definition: struc.h:25
realnum AccelMax
Definition: wind.h:68
double Heat()
Definition: dynamics.cpp:2193
double dVeffVol
Definition: radius.h:87
Wind wind
Definition: wind.cpp:5
double xIonDense[LIMELM][LIMELM+1]
Definition: dense.h:135
long int iteration
Definition: cddefines.cpp:16
t_trace trace
Definition: trace.cpp:5
double ortho_density
Definition: h2_priv.h:326
double H21cm_electron(double temp)
bool lgUnstable
Definition: thermal.h:65
long int nUnstable
Definition: thermal.h:64
double drad
Definition: radius.h:31
realnum wmas
Definition: colden.h:61
realnum TempChangeMax
Definition: struc.h:61
double rinner
Definition: radius.h:31
realnum AccelGravity
Definition: wind.h:49
t_geometry geometry
Definition: geometry.cpp:5
realnum pinzon
Definition: pressure.h:69
realnum * depth
Definition: struc.h:25
realnum pden
Definition: dense.h:108
double sound_speed_isothermal
Definition: timesc.h:55
double RhoGravity
Definition: pressure.h:82
double para_density
Definition: h2_priv.h:326
double dlnenCp
Definition: colden.h:49
const int ipH1s
Definition: iso.h:29
bool lgTrace
Definition: trace.h:12
void MeanInc()
Definition: mean.cpp:71
realnum * GasPressure
Definition: struc.h:25
double H0_21cm_lower
Definition: colden.h:67
t_mole_local mole
Definition: mole.cpp:8
molecule * findspecies(const char buf[])
realnum * drad
Definition: struc.h:25
double EdenTrue
Definition: dense.h:232
t_pressure pressure
Definition: pressure.cpp:9
t_rfield rfield
Definition: rfield.cpp:9
double dlnenHep
Definition: colden.h:43
t_mean mean
Definition: mean.cpp:16
float realnum
Definition: cddefines.h:124
valarray< class molezone > species
Definition: mole.h:468
realnum **** StatesElem
Definition: struc.h:67
double H0_21cm_upper
Definition: colden.h:66
realnum AccelTotalOutward
Definition: wind.h:52
double H0_ov_Tspin
Definition: colden.h:52
double OH_ov_Tspin
Definition: colden.h:55
double opac_mag_B_point
Definition: rfield.h:265
t_hydro hydro
Definition: hydrogenic.cpp:5
realnum DirectionalCosin
Definition: geometry.h:25
int index
Definition: mole.h:194
double time_H2_Dest_here
Definition: timesc.h:48
realnum * TauAbsFace
Definition: opacity.h:100
diatomics h2("h2", 4100.,&hmi.H2_total, Yan_H2_CS)
realnum GetDopplerWidth(realnum massAMU)
t_iterations iterations
Definition: iterations.cpp:6
realnum rstrom
Definition: rfield.h:357
double PresGasCurr
Definition: pressure.h:46
double PresTotlError
Definition: pressure.h:46
void molcol(const char *chLabel, FILE *ioMEAN)
Definition: molcol.cpp:11
realnum * DenParticles
Definition: struc.h:25
realnum * H2_abund
Definition: struc.h:71
t_radius radius
Definition: radius.cpp:5
t_timesc timesc
Definition: timesc.cpp:7
bool lgElmtOn[LIMELM]
Definition: dense.h:160
realnum TotMassColl
Definition: colden.h:61
realnum TeLyaMax
Definition: hydrogenic.h:109
double extin_mag_V_point
Definition: rfield.h:258
void radius_increment(void)
long int nzlim
Definition: struc.h:19
realnum gas_phase[LIMELM]
Definition: dense.h:76
double dlnenp
Definition: colden.h:40
realnum wmole
Definition: dense.h:111
long int ipV_filter
Definition: rfield.h:240
const int ipH2p
Definition: iso.h:31
realnum AtomicWeight[LIMELM]
Definition: dense.h:80
#define ASSERT(exp)
Definition: cddefines.h:613
realnum * drad_x_fillfac
Definition: struc.h:25
double sound_speed_adiabatic
Definition: timesc.h:58
double sound
Definition: timesc.h:40
double Tspin21cm
Definition: hyperfine.h:56
long int nZTLaMax
Definition: hydrogenic.h:114
double extin_mag_B_point
Definition: rfield.h:258
realnum * AccelTotalOutward
Definition: struc.h:25
double extin_mag_V_extended
Definition: rfield.h:262
void GravitationalPressure(void)
Definition: gravity.cpp:13
const int ipH_LIKE
Definition: iso.h:64
realnum coldenH2_ov_vel
Definition: colden.h:37
const int LIMELM
Definition: cddefines.h:308
double drad_x_fillfac
Definition: radius.h:77
double opac_mag_V_extended
Definition: rfield.h:265
double den
Definition: mole.h:421
#define DEBUG_ENTRY(funcname)
Definition: cddefines.h:723
const int ipHELIUM
Definition: cddefines.h:350
realnum TexcLya
Definition: hydrogenic.h:103
realnum xMassDensity
Definition: dense.h:101
vector< GrainBin * > bin
Definition: grainvar.h:583
realnum ** gas_phase
Definition: struc.h:75
double H2_total
Definition: hmi.h:25
realnum AverEdenError
Definition: conv.h:171
realnum * histr
Definition: struc.h:25
double eden
Definition: dense.h:201
double extin_mag_B_extended
Definition: rfield.h:262
realnum xMassTotal
Definition: dense.h:117
realnum * xLyman_depth
Definition: struc.h:25
#define MAX2(a, b)
Definition: cddefines.h:824
int fprintf(const Output &stream, const char *format,...)
Definition: service.cpp:1121
long int ipB_filter
Definition: rfield.h:240
sys_float SDIV(sys_float x)
Definition: cddefines.h:1002
double para_colden
Definition: h2_priv.h:335
double alogte
Definition: phycon.h:92
const int ipCARBON
Definition: cddefines.h:354
double dlnenHepp
Definition: colden.h:46
long int numLevels_max
Definition: iso.h:524
realnum pinzon_PresIntegElecThin
Definition: pressure.h:75
realnum * testr
Definition: struc.h:25
GrainVar gv
Definition: grainvar.cpp:5
t_hmi hmi
Definition: hmi.cpp:5
double r1r0sq
Definition: radius.h:31
bool lgUSphON
Definition: rfield.h:355
double te
Definition: phycon.h:21
long int nzonePreviousIteration
Definition: struc.h:22
double time_H2_Form_longest
Definition: timesc.h:48
double time_therm_long
Definition: timesc.h:29
const int ipHYDROGEN
Definition: cddefines.h:349
realnum BigEdenError
Definition: conv.h:213
realnum * hiistr
Definition: struc.h:25
realnum acldr
Definition: wind.h:46
realnum colden[NCOLD]
Definition: colden.h:32
realnum *** xIonDense
Definition: struc.h:64
realnum TLyaMax
Definition: hydrogenic.h:109
realnum windv
Definition: wind.h:18
realnum * o3str
Definition: struc.h:25
double dVeffAper
Definition: radius.h:93
bool lgAbort
Definition: cddefines.cpp:10
double drNext
Definition: radius.h:67
realnum * pressure
Definition: struc.h:25
double ctot
Definition: thermal.h:130
realnum * pres_radiation_lines_curr
Definition: struc.h:25