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