cloudy  trunk
prt_lines_lv1_li_ne.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 /*lines_lv1_li_ne place lines of elements lithium through neon into lines storage stack */
4 /*GetLineRec return recombination coefficient*hnu*eden*n_ion for C, N, or O recombination lines from Dima's list,
5  * also zero's line in master stack so not entered second time in later dump of all rec lines */
6 #include "cddefines.h"
7 #include "carb.h"
8 #include "nitro.h"
9 #include "oxy.h"
10 #include "coolheavy.h"
11 #include "atmdat.h"
12 #include "doppvel.h"
13 #include "ionbal.h"
14 #include "dense.h"
15 #include "phycon.h"
16 #include "physconst.h"
17 #include "atoms.h"
18 #include "mole.h"
19 #include "embesq.h"
20 #include "taulines.h"
21 #include "trace.h"
22 #include "lines_service.h"
23 #include "lines.h"
24 STATIC double GetLineRec(
25  /* this is the number of the emission line in the stack of lines, on the C scale */
26  long int ip,
27  /* the multiplet wavelength */
28  long int lWl);
29 
30 void lines_lv1_li_ne(void)
31 {
32  long int ipnt;
33  double
34  chem ,
35  corr,
36  ct4363,
37  ctRate,
38  efac,
39  effec,
40  efficn2,
41  fac,
42  HBeta ,
43  p386,
44  pump,
45  r4363,
46  r6584,
47  raten3,
48  rb,
49  rec,
50  rn3mor,
51  rn3tot,
52  rnii,
53  rp300,
54  rp386,
55  r12 ,
56  r13 ,
57  sum,
58  rate_OH_dissoc;
59  double rec7323 , rec7332, rec3730 , rec3726 , rec2471,
60  reco23tot , reco22tot;
61 
62  DEBUG_ENTRY( "lines_lv1_li_ne()" );
63 
64  if( trace.lgTrace )
65  {
66  fprintf( ioQQQ, " lines_lv1_li_ne called\n" );
67  }
68 
69  /* level 1 ines */
70  ipnt = StuffComment( "level 1 lines" );
71  linadd( 0., (realnum)ipnt , "####", 'i',
72  " start level 1 ines" );
73 
74  linadd(CoolHeavy.colmet,0,"Mion",'c',
75  " cooling due to collisional ionization of heavy elements" );
76 
77  /* lithium */
78 
79  /* beryllium */
80 
81  /* boron*/
82 
83  /* carbon*/
84 
85  /* >>chng 97 may 02, added better rec coefficient
86  * C I 1656 recombination, all agents */
87  //rec = GetLineRec(3,1657)*(1.-TauLines[ipT1656].Emis().ColOvTot());
88  rec = GetLineRec(3,1657)*emit_frac(TauLines[ipT1656]);
89  PutExtra(rec);
90 
92  " C 1 1656, collision strength from van Regemoter");
93 
94  linadd(rec,1656,"REC ",'i',
95  " C 1 1656 recomb; n.b. coll deexcitation not in" );
96 
97  PntForLine(9850.,"C 1",&ipnt);
98  lindst(carb.c9850,9850,"C Ic",ipnt,'c',true,
99  " C 1 9850, coll excit" );
100 
101  /* >>chng 97 may 02, added better rec coefficient
102  * C 1 9850, recombination contribution rec coefficient from
103  * >>refer C1 rec Escalante, Vladimir, & Victor, G.A., 1990, ApJS 73, 513.
104  * r9850 is correction for collisional deexcitation as in carb cool
105  * >>chng 97 aug 2, had factor of rec, changed to r9850, this
106  * was a big mistake */
107  rec = (GetLineRec(1,9088) + GetLineRec(2,9658))*carb.r9850;
108  lindst(rec,9850,"C Ir",ipnt,'r',true,
109  " C I 9850 recombination contribution" );
110 
111  // total intensity added as information line but in outward
112  // beam since cooling done above
113  linadd(rec+carb.c9850,9850,"TOTL",'i',
114  " total intensity, all processes, C I 9850");
115 
116 
117  PntForLine(8727.,"C 1",&ipnt);
118  lindst(carb.c8727,8727,"C 1",ipnt,'t',true,
119  "C 1 8727; equivalent to 4363" );
120 
121  linadd(carb.c8727*1.22e-6,4621,"C 1",'c',
122  " 1S - 3P" );
123 
125  " C 1 610 micron ");
126 
128  " C 1 370 micron ");
129 
131  " C 2 158 micron, both e- and H0, H2 in excitation ");
132 
133  linadd(
134  TauLines[ipC2_2325].Emis().xIntensity()+
135  TauLines[ipC2_2324].Emis().xIntensity()+
136  TauLines[ipC2_2329].Emis().xIntensity()+
137  TauLines[ipC2_2328].Emis().xIntensity()+
138  TauLines[ipC2_2327].Emis().xIntensity()+
139  ionbal.PhotoRate_Shell[ipCARBON][0][1][0]*dense.xIonDense[ipCARBON][0]*0.1*8.6e-12,
140  2326,"TOTL",'i',
141  " total intensity of C II] 2326, all lines in the multiplet " );
143  " ");
145  " ");
147  " ");
149  " ");
151  " ");
152 
153  linadd(ionbal.PhotoRate_Shell[ipCARBON][0][1][0]*dense.xIonDense[ipCARBON][0]*0.1*8.6e-12,2326,"Phot",'i' ,
154  " photoproduction, Helfand and Trefftz");
155 
156  /* >>chng 97 may 02, better rec coef */
157  /*rec = GetLineRec(11,1335)*(1.-TauLines[ipT1335].ColOvTot());*/
158  /* >>chng 02 jul 01, add function to return emission probability */
159  rec = GetLineRec(11,1335)*emit_frac(TauLines[ipT1335]);
160 
161  /* total intensity of C 2 1335 */
162  PutExtra(MAX2(0.,rec));
164  " total intensity of C 2 1335");
165 
166  linadd(rec,1335,"REC ",'i',
167  " C 2 1335 recombination," );
168 
169  /* the CII 3918.98/3920.68 and 6578.05/6582.88 multiplets,
170  * contributions by both continuum pumping through XUV line
171  * and recombination */
172  /* this is the driving line, pump is photons cm^-3 s^-1 */
173  if( nWindLine > 0 )
174  {
175  pump = TauLine2[186].Emis().pump()*TauLine2[186].Emis().PopOpc();
176  }
177  else
178  {
179  pump = 0.;
180  }
181 
182 
183  // pumped 3920, count as recomb since does remove energy
184  PntForLine(3920.,"C 2",&ipnt);
185  lindst(pump*0.387 * 5.08e-12/(1.+dense.eden/1e12) ,3920,"pump",ipnt,'t',true ,
186  " CII 3918.98/3920.68 is only pumped, no recombination part");
187 
188  /* recombination and specific pump for CII 5684 */
189  rec = GetLineRec(8, 6580 );
190  /* convert UV pump rate to intensity with branching ratio and hnu */
191  pump *= 0.305 * 0.387 * 3.02e-12;
192  linadd(rec/(1.+dense.eden/1e12),6580,"C 2r",'i',
193  " recombination part of C II 6580 line " );
194  linadd(pump/(1.+dense.eden/1e12),6580,"C 2p",'i',
195  " pumped part of line C II 6580" );
196 
197  // pumped 3920, count as recomb since does remove energy
198  PntForLine(6580.,"C 2",&ipnt);
199  lindst((rec+pump)/(1.+dense.eden/1e12),6580,"TOTL",ipnt,'t',true ,
200  " total intensity, all processes, C II 6580");
201 
202  /* C 3 977
203  * recombination contribution from nussbaumer and story 84 */
204  /*rec = GetLineRec(179,977)*(1.-TauLines[ipT977].ColOvTot());*/
205  /* >>chng 02 jul 01, add function to compute emission fraction */
206  rec = GetLineRec(179,977)*emit_frac(TauLines[ipT977]);
207 
208  /* continuum pumped C 3 977 by continuum near 386A */
209  rp386 = TauLines[ipT386].Emis().pump()*TauLines[ipT386].Emis().PopOpc();
210 
211  /* higher lines, same process */
212  rp300 = TauLines[ipT310].Emis().pump()*TauLines[ipT310].Emis().PopOpc() +
213  TauLines[ipT291].Emis().pump()*TauLines[ipT291].Emis().PopOpc() +
214  TauLines[ipT280].Emis().pump()*TauLines[ipT280].Emis().PopOpc() +
215  TauLines[ipT274].Emis().pump()*TauLines[ipT274].Emis().PopOpc() +
216  TauLines[ipT270].Emis().pump()*TauLines[ipT270].Emis().PopOpc();
217 
218  /* total line intensity due to pumping */
219  /*p386 = (rp386 + rp300)*2.03e-11*(1.-TauLines[ipT977].ColOvTot());*/
220  /* >>chng 02 jul 01, add function to compute emission fraction */
221  p386 = (rp386 + rp300)*2.03e-11*emit_frac(TauLines[ipT977]);
222 
223  /* total C 3 977 including recombination and pumping */
224  PutExtra(p386+MAX2(0.,rec));
225 
227  " total C 3] 977, recombination + collisional + pumped excitation ");
228 
229  linadd(rec,977,"C3 R",'i',
230  " dielectronic recombination contribution to C 3 977 " );
231 
232  linadd(p386,977,"P386",'i',
233  " C 3 977 pumped by continuum near 386A" );
234 
235  /* C 3 1909 collision, both lines together */
236  fac = embesq.em1908 + TauLines[ipT1909].Emis().xIntensity();
237  lindst(fac,1909,"TOTL",TauLines[ipT1909].ipCont(),'t',false,
238  "C 3 1909 collision, both lines together");
239 
240  // the faster line, which might become optically thick
242  "C III 19091");
243 
244  // the very slow transition
245  PntForLine(1907.,"C 3",&ipnt);
246  lindst(embesq.em1908,1907,"C 3",ipnt,'t',true,
247  " C 3 1908 j-2 to ground" );
248 
249  lindst(embesq.em13C1910,1910,"13C3",ipnt,'t',true,
250  " the 13C forbidden line of C III " );
251 
252  /*corr = 1.-TauLines[ipT1909].ColOvTot();*/
253  /* >>chng 02 jul 01, add function to compute emission fraction */
254  corr = emit_frac(TauLines[ipT1909]);
256 
257  linadd(3.1e-19*fac*corr,1909,"C3 R",'i',
258  " C 3 1909 recombination from Storey" );
259 
260  linadd(ionbal.PhotoRate_Shell[ipCARBON][1][1][0]*dense.xIonDense[ipCARBON][1]*0.62*corr*1.05e-11,1909,"Phot",'i',
261  " C 3 1909 following relax following inner shell photoionization" );
262 
263  /* >>chng 97 may 02, better rec ocef */
264  /*rec = GetLineRec(178,1176)*(1.-TauLines[ipc31175].ColOvTot());*/
265  /* >>chng 02 jul 01, add function to compute emission fraction */
266  rec = GetLineRec(178,1176)*emit_frac(TauLines[ipc31175]);
267  PutExtra(MAX2(0.,rec));
268 
270  " C 3* 1175, excited state line, above 1909 ");
271 
272  linadd(MAX2(0.,rec),1175,"Rec ",'i',
273  " dielectronic recombination contribution to C 3 1175 " );
274 
275  /* recombination C 4 1549 from C 5
276  * >>chng 97 may 02, better rec coef */
277  /*rec = GetLineRec(25,1549)*(1.-TauLines[ipT1550].ColOvTot());*/
278  /* >>chng 02 jul 01, add function to compute emission fraction */
279  rec = GetLineRec(25,1549)*emit_frac(TauLines[ipT1550]);
280 
281  linadd(
282  TauLines[ipT1550].Emis().xIntensity()+
283  TauLines[ipT1548].Emis().xIntensity()+
284  rec,1549,"TOTL",'i',"total intensity of C 4 1549, all processes " );
285 
286  sum =
287  TauLines[ipT1550].Emis().xIntensity()*TauLines[ipT1550].Emis().FracInwd() +
288  TauLines[ipT1548].Emis().xIntensity()*TauLines[ipT1548].Emis().FracInwd();
289 
290  linadd(sum+rec*TauLines[ipT1550].Emis().FracInwd(),1549,"Inwd",'i',
291  "inward part of C 4 " );
292 
293  PutExtra(rec*.3333);
295  " ");
296 
297  PutExtra(rec*.6666);
299  " ");
300 
301  linadd((TauLines[ipT1550].Emis().ots()+
302  TauLines[ipT1548].Emis().ots())*TauLines[ipT1548].EnergyErg(),
303  1549,"DEST",'i',
304  " part of line destroyed by photoionization of Balmer continuum " );
305 
306  linadd(rec,1549,"C4 r",'i',
307  " recombination C 4 1549 from CV" );
308 
310  " Li seq 2s 3p Li seq transition");
311 
312  /*************************/
313 
314  /* nitrogen */
315 
316  // these are the FUV lines that pump [N I]
317  PutLine(TauLines[ipNI_pumpIndirect],"FUV indirect excitation");
318  for( int i=0; i < NI_NDP; ++i )
319  PutLine(TauLines[ipNI_pumpDirect[i]],"FUV direct excitation");
320 
321  PutLine(TauLines[ipT1200]," N I 1200, full multiplet, all processes");
322 
323  PntForLine(3466.52,"N 1",&ipnt);
324  lindst( nitro.xN3466, 3466, "N 1", ipnt, 't', true, " [N I] 3466.50 only" );
325 
326  lindst( nitro.xN3467, 3468, "N 1", ipnt, 't', true, " [N I] 3466.54 only" );
327 
328  // doublet together
329  lindst( nitro.xN3467+nitro.xN3466, 3467, "TOTL", ipnt, 't', false,
330  " [N I] 3466.54, 3466.50 together" );
331 
332  PntForLine(5199.,"N 1",&ipnt);
333  /**** Terry's addition **************/
334  lindst( nitro.rec5199, 5199, "TOTr", ipnt, 'r', true,
335  " estimate of contribution to [N I] 5199 by recombination" );
336 
337  /* this is upper limit to production of 5200 by chemistry - assume every photo dissociation
338  * populates upper level
339  * co.nitro_dissoc_rate is the total N photo dissociation rate, cm-3 s-1 */
340  // count as recombination since removes energy but is not coolng
341  chem = mole.dissoc_rate("N") * 3.82e-12 * nitro.quench_5200;
342  lindst( chem, 5199, "chem", ipnt, 'r', true,
343  " upper limit to [N I] 5199 produced by chemistry" );
344 
345  /* this is upper limit to production of 5200 by charge transfer -
346  * atmdat.HCharExcRecTo_N0_2D is the rate coefficient (cm3 s-1) for N+(3P) + H0 -> H+ + N0(2D) */
348  3.82e-12 * nitro.quench_5200;
349  lindst( ctRate, 5199, "H CT", ipnt, 'r', true,
350  " upper limit to [N I] 5199 produced by charge transfer" );
351 
352  // estimate of pumping contribution to 5200 doublet
353  lindst( nitro.pump5199, 5199, "pump", ipnt, 'r', true,
354  " estimate of contribution to [N I] 5199 by FUV pumping" );
355 
356  /* >>chng 06 jul 08, add chem process to total assuming in proportion to stat weight */
357  lindst( nitro.xN5200 + (ctRate+chem)*0.6, 5200, "N 1", ipnt, 't', true,
358  " [N I] 5200 - all processes - stat weight is 6 - total in term is 10" );
359 
360  lindst( nitro.xN5198 + (ctRate+chem)*0.4, 5198, "N 1", ipnt, 't', true,
361  " [N I] 5198 - all processes - stat weight is 4 - total in term is 10" );
362 
363  // doublet together
364  lindst( nitro.xN5200+nitro.xN5198 + (ctRate+chem), 5199, "TOTL", ipnt, 't', false,
365  " [N I] 5200 + 5198 together" );
366 
367  PntForLine(10403.,"N 1",&ipnt);
368  lindst( nitro.xN10397, 10397, "N 1", ipnt, 't', true, " [N I] 10397.7 only");
369  lindst( nitro.xN10398, 10398, "N 1", ipnt, 't', true, " [N I] 10398.2 only");
370  lindst( nitro.xN10407, 10407, "N 1", ipnt, 't', true, " [N I] 10407.2 only");
371  lindst( nitro.xN10408, 10408, "N 1", ipnt, 't', true, " [N I] 10407.6 only");
372 
373  // entire multiplet together
374  lindst( nitro.xN10398+nitro.xN10397+nitro.xN10408+nitro.xN10407, 10403, "TOTL", ipnt, 't', false,
375  " [N I] 10398.2, 10397.7, 10407.6, 10407.2 together");
376 
377  /*************************/
378 
379  PutLine(TauLines[ipT671] ," 6 lines with fake collision strengths" );
380  PutLine(TauLines[ipT315] ," 6 lines with fake collision strengths" );
381  PutLine(TauLines[ipT333] ," 6 lines with fake collision strengths" );
382  PutLine(TauLines[ipT324] ," 6 lines with fake collision strengths" );
383  PutLine(TauLines[ipT374g]," 6 lines with fake collision strengths" );
384  PutLine(TauLines[ipT374x]," 6 lines with fake collision strengths" );
385 
386  PntForLine(6584.,"N 2",&ipnt);
387  lindst(nitro.c6584/(1.+1./2.951),6584,"N 2",ipnt,'t',true ,
388  " N 2 6584 alone " );
389 
390  PntForLine(6548.,"N 2",&ipnt);
391  lindst(nitro.c6584/(1.+2.951),6548,"N 2",ipnt,'t',true,
392  " N 2 6548 alone " );
393 
394  efficn2 = 4e-3/(4e-3 + 5.18e-6*dense.eden/phycon.sqrte);
395  r6584 = 8e-22/(phycon.te70/phycon.te03/phycon.te03)*efficn2;
396  linadd(r6584*dense.xIonDense[ipNITROGEN][2]*dense.eden,6584,"REC ", 'i',
397  " N 2 6584 alone, recombination contribution" );
398 
399  /* helium charge transfer from
400  >>refer n2 CT Sun Sadeghpour, Kirby Dalgarno and Lafyatis, CfA preprint 4208 */
401  ctRate = 1.8e-11*dense.xIonDense[ipHELIUM][0]*dense.xIonDense[ipNITROGEN][2]*1.146/(1.146 +
402  0.87*dense.cdsqte)*3.46e-12;
403 
404  /* >>chng 01 jul 09, add recombination contribution to 5755 */
405  /* >>refer n2 rec Liu, X.W., Storey, P.J., Barlow, M.J., Danziger, I.J., Cohen, M.,
406  * >>refercon & Bryce, M., 2000, MNRAS, 312, 585 */
407  /* they give intensity in terms of hbeta intensity as their equation 1 */
409  {
410  /* this test on >0 is necessary because for sims with no H-ionizing radiation
411  * the H+ density is initially zero */
412  /* H beta recombination, assuming old case B, needed since HS tables have
413  * only a narrow temperature range - at this point units are ergs cm^3 s-1 */
414  HBeta = (pow(10.,-20.89 - 0.10612*POW2(phycon.alogte - 4.4)))/phycon.te;
415 
416  /* now convert to ergs cm-3 s-1
417  * >>chng 05 mar 17, this step was missing, so recombination intensity off by density squared,
418  * bug reported by Marcelo Castellanos */
419  HBeta *= dense.eden * dense.xIonDense[ipHYDROGEN][1];
420 
421  /* CoolHeavy.xN2_A3_tot is fraction of excitations that produce a photon
422  * and represents the correction for collisional deexcitation */
423  /*>>chng 05 dec 16, Liu et al. (2000) eqn 1 uses t = Te/10^4 K, not Te so phycon.te30
424  * is too large: (10^4)^0.3 = 16 - div by 15.8489 - bug caught by Kevin Blagrave */
425  rec = nitro.xN2_A3_tot * HBeta *
426  3.19 * phycon.te30 / 15.84893 * dense.xIonDense[ipNITROGEN][2]/dense.xIonDense[ipHYDROGEN][1];
427  }
428  else
429  {
430  HBeta = 0.;
431  rec = 0.;
432  }
433 
434  linadd(nitro.c5755+ctRate+rec ,5755,"N 2",'i',
435  " N 2 5755 total, collisions plus charge transfer plus recombination" );
436 
437  PntForLine(5755.,"N 2",&ipnt);
438  lindst(nitro.c5755,5755,"Coll",ipnt,'c',true,
439  " N 2 5755 collisional contribution" );
440 
441  lindst(ctRate,5755,"C T ",ipnt,'r',true,
442  " N 2 5755 charge transfer contribution " );
443 
444  lindst( rec ,5755,"N 2r",ipnt,'r',true,
445  " N 2 5755 recombination contribution" );
446 
448  " N 2 fine structure line ");
449 
451  " N 2 fine structure line " );
452 
454  " N 2 2140 intercombination line " );
455 
456  /* >>chng 97 may 02, better rec contribution */
457  /*rec = GetLineRec(201,1085)*(1.-TauLines[ipT1085].ColOvTot());*/
458  /* >>chng 02 jul 01, add function to compute emission fraction */
459  rec = GetLineRec(201,1085)*emit_frac(TauLines[ipT1085]);
460  PutExtra(MAX2(0.,rec));
461 
463  " N 2 1084, CS guess from g-bar " );
464 
465  linadd(MAX2(0.,rec),1085,"Rec ",'i',
466  " dielectronic recombination contribution to N 2 1085" );
467 
468  /* continuum pumping of N 2 intersystem transition */
469  rnii = TauLines[ipT671].Emis().pump()*TauLines[ipT671].Emis().PopOpc();
470 
471  linadd(rnii*0.377*0.75*3.02e-12*efficn2,6584,"N2cn",'i',
472  " continuum pumped N 2 6584 " );
473 
474  efficn2 = 1./(1. + COLL_CONST*dense.eden/phycon.sqrte);
475  linadd(rnii*0.0117*3.46e-12*efficn2,5755,"N2cn",'i',
476  " continuum pumped N 2 5755" );
477 
478  /* pumping of the NII 509A line excites 2p4s ^3P^o,
479  * which decays through the 3328, 5679, and 671 multiplets
480  * the NII 3311 (6 lines), 3840 (6 lines), and 3600 (3 lines) multiplets,
481  * contributions by both continuum pumping through XUV line
482  * and recombination */
483  /* this is the driving line, pump is photons cm^-3 s^-1 */
484  if( nWindLine > 0 )
485  {
486  pump = TauLine2[265].Emis().pump()*TauLine2[265].Emis().PopOpc();
487  }
488  else
489  {
490  pump = 0.;
491  }
492 
493  PntForLine(3311.,"N 2",&ipnt);
494  lindst(pump*0.236 * 6.01e-12/(1.+dense.eden/1e12) ,3311,"pump",ipnt,'r',true,
495  " NII 3311.42 - 3331.31 (6 lines) are only pumped, no recombination part" );
496 
497  PntForLine(3840.,"N 2",&ipnt);
498  lindst(pump*0.186 * 5.18e-12/(1.+dense.eden/1e12) ,3840,"pump",ipnt,'r',true,
499  " NII 3829.8-3856.06 (6 lines) are only pumped, no recombination part" );
500 
501  PntForLine(3609.,"N 2",&ipnt);
502  lindst(pump*0.025 * 5.52e-12/(1.+dense.eden/1e12) ,3609,"pump",ipnt,'r',true,
503  " NII 3593.60/3609.1/3615.86 (3 lines) are only pumped, no recombination part" );
504 
505 
506  PntForLine(4640.,"N 2",&ipnt);
507  lindst(pump*0.186*0.595 * 4.31e-12/(1.+dense.eden/1e12) ,4640,"pump",ipnt,'r',true ,
508  " NII 4601.5-4643.1 (6 lines) are only pumped, no recombination part");
509 
510  PntForLine(5010.,"N 2",&ipnt);
511  lindst(pump*0.025*0.442 * 3.97e-12/(1.+dense.eden/1e12) ,5010,"pump",ipnt,'r',true,
512  " NII 5002.7/5010.6/5045.1 (3 lines) are only pumped, no recombination part " );
513 
514  /* recombination and specific pump for NII 5679 */
515  rec = GetLineRec(44, 5679 );
516  /* convert UV pump rate to intensity with branching ratio and hnu */
517  pump *= 0.236 * 0.626 * 3.50e-12;
518 
519  linadd(rec/(1.+dense.eden/1e12),5679,"N 2r",'i',
520  " recombination part of N II 5679 line" );
521 
522  linadd(pump/(1.+dense.eden/1e12),5679,"N 2p",'i',
523  " pumped part of line N II 5679 " );
524 
525  PntForLine(5679.,"N 2",&ipnt);
526  lindst((rec+pump)/(1.+dense.eden/1e12),5679,"TOTL",ipnt,'t',true,
527  " total intensity, all processes, N II 5679 " );
528 
530  " [N 3] 57 micron fine structure line");
531 
532  linadd(
533  TauLines[ipN3_1749].Emis().xIntensity()+
534  TauLines[ipN3_1747].Emis().xIntensity()+
535  TauLines[ipN3_1754].Emis().xIntensity()+
536  TauLines[ipN3_1752].Emis().xIntensity()+
537  TauLines[ipN3_1751].Emis().xIntensity(),
538  1750,"TOTL",'i',
539  " total intensity of N III] 1750, all lines in the multiplet " );
541  " ");
543  " ");
545  " ");
547  " ");
549  " ");
550 
551  /* continuum pumped "Bowen" N 3
552  * rate system a is populated */
553  raten3 = TauLines[ipT374x].Emis().PopOpc()*TauLines[ipT374x].Emis().pump();
554 
555  /* rate system b is populated */
556  if( DoppVel.TurbVel < 200. )
557  {
558  rb = TauLines[ipT374x].Emis().PopOpc()*TauLines[ipT374x].Emis().pump() +
559  TauLines[ipT374g].Emis().PopOpc()*TauLines[ipT374g].Emis().pump();
560  }
561  else
562  {
563  /* only one line if both fully overlap due to large turb */
564  rb = TauLines[ipT374g].Emis().PopOpc()*TauLines[ipT374g].Emis().pump();
565  }
566 
567  rn3mor =
568  TauLines[ipT315].Emis().PopOpc()*TauLines[ipT315].Emis().pump()*0.448 +
569  TauLines[ipT324].Emis().PopOpc()*TauLines[ipT324].Emis().pump()*0.78 +
570  TauLines[ipT333].Emis().PopOpc()*TauLines[ipT333].Emis().pump()*0.434;
571 
572  /* pumping of optical N 3 bowen lines */
573  rn3tot = (rb + raten3)*0.439 + rn3mor;
574 
575  sum = raten3*4.29e-12;
576  PntForLine(4640.,"N3cn",&ipnt);
577  lindst(sum,4640,"N3cn",ipnt,'r',true ,
578  " continuum pumped \"Bowen\" N 3, optically thin excited line ");
579 
580  /* */
581  sum = rb*4.29e-12*0.834;
582  PntForLine(4634.,"N3cn",&ipnt);
583  lindst(sum,4634,"N3cn",ipnt,'r',true ,
584  " continuum pumped \"Bowen\" N 3, optically thin excited line");
585 
586  sum = rb*4.29e-12*(1. - 0.834);
587  PntForLine(4642.,"N3cn",&ipnt);
588  lindst(sum,4642,"N3cn",ipnt,'r',true,
589  " continuum pumped \"Bowen\" N 3, optically thin excited line" );
590 
591  /* total rate for N 3 990
592  * correction factor for collisional deexcitation */
593  /*fac = 1.-TauLines[ipT990].ColOvTot();*/
594  /* >>chng 02 jul 01, add function to compute emission fraction */
595  fac = 1.-emit_frac(TauLines[ipT990]);
596 
597  /* >>chng 97 may 02, better rec coef */
598  /*rec = GetLineRec(216,991)*(1.-TauLines[ipT990].ColOvTot());*/
599  /* >>chng 02 jul 01, add function to compute emission fraction */
600  rec = GetLineRec(216,991)*emit_frac(TauLines[ipT990] );
601  PutExtra(MAX2(0.,rec)+rn3tot*2.01e-11*fac);
602 
604  " N 3 990, all processes ");
605 
606  linadd(rec+rn3tot*2.01e-11*fac,990,"extr",'i',
607  " total N 3 990, both electron excitation and continuum pumping" );
608 
609  linadd(rec,990,"rec ",'i',
610  " part of N 3 990 due to recombination " );
611 
612  linadd(rn3tot*2.01e-11,990,"N 3p",'r',
613  " N 3 989.8, continuum pumped" );
614 
615  linadd(embesq.em1486+TauLines[ipT1486].Emis().xIntensity(),1486,"TOTL",'i',
616  " N 4] 1486, total intensity of both lines" );
617 
619  " ");
620 
621  PntForLine(1485.,"N 4",&ipnt);
622  lindst(embesq.em1486,1485,"N 4",ipnt,'t',true ,
623  " the N IV] slow transition by itself " );
624 
625  /* >>chng 97 may 02, better expression for dielectronic recombination */
626  /*rec = GetLineRec(287,765)*(1.-TauLines[ipT765].ColOvTot());*/
627  /* >>chng 02 jul 01, add function to get emission fraction */
628  rec = GetLineRec(287,765)*emit_frac(TauLines[ipT765] );
629 
630  /* dielectronic recombination contribution from Nussbaumer and Storey 1984 */
631  PutExtra(rec);
632 
634  " N 4 765, collisionally excited");
635 
636  linadd(MAX2(0.,rec),765,"rec ",'i',
637  " N 4 765 recombination," );
638 
639  linadd(TauLines[ipT1243].Emis().xIntensity()+TauLines[ipT1239].Emis().xIntensity(),1240,"TOTL",'i',
640  " continuum pumping of NV 1240, N 5 1240, total emission, collisions plus pumping " );
641  sum = TauLines[ipT1243].Emis().xIntensity()*TauLines[ipT1243].Emis().FracInwd() + TauLines[ipT1239].Emis().xIntensity()*
642  TauLines[ipT1239].Emis().FracInwd();
643 
644  linadd(sum,1240,"Inwd",'i',
645  " inward part of N 5 " );
647  " ");
649  " ");
650 
652  " N 5 209, 2s-3p Li seq ");
653 
654  PntForLine(6300.,"O 1",&ipnt);
655  lindst(CoolHeavy.c6300,6300,"O 1",ipnt,'t',true ,
656  " oxygen total Oxygen I 6300, including continuum optical depth ");
657 
658  /* the intensity of [OI] 6300 line due to OH photodistruction */
659  /* last term is fraction that emit rather than collisionally deexcited,
660  * factor of 0.55 is branching ratio from chemistry for producing
661  * OI in correct excited state
662  * this is used to get OH photo formation of [OI] 6300
663  *>>refer OI photoexcitation Storzer, H., & Hollenbach, D. 2000, ApJ, 539, 751-759
664  * discussion on bottom left side of page 752 */
665  /* rate_OH_dissoc is number of OH destruction events, OH -> O + H, cm-3 s-1,
666  * 0.55 is fraction of OH dissociation that lead to pop of upper level of 6300
667  * r12 is energy emitted per unit vol, erg cm-3 s-1, in 6300, due to OH dest */
668  rate_OH_dissoc = mole.findrate("PHOTON,OH=>O,H");
669  r12 = rate_OH_dissoc * 0.55 * 3.16e-12 * CoolHeavy.c6300_frac_emit;
670 
671  lindst( r12*TauLines[ipT6300].Emis().Aul()/(TauLines[ipT6300].Emis().Aul()+TauLines[ipT6363].Emis().Aul()) ,
672  6300., "OH p",ipnt , 'i' , false,
673  " the intensity of [OI] 6300 line due to OH photodestruction");
674 
675  lindst( r12*TauLines[ipT6363].Emis().Aul()/(TauLines[ipT6300].Emis().Aul()+TauLines[ipT6363].Emis().Aul()) ,
676  6363., "OH p",ipnt , 'i' , false,
677  " the intensity of [OI] 6363 line due to OH photodestruction ");
678 
679  PntForLine(6363.,"O 1",&ipnt);
680  lindst(CoolHeavy.c6363,6363,"O 1",ipnt,'t',true,
681  " total Oxygen I 6363, including continuum optical depth " );
682 
683  PntForLine(5577.,"O 1",&ipnt);
684  lindst(CoolHeavy.c5577,5577,"O 1",ipnt,'t',true,
685  " auroral OI " );
686 
687  r13 = rate_OH_dissoc * 0.05 * 3.57e-12 * 0.94*CoolHeavy.c5577_frac_emit;
688  lindst( r13 , 5577., "OH p",ipnt , 'i', false,
689  " 94% of excitations to highest level decay via 5577" );
690 
692  " O I fine structure line ");
693 
695  " O I fine structure line ");
696 
697  linadd(MAX2(0.,CoolHeavy.coolOi),0,"TOIc",'c',
698  " total collisional cooling due to 6-level OI atom" );
699 
700  linadd(MAX2(0.,-CoolHeavy.coolOi),0,"TOIh",'h',
701  " total collisional heating due to 6-level OI atom " );
702 
703  /* OI 8446 from six level atom */
704  /* >>chng 04 nov 15, upper level for 8446 was incorrect - was 4 should have been 2
705  * bug caught by Yoshiki Matsuoka */
706  sum = atoms.popoi[2]*TauLines[ipT8446].Emis().Pesc_total()*TauLines[ipT8446].Emis().Aul()*2.36e-12;
707  PntForLine(8446.,"O 1",&ipnt);
708 
709  lindst(sum,8446,"6lev",ipnt,'i',false,
710  " OI 8446 from six level atom" );
711 
712  PntForLine(1304.,"O 1",&ipnt);
713  sum = atoms.popoi[1]*TauLines[ipT1304].Emis().Pesc_total()*TauLines[ipT1304].Emis().Aul()*1.53e-11;
714  lindst(sum,1304,"6lev",ipnt,'i',false,
715  " OI 1304 from six level atom " );
716 
717  PntForLine(1039.,"O 1",&ipnt);
718  sum = atoms.popoi[3]*TauLines[ipT1039].Emis().Pesc_total()*TauLines[ipT1039].Emis().Aul()*1.92e-11;
719  lindst(sum,1039,"6lev",ipnt,'i',false ,
720  " OI 1039 from six level atom");
721 
722  PntForLine(4368.,"O 1",&ipnt);
723  sum = atoms.popoi[5]*TauLines[ipT4368].Emis().Pesc_total()*TauLines[ipT4368].Emis().Aul()*4.55e-12;
724  lindst(sum,4368,"6lev",ipnt,'i',false,
725  " OI 4368 from six level atom" );
726 
727  PntForLine(13100.,"O 1",&ipnt);
728  sum = atoms.popoi[3]*TauLines[ipTOI13].Emis().Pesc_total()*TauLines[ipTOI13].Emis().Aul()*1.52e-12;
729  lindst(sum,13100,"6lev",ipnt,'i',false ,
730  " OI 1.3 micron from six level atom");
731 
732  PntForLine(11300.,"O 1",&ipnt);
733  sum = atoms.popoi[4]*TauLines[ipTOI11].Emis().Pesc_total()*TauLines[ipTOI11].Emis().Aul()*1.76e-12;
734  lindst(sum,11300,"6lev",ipnt,'i',false ,
735  " OI 1.1 micron from six level atom");
736 
737  PntForLine(29000.,"O 1",&ipnt);
738  sum = atoms.popoi[5]*TauLines[ipTOI29].Emis().Pesc_total()*TauLines[ipTOI29].Emis().Aul()*6.86e-13;
739  lindst(sum,29000,"6lev",ipnt,'i',false ,
740  " OI 2.9 micron from six level atom");
741 
742  PntForLine(46000.,"O 1",&ipnt);
743  sum = atoms.popoi[5]*TauLines[ipTOI46].Emis().Pesc_total()*TauLines[ipTOI46].Emis().Aul()*4.32e-13;
744  lindst(sum,46000,"6lev",ipnt,'i',false ,
745  " OI 4.6 micron from six level atom");
746 
747  /*double rec7323 , rec7332, rec3730 , rec3726 , rec2471
748  * reco23tot , reco22tot;*/
749 
750  /* total recombination to 2P^o, the highest two levels of the 5-level atom,
751  * which produces the 7325 multiplet, last factor accounts for coll deexcitation
752  * this implements equation 2 of
753  * refer o2 rec Liu, X-W., Storey, P.J., Barlow, M.J., Danziger, I.J.,
754  * refercon Cohen, M., & Bryce, M., 2000, MNRAS, 312, 585 */
755  /* >>chng 05 dec 29, from first eqn, or unknown origin, to second, from indicated
756  * reference. They agreed within 20% */
757  /*reco23tot = 3.484e-11 / ( phycon.sqrte / phycon.te05 * phycon.te003 ) *
758  dense.eden * dense.xIonDense[ipOXYGEN][2] * CoolHeavy.O2_A3_tot *2.72e-12;*/
760  {
761  /* this test is necessary because for sims with no H-ionizing radiation
762  * the H+ density is initially zero */
763  reco23tot = CoolHeavy.O2_A3_tot * HBeta *
765  }
766  else
767  {
768  reco23tot = 0.;
769  }
770 
771  sum = CoolHeavy.O2471*2471./7325. + CoolHeavy.O7323 + CoolHeavy.O7332;
772  if( sum > SMALLFLOAT )
773  {
774  /* assume effective branching ratio according to predicted intensities from 5-lev atom*/
775  reco23tot /= sum;
776  }
777  else
778  {
779  reco23tot = 0.;
780  }
781  /* these are now ergs per sec unit vol for each transition */
782  rec7323 = reco23tot * CoolHeavy.O7323;
783  rec7332 = reco23tot * CoolHeavy.O7332;
784  rec2471 = reco23tot * CoolHeavy.O2471*2471./7325. * 8.05e-12/2.72e-12;
785 
786  /* total recombination to 2D^o, the middle two levels of the 5-level atom,
787  * which produces the 3727 multiplet, last factor accounts for coll deexcit */
788  reco22tot = 1.660e-10 / ( phycon.sqrte * phycon.te03 * phycon.te005 ) *
790  /* assume effective branching ratio according to predicted intensities from 5-lev atom*/
791  sum = CoolHeavy.O3726 + CoolHeavy.O3730;
792  if( sum > SMALLFLOAT )
793  {
794  reco22tot /= sum;
795  }
796  else
797  {
798  reco22tot = 0.;
799  }
800  /* these are now ergs per sec unit vol for each transition */
801  rec3726 = reco22tot * CoolHeavy.O3726 * 5.34e-12;
802  rec3730 = reco22tot * CoolHeavy.O3730 * 5.34e-12;
803 
804  /* O II 3727 produced by photoionization OF O0 */
805  oxy.s3727 = (realnum)((oxy.s3727 + oxy.s7325*0.5)*5.34e-12*
806  9.7e-5/(9.7e-5 + dense.eden*1.15e-6/phycon.sqrte));
807 
808  PntForLine(3727.,"O 2",&ipnt);
809  fac = CoolHeavy.c3727+oxy.s3727+rec3726+rec3730;
810  lindst(fac ,3727,"TOTL",ipnt,'t',true,
811  " O II 3727, all lines of multiplet together " );
812 
813  PntForLine(7325.,"O 2",&ipnt);
814  fac = CoolHeavy.c7325+rec7323+rec7332;
815  lindst( fac ,7325,"TOTL",ipnt,'t',true ,
816  " O II 7325, all lines of multiplet together");
817 
818  linadd(oxy.s3727,3727,"IONZ",'i',
819  " line produced by photoionization of Oo; already in TOTL" );
820  oxy.s7325 = (realnum)(oxy.s7325*2.72e-12*0.34/(0.34 + dense.eden*
821  6.04e-6/phycon.sqrte));
822 
823  linadd(oxy.s7325,7325,"IONZ",'i',
824  " line produced by photoionization of Oo; already in TOTL" );
825 
826  linadd(CoolHeavy.c7325,7325,"Coll",'i',
827  " collisional contribution to line " );
828 
829  linadd(CoolHeavy.c3727,3727,"Coll",'i',
830  " collisional contribution to line " );
831 
832  PntForLine(3727.,"O 2",&ipnt);
833  lindst(CoolHeavy.O3730,3729,"O II",ipnt,'t',false,
834  " five level atom calculations; D5/2 - S3/2" );
835 
836  lindst(CoolHeavy.O3726,3726,"O II",ipnt,'t',false,
837  " D3/2 - S3/2 transition" );
838 
839  PntForLine(2471.,"O 2",&ipnt);
840  lindst(CoolHeavy.O2471,2471,"O II",ipnt,'t',false,
841  " both 2P 1/2 and 3/2 to ground " );
842 
843  PntForLine(7325.,"O 2",&ipnt);
844  lindst(CoolHeavy.O7323,7323,"O II",ipnt,'t',false,
845  " P1/2-D5/2 and P3/2-D5/2 together" );
846 
847  lindst(CoolHeavy.O7332,7332,"O II",ipnt,'t',false,
848  " P1/2-D3/2 and P3/2-D3/2 together " );
849 
850  linadd( rec3730 ,3729,"O 2r",'i',
851  " recombination contribution refer o2 rec Liu, X-W., Storey, P.J., Barlow, M.J., Danziger, I.J.,refercon Cohen, M., & Bryce, M., 2000, MNRAS, 312, 585 recombination contributions five level atom calculations; D5/2 - S3/2 " );
852 
853  linadd( rec3726 ,3726,"O 2r",'i',
854  " D3/2 - S3/2 transition" );
855 
856  linadd(rec2471,2471,"O 2r",'i',
857  " both 2P 1/2 and 3/2 to ground " );
858  linadd(rec7323,7323,"O 2r",'i',
859  " P1/2-D5/2 and P3/2-D5/2 together " );
860 
861  linadd(rec7332,7332,"O 2r",'i',
862  " P1/2-D3/2 and P3/2-D3/2 together " );
863 
865  " O II 833.8 coll excit ");
866 
867  /* the OII multiplets,
868  * contributions by both continuum pumping through XUV line
869  * and recombination */
870  /* this is the driving line, pump is photons cm^-3 s^-1 */
871  if( nWindLine > 0 )
872  {
873  pump = TauLine2[387].Emis().pump()*TauLine2[387].Emis().PopOpc();
874  }
875  else
876  {
877  pump = 0.;
878  }
879 
880  PntForLine(3120.,"O 2",&ipnt);
881  lindst(pump*0.336 * 6.37e-12/(1.+dense.eden/1e12) ,3120,"pump",ipnt,'r',true,
882  " OII 3113.62 - 3139.68 (8 lines) are only pumped, no recombination part" );
883 
884  PntForLine(3300.,"O 2",&ipnt);
885  lindst(pump*0.147 * 6.03e-12/(1.+dense.eden/1e12) ,3300,"pump",ipnt,'r',true,
886  " OII 3277.56 - 3306.45 (6 lines) are only pumped, no recombination part" );
887 
888  PntForLine(3762.,"O 2",&ipnt);
889  lindst(pump*0.087 * 5.29e-12/(1.+dense.eden/1e12) ,3762,"pump",ipnt,'r',true,
890  " OII 3739.76/3762.47/3777.42 (3 lines) are only pumped, no recombination part" );
891 
892  /* recombination and specific pump for OII 4638.86-4696.35 (8 lines) */
893  rec = GetLineRec(82, 4651 );
894  PntForLine(4651.,"O 2",&ipnt);
895  lindst(rec,4651,"O 2r",ipnt,'r',true,
896  " O II 4651 total recombination, 4638.86-4696.35 (8 lines) " );
897 
898  /* convert UV pump rate to intensity with branching ratio and hnu recombination
899  * part of O II 4651 line */
900  linadd(pump* 0.336 * 0.933 * 4.27e-12/(1.+dense.eden/1e12),4651,"O 2p",'i',
901  " pumped part of line O II 4651 " );
902 
903  /* recombination and specific pump for OII 4317.14-4366.89 (6 lines) */
904  rec = GetLineRec(83, 4341 );
905 
906  linadd(rec/(1.+dense.eden/1e12),4341,"O 2r",'i',
907  " recombination contribution to O II 4341 line " );
908 
909  linadd(pump* 0.147 * 0.661 * 4.58e-12/(1.+dense.eden/1e12),4341,"O 2p",'i',
910  " pumped part of line O II 4341 " );
911 
912  PntForLine(4341.,"O 2",&ipnt);
913  lindst(rec+pump* 0.147 * 0.661 * 4.58e-12/(1.+dense.eden/1e12),4341,"TOTL",ipnt,'t',true,
914  " total intensity, all processes, O II 4341" );
915 
916  /* recombination and specific pump for OII 3712.74/3727.32/3749.48 (3 lines) */
917  rec = GetLineRec(84, 3736 );
918  /* convert UV pump rate to intensity with branching ratio and hnu */
919 
920  linadd(rec/(1.+dense.eden/1e12),3736,"O 2r",'i',"\n recombination part of O II 3736 line " );
921  linadd(pump* 0.087 * 0.763 * 5.33e-12/(1.+dense.eden/1e12),3736,"O 2p",'i',
922  " pumped part of line O II 3736" );
923 
924  PntForLine(3736.,"O 2",&ipnt);
925  lindst((rec+pump* 0.087 * 0.763 * 5.33e-12)/(1.+dense.eden/1e12),3736,"TOTL",ipnt,'t',true,
926  " total intensity, all processes, O II 3736" );
927 
928  /* O III 1661+1666 */
929  /*efac = ((1.-TauLines[ipT1666].ColOvTot()) + (1.-TauLines[ipT1661].ColOvTot()))*0.5;*/
930  efac = (emit_frac(TauLines[ipT1666]) + emit_frac(TauLines[ipT1661]))*0.5;
931 
932  linadd(TauLines[ipT1666].Emis().xIntensity()+TauLines[ipT1661].Emis().xIntensity(),1665,"TOTL",'i',
933  "total intensity of OIII] 1665, all processes " );
934  PutLine(TauLines[ipT1661]," ");
935 
936  PutLine(TauLines[ipT1666]," ");
937 
938  linadd(ionbal.PhotoRate_Shell[ipOXYGEN][3][1][0]*dense.xIonDense[ipOXYGEN][1]*0.3*1.20e-11*efac,1665,"Phot",'i',
939  " contribution to OIII 1665 due to inner shell (2s^2) ionization " );
940 
941  linadd(oxy.AugerO3*1.20e-11*efac*0.27,1665,"Augr",'i',
942  " contribution to OIII 1665 due to K-shell ionization " );
943 
944  PntForLine(5007.,"O 3",&ipnt);
945  lindst(CoolHeavy.c5007/(1.+1./3.01),5007,"O 3",ipnt,'t',true ,
946  " O III 5007 alone, collisions, tot OIII is this times 1.333 fac = c5007/(1.+1./2.887) >>chng 01 may 04, branching ratio had been 2.887, revised to 3 as per refer o3 as Storey, P.J., & Zeippen, C.J., 2000, 312, 813-816 ");
947 
948  PntForLine(4959.,"O 3",&ipnt);
949  lindst(CoolHeavy.c5007/(1.+3.01),4959,"O 3",ipnt,'t',true,
950  " O III 4959 alone, collisions, tot OIII is this times 4" );
951 
952  PntForLine(4931.,"O 3",&ipnt);
953  lindst(CoolHeavy.c5007/(1.+3.01)*4.09e-4 ,4931,"O 3",ipnt,'t',true ,
954  " O III 4931 alone, collisions >>chng 01 jul 11, added this line >>refer o3 as Nussbaumer, H., & Storey, P., 1981, A&A, 99, 177 >>refer o3 as Mathis, J.S., & Liu, X.-W., 1999, ApJ, 521, 212-216 ");
955 
956  linadd(oxy.d5007t/1.25,5007,"LOST",'i',
957  " O III 5007 lost through excited state photo" );
958 
959  /* collisional quenching ratio */
960  effec = 1.6/(1.6 + 0.9*dense.cdsqte);
961 
962  /* O III 4363 recombination, coefficient from Burgess and Seaton */
963  r4363 = 6.3e-21/(phycon.te70*phycon.te10)*dense.eden*dense.xIonDense[ipOXYGEN][3]*
964  effec;
965 
966  /* charge exchange,
967  * >>refer O3 CT Dalgarno+Sternberg ApJ Let 257, L87.
968  * scaled to agree with
969  * >>refer O3 CT Gargaud et al AA 208, 251, (1989) */
970  ct4363 = phycon.sqrte*1.3e-12*4.561e-12*dense.xIonDense[ipHYDROGEN][0]*dense.xIonDense[ipOXYGEN][3]*
971  effec;
972 
973  fac = CoolHeavy.c4363 + r4363 + ct4363;
974  linadd(fac,4363,"TOTL",'i',
975  " O III 4363, sum of rec, coll, ct excitation" );
976 
977  PntForLine(4363.,"O 3",&ipnt);
978  lindst(CoolHeavy.c4363,4363,"Coll",ipnt,'c',true,
979  " O III 4363,collisions from five level atom " );
980 
981  lindst(r4363,4363,"Rec ",ipnt,'r',true,
982  " O III 4363 recombination, coefficient from Burgess and Seaton " );
983 
984  PntForLine(2321.,"O 3",&ipnt);
985  lindst(CoolHeavy.c4363*0.236,2321,"O 3",ipnt,'t',true ,
986  " collisional excitation of 2321, 5-level atom");
987  linadd(ct4363,4363,"C EX",'i' ,
988  " call linadd( c4363*0.236 , 2321 , 'O 3','c') charge exchange, Dalgarno+Sternberg ApJ Let 257, L87. ");
989 
990  linadd(dense.xIonDense[ipHYDROGEN][0]*dense.xIonDense[ipOXYGEN][3]*0.225*3.56e-12*1.34e-11*phycon.sqrte,
991  5592,"C EX",'i'," charge exchange rate, D+S " );
992 
994  " O III 88 micron, collisionally excited");
995 
997  " O III 52 micron, collisionally excited ");
998 
999  /* >>chng 97 may 02, better rec contribution */
1000  /*rec = GetLineRec(331,835)*(1.-TauLines[ipT835].ColOvTot());*/
1001  rec = GetLineRec(331,835)*emit_frac(TauLines[ipT835]);
1002  PutExtra(MAX2(0.,rec));
1003 
1005  " O III 834A, collisions and dielectronic recombination ");
1006 
1007  linadd(MAX2(0.,rec),835,"rec ",'i',
1008  " O III 834A, dielectronic recombination only" );
1009 
1011  " O IV 26 micron ");
1012 
1013  linadd(
1014  TauLines[ipO4_1400].Emis().xIntensity()+
1015  TauLines[ipO4_1397].Emis().xIntensity()+
1016  TauLines[ipO4_1407].Emis().xIntensity()+
1017  TauLines[ipO4_1405].Emis().xIntensity()+
1018  TauLines[ipO4_1401].Emis().xIntensity(),
1019  1402,"TOTL",'i',
1020  " total intensity of O IV] 1402, all lines in the multiplet " );
1021 
1023  " ");
1025  " ");
1027  " ");
1029  " ");
1031  " ");
1032 
1033  linadd(ionbal.PhotoRate_Shell[ipOXYGEN][2][1][0]*dense.xIonDense[ipOXYGEN][2]*0.43*1.42e-11,1401,"InSh",'i',
1034  " inner shell photoionization, relaxation " );
1035 
1036  /* >>chng 97 may 02, better rec contribution */
1037  //rec = GetLineRec(378,789)*(1.-TauLines[ipT789].Emis().ColOvTot());
1038  rec = GetLineRec(378,789)*emit_frac(TauLines[ipT789]);
1039  PutExtra(MAX2(0.,rec));
1040 
1041  PutLine(TauLines[ipT789]," O IV 789A");
1042 
1043  linadd(MAX2(0.,rec),789,"rec ",'i',
1044  " O IV 789A, dielectronic recombination only" );
1045 
1046  /* >>chng 97 may 02, better rec contribution */
1047  rec = GetLineRec(466,630);
1048  PutExtra(MAX2(0.,rec));
1049 
1050  PutLine(TauLines[ipT630],"O V 630, collisional excitation and dielectronic recombination");
1051 
1052  linadd(MAX2(0.,rec),630,"rec ",'i',
1053  " O V 630A, dielectronic recombination only" );
1054 
1055  linadd(embesq.em1218+TauLines[ipT1214].Emis().xIntensity(),1218,"TOTL",'i',
1056  " O V 1218], total intensity of both lines " );
1057  PutLine(TauLines[ipT1214], " ");
1058 
1059  linadd(embesq.em1218,1211,"O 5",'i',
1060  " the slow transition by itself" );
1061 
1063  /*(1.-TauLines[ipT1214].ColOvTot()),5112,"O 5",'i' );*/
1064  emit_frac(TauLines[ipT1214]),5112,"O 5",'i',
1065  " BS O V 5112, recombination " );
1066 
1067  linadd(TauLines[ipT1032].Emis().xIntensity()+TauLines[ipT1037].Emis().xIntensity(),1035,"TOTL",'i',
1068  " O VI 1035, total of pumping and collisional excitation " );
1069  sum = TauLines[ipT1032].Emis().xIntensity()*TauLines[ipT1032].Emis().FracInwd() +
1070  TauLines[ipT1037].Emis().xIntensity()* TauLines[ipT1037].Emis().FracInwd();
1071 
1072  linadd(sum,1035,"Inwd",'i',
1073  " inward part of OVI line" );
1075  " ");
1077  " ");
1078 
1080  "O VI 150, Li seq 2s 3p ");
1081 
1083  " neon Neon II 12.8 micron ");
1084 
1086  " Ne III fine structure line ");
1087 
1089  " Ne III fine structure line ");
1090 
1091  PntForLine(3869.,"Ne 3",&ipnt);
1092  lindst(CoolHeavy.c3869/(1.+1./3.318),3869,"Ne 3",ipnt,'t',true,
1093  " Ne III 3869, of 3968+3869 doublet" );
1094 
1095  PntForLine(3968.,"Ne 3",&ipnt);
1096  lindst(CoolHeavy.c3869/(1.+3.318),3968,"Ne 3",ipnt,'t',true,
1097  " Ne III 3968, of 3968+3869 doublet" );
1098 
1099  PntForLine(3343.,"Ne 3",&ipnt);
1100  lindst(CoolHeavy.c3343,3343,"Ne 3",ipnt,'t',true,
1101  " NeIII auroral line " );
1102 
1103  PntForLine(1815.,"Ne 3",&ipnt);
1104  lindst(CoolHeavy.c3343*1.38,1815,"Ne 3",ipnt,'t',true ,
1105  " NeIII auroral line");
1106 
1107  PntForLine(2424.,"Ne 4",&ipnt);
1108  lindst(CoolHeavy.c2424,2424,"Ne 4",ipnt,'t',true,
1109  " Ne IV 2424, collisional excitation" );
1110 
1111  PntForLine(4720.,"Ne 4",&ipnt);
1112  lindst(CoolHeavy.c4720,4720,"Ne 4",ipnt,'t',true,
1113  " Ne IV N=3-2 lines, three level atom approx, this is the sum of the 4714.5, 4724.2, 4725.5 lines" );
1114 
1115  PntForLine(1602.,"Ne 4",&ipnt);
1116  lindst(CoolHeavy.c4720*4.34,1602,"Ne 4",ipnt,'t',true ,
1117  " Ne IV N=3 lines, three level atom approx");
1118 
1119  PntForLine(3426.,"Ne 5",&ipnt);
1120  lindst(CoolHeavy.c3426/(1.+1./2.738),3426,"Ne 5",ipnt,'t',true,
1121  " Ne V 3426 of 3426, 3346 doublet" );
1122 
1123  PntForLine(3346.,"Ne 5",&ipnt);
1124  lindst(CoolHeavy.c3426/(1.+2.738),3346,"Ne 5",ipnt,'t',true,
1125  " Ne V 3346 of 3426, 3346 doublet " );
1126 
1127  PntForLine(2976.,"Ne 5",&ipnt);
1128  lindst(CoolHeavy.c2975,2976,"Ne 5",ipnt,'t',true,
1129  " auroral line " );
1130 
1131  PntForLine(1575.,"Ne 5",&ipnt);
1132  lindst(CoolHeavy.c1565,1575,"Ne 5",ipnt,'t',true,
1133  " collisionally excited" );
1134 
1135  PutLine(TauLines[ipTNe24],"\n Ne V 24.2, 14.3 micron ");
1136 
1137  PutLine(TauLines[ipTNe14],"\n Ne V 24.2, 14.3 micron ");
1138 
1139  PntForLine(1141.,"Ne 5",&ipnt);
1140  lindst(CoolHeavy.c1134,1141,"Ne 5",ipnt,'t',true," both components of 5S-3P 1146.1, 1137.0 doublet " );
1141 
1142  PutLine(TauLines[ipxNe0676],"\n [Ne VI] 7.6 microns ");
1143 
1144  linadd(embesq.em895+TauLines[ipT895].Emis().xIntensity(),895,"TOTL",'i',
1145  " Ne VII 895, collisionally excited, both lines " );
1146 
1148  " Ne VII 895, only fast transition ");
1149 
1150  linadd(embesq.em895,890,"Ne 7",'i',
1151  " Ne VII 890, single line " );
1152 
1153  linadd(TauLines[ipT770].Emis().xIntensity()+TauLines[ipT780].Emis().xIntensity(),774,"TOTL",'i',
1154  " Ne VIII 774, collisionally excited " );
1155 
1156  sum = TauLines[ipT770].Emis().xIntensity()*TauLines[ipT770].Emis().FracInwd() +
1157  TauLines[ipT780].Emis().xIntensity()*TauLines[ipT780].Emis().FracInwd();
1158  linadd(sum,774,"Inwd",'i',
1159  " inward part of NeVIII 774 line" );
1160 
1162  " the NeVIII 770 780 doublet ");
1164  " ");
1165 
1167  " Ne VIII 88 2s 3p, collisionally excited ");
1168 
1169  if( trace.lgTrace )
1170  {
1171  fprintf( ioQQQ, " lines_lv1_li_ne returns\n" );
1172  }
1173  return;
1174 }
1175 
1176 /*GetLineRec return rec coef*hnu*eden*n_ion for C, N, or O recombination lines from Dima's list,
1177  * also zero's line in master stack so not entered second time in later dump of all rec lines */
1179  /* this is the number of the emission line in the stack of lines, on the C scale */
1180  long int ip,
1181  /* the multiplet wavelength */
1182  long int lWl)
1183 {
1184  double GetLineRec_v;
1185 
1186  DEBUG_ENTRY( "GetLineRec()" );
1187 
1188  if( (long)(LineSave.RecCoefCNO[2][ip]+0.5) != lWl )
1189  {
1190  fprintf( ioQQQ, " GetLineRec called with incorrect wavelength.\n" );
1191  fprintf( ioQQQ, " index, call and get wl are %5ld%5ld%5ld\n",
1192  ip, lWl, (long)(LineSave.RecCoefCNO[2][ip]+0.5) );
1194  }
1195 
1196  /* final product is vol emissivity in line */
1197  GetLineRec_v = LineSave.RecCoefCNO[3][ip]*dense.eden*
1198  dense.xIonDense[(long)(LineSave.RecCoefCNO[0][ip])-1][(long)(LineSave.RecCoefCNO[0][ip]-LineSave.RecCoefCNO[1][ip]+2)-1]*
1199  1.99e-8/LineSave.RecCoefCNO[2][ip];
1200 
1201  /* zero out rec coefficient so that not used again in master dump
1202  * this routine cannot be called twice on same line */
1203  LineSave.RecCoefCNO[3][ip] = 0.;
1204  return( GetLineRec_v );
1205 }
ipT4368
long ipT4368
Definition: atmdat_readin.cpp:50
ipTOI46
long ipTOI46
Definition: atmdat_readin.cpp:51
t_oxy::AugerO3
realnum AugerO3
Definition: oxy.h:23
ipT834
long ipT834
Definition: atmdat_readin.cpp:48
ipT990
long ipT990
Definition: atmdat_readin.cpp:43
t_CoolHeavy::O7323
realnum O7323
Definition: coolheavy.h:130
t_CoolHeavy::c6300
double c6300
Definition: coolheavy.h:76
ipT770
long ipT770
Definition: atmdat_readin.cpp:54
t_CoolHeavy::c4720
double c4720
Definition: coolheavy.h:62
emit_frac
double emit_frac(const TransitionProxy &t)
Definition: transition.cpp:84
ipOXYGEN
const int ipOXYGEN
Definition: cddefines.h:312
ipT63
long ipT63
Definition: atmdat_readin.cpp:53
t_CoolHeavy::colmet
double colmet
Definition: coolheavy.h:71
ipT1037
long ipT1037
Definition: atmdat_readin.cpp:54
lines.h
PntForLine
void PntForLine(double wavelength, const char *chLabel, long int *ipnt)
Definition: lines_service.cpp:583
ipTNe24
long ipTNe24
Definition: atmdat_readin.cpp:56
t_ionbal::PhotoRate_Shell
double **** PhotoRate_Shell
Definition: ionbal.h:111
t_nitro::rec5199
double rec5199
recombination pumping of [NI] 5199, only an estimate
Definition: nitro.h:32
t_dense::eden
double eden
Definition: dense.h:190
dense
t_dense dense
Definition: dense.cpp:24
atoms.h
t_dense::cdsqte
double cdsqte
Definition: dense.h:235
t_CoolHeavy::c6363
double c6363
Definition: coolheavy.h:84
PutExtra
void PutExtra(double Extra)
Definition: transition.cpp:468
ioQQQ
FILE * ioQQQ
Definition: cddefines.cpp:7
ipO4_1400
long ipO4_1400
Definition: atmdat_readin.cpp:91
ipT1304
long ipT1304
Definition: atmdat_readin.cpp:49
t_nitro::xN10397
double xN10397
Definition: nitro.h:19
ipT671
long ipT671
Definition: atmdat_readin.cpp:45
realnum
float realnum
Definition: cddefines.h:103
t_nitro::xN5200
double xN5200
Definition: nitro.h:14
t_CoolHeavy::O3730
realnum O3730
Definition: coolheavy.h:127
nWindLine
long nWindLine
Definition: cdinit.cpp:19
ipC2_2325
long ipC2_2325
Definition: atmdat_readin.cpp:93
ipO4_1397
long ipO4_1397
Definition: atmdat_readin.cpp:91
STATIC
#define STATIC
Definition: cddefines.h:97
ipT1661
long ipT1661
Definition: atmdat_readin.cpp:48
ipCARBON
const int ipCARBON
Definition: cddefines.h:310
mole.h
ipNI_pumpIndirect
long ipNI_pumpIndirect
Definition: atmdat_readin.cpp:99
NI_NDP
const int NI_NDP
Definition: taulines.h:90
t_CoolHeavy::O2_A2_tot
double O2_A2_tot
Definition: coolheavy.h:136
ipT374g
long ipT374g
Definition: atmdat_readin.cpp:44
ipT270
long ipT270
Definition: atmdat_readin.cpp:41
ipTO88
long ipTO88
Definition: atmdat_readin.cpp:53
t_carb::r9850
realnum r9850
Definition: carb.h:13
t_phycon::te03
double te03
Definition: phycon.h:59
ipT52
long ipT52
Definition: atmdat_readin.cpp:53
t_CoolHeavy::O7332
realnum O7332
Definition: coolheavy.h:131
t_CoolHeavy::coolOi
double coolOi
Definition: coolheavy.h:83
t_CoolHeavy::c5577
double c5577
Definition: coolheavy.h:75
phycon
t_phycon phycon
Definition: phycon.cpp:6
trace.h
t_phycon::te005
double te005
Definition: phycon.h:63
ipT780
long ipT780
Definition: atmdat_readin.cpp:54
DoppVel
t_DoppVel DoppVel
Definition: doppvel.cpp:5
ipT310
long ipT310
Definition: atmdat_readin.cpp:40
t_nitro::pump5199
double pump5199
pump of [NI] 5199 by FUV intercombination lines, only an estimate
Definition: nitro.h:29
t_CoolHeavy::O2_A3_tot
double O2_A3_tot
Definition: coolheavy.h:135
embesq.h
ipT370
long ipT370
Definition: atmdat_readin.cpp:42
t_embesq::em1486
realnum em1486
Definition: embesq.h:12
t_nitro::c5755
double c5755
Definition: nitro.h:22
lines_service.h
t_CoolHeavy::c3727
double c3727
Definition: coolheavy.h:79
ipC2_2327
long ipC2_2327
Definition: atmdat_readin.cpp:93
ipNITROGEN
const int ipNITROGEN
Definition: cddefines.h:311
t_CoolHeavy::c3343
double c3343
Definition: coolheavy.h:60
ipHYDROGEN
const int ipHYDROGEN
Definition: cddefines.h:305
atmdat.h
POW2
#define POW2
Definition: cddefines.h:929
ipTOI29
long ipTOI29
Definition: atmdat_readin.cpp:51
lindst
void lindst(double xInten, realnum wavelength, const char *chLab, long int ipnt, char chInfo, bool lgOutToo, const char *chComment)
Definition: lines_service.cpp:468
t_mole_local::findrate
double findrate(const char buf[]) const
Definition: mole_reactions.cpp:3900
t_CoolHeavy::c1565
double c1565
Definition: coolheavy.h:65
ipT1335
long ipT1335
Definition: atmdat_readin.cpp:38
ipT1486
long ipT1486
Definition: atmdat_readin.cpp:43
t_embesq::em895
realnum em895
Definition: embesq.h:13
ipT1656
long ipT1656
Definition: atmdat_readin.cpp:37
LineSave
t_LineSave LineSave
Definition: lines.cpp:5
t_oxy::s3727
realnum s3727
Definition: oxy.h:26
t_CoolHeavy::O2471
realnum O2471
Definition: coolheavy.h:129
ipT209
long ipT209
Definition: atmdat_readin.cpp:46
ipTNe36
long ipTNe36
Definition: atmdat_readin.cpp:56
GetLineRec
STATIC double GetLineRec(long int ip, long int lWl)
Definition: prt_lines_lv1_li_ne.cpp:1178
t_nitro::quench_5200
double quench_5200
Definition: nitro.h:11
ipT1039
long ipT1039
Definition: atmdat_readin.cpp:50
ipT895
long ipT895
Definition: atmdat_readin.cpp:55
ipT315
long ipT315
Definition: atmdat_readin.cpp:45
EXIT_FAILURE
#define EXIT_FAILURE
Definition: cddefines.h:140
ipT1243
long ipT1243
Definition: atmdat_readin.cpp:43
nitro.h
linadd
void linadd(double xInten, realnum wavelength, const char *chLab, char chInfo, const char *chComment)
Definition: lines_service.cpp:316
t_nitro::xN5198
double xN5198
Definition: nitro.h:15
carb
t_carb carb
Definition: carb.cpp:5
dense.h
t_CoolHeavy::c7325
double c7325
Definition: coolheavy.h:80
coolheavy.h
mole
t_mole_local mole
Definition: mole.cpp:7
trace
t_trace trace
Definition: trace.cpp:5
ipT280
long ipT280
Definition: atmdat_readin.cpp:40
t_DoppVel::TurbVel
realnum TurbVel
Definition: doppvel.h:12
cddefines.h
ipT324
long ipT324
Definition: atmdat_readin.cpp:45
t_CoolHeavy::c5577_frac_emit
double c5577_frac_emit
Definition: coolheavy.h:78
atoms
t_atoms atoms
Definition: atoms.cpp:5
t_embesq::em1218
realnum em1218
Definition: embesq.h:11
ipT2140
long ipT2140
Definition: atmdat_readin.cpp:45
TauLine2
TransitionList TauLine2("TauLine2", &AnonStates)
ipT333
long ipT333
Definition: atmdat_readin.cpp:46
t_CoolHeavy::c6300_frac_emit
double c6300_frac_emit
Definition: coolheavy.h:77
ipN3_1752
long ipN3_1752
Definition: atmdat_readin.cpp:92
ipT146
long ipT146
Definition: atmdat_readin.cpp:52
ipTOI11
long ipTOI11
Definition: atmdat_readin.cpp:51
t_carb::c8727
double c8727
Definition: carb.h:9
t_carb::c9850
double c9850
Definition: carb.h:10
ipC2_2328
long ipC2_2328
Definition: atmdat_readin.cpp:93
ipTOI13
long ipTOI13
Definition: atmdat_readin.cpp:50
MAX2
#define MAX2
Definition: cddefines.h:782
t_phycon::te30
double te30
Definition: phycon.h:53
ipT374x
long ipT374x
Definition: atmdat_readin.cpp:44
t_embesq::em1908
realnum em1908
Definition: embesq.h:9
ionbal
t_ionbal ionbal
Definition: ionbal.cpp:5
ipc31175
long ipc31175
Definition: atmdat_readin.cpp:40
ipN3_1754
long ipN3_1754
Definition: atmdat_readin.cpp:92
ipC2_2324
long ipC2_2324
Definition: atmdat_readin.cpp:93
cdEXIT
#define cdEXIT(FAIL)
Definition: cddefines.h:434
t_atmdat::HCharExcRecTo_N0_2D
double HCharExcRecTo_N0_2D
Definition: atmdat.h:159
t_CoolHeavy::c1134
double c1134
Definition: coolheavy.h:67
t_dense::xIonDense
double xIonDense[LIMELM][LIMELM+1]
Definition: dense.h:125
ipT122
long ipT122
Definition: atmdat_readin.cpp:46
TauLines
TransitionList TauLines("TauLines", &AnonStates)
t_phycon::te04
double te04
Definition: phycon.h:58
t_CoolHeavy::c3869
double c3869
Definition: coolheavy.h:61
doppvel.h
t_LineSave::RecCoefCNO
realnum RecCoefCNO[4][471]
Definition: lines.h:103
t_nitro::xN3466
double xN3466
Definition: nitro.h:17
ipT157
long ipT157
Definition: atmdat_readin.cpp:42
t_oxy::d5007t
realnum d5007t
Definition: oxy.h:11
ipT835
long ipT835
Definition: atmdat_readin.cpp:48
t_phycon::te40
double te40
Definition: phycon.h:52
PutLine
void PutLine(const TransitionProxy &t, const char *chComment, const char *chLabelTemp)
Definition: transition.cpp:449
ionbal.h
t_phycon::te10
double te10
Definition: phycon.h:55
t_nitro::xN10408
double xN10408
Definition: nitro.h:20
ipT1909
long ipT1909
Definition: atmdat_readin.cpp:38
ipT6363
long ipT6363
Definition: atmdat_readin.cpp:47
COLL_CONST
const UNUSED double COLL_CONST
Definition: physconst.h:229
ipT8446
long ipT8446
Definition: atmdat_readin.cpp:50
physconst.h
ipO4_1401
long ipO4_1401
Definition: atmdat_readin.cpp:91
t_CoolHeavy::O3726
realnum O3726
Definition: coolheavy.h:128
t_CoolHeavy::c5007
double c5007
Definition: coolheavy.h:82
ipT88
long ipT88
Definition: atmdat_readin.cpp:55
ipT765
long ipT765
Definition: atmdat_readin.cpp:43
ipT1085
long ipT1085
Definition: atmdat_readin.cpp:42
t_phycon::te70
double te70
Definition: phycon.h:51
t_atoms::popoi
double popoi[N_OI_LEVELS]
Definition: atoms.h:255
ipT977
long ipT977
Definition: atmdat_readin.cpp:39
ipT312
long ipT312
Definition: atmdat_readin.cpp:41
t_embesq::em13C1910
realnum em13C1910
Definition: embesq.h:10
nitro
t_nitro nitro
Definition: nitro.cpp:5
t_phycon::alogte
double alogte
Definition: phycon.h:82
t_mole_local::dissoc_rate
double dissoc_rate(const char chSpecies[]) const
Definition: mole_reactions.cpp:3999
ipHELIUM
const int ipHELIUM
Definition: cddefines.h:306
taulines.h
ipT386
long ipT386
Definition: atmdat_readin.cpp:39
ipT205
long ipT205
Definition: atmdat_readin.cpp:46
t_CoolHeavy::c2424
double c2424
Definition: coolheavy.h:63
CoolHeavy
t_CoolHeavy CoolHeavy
Definition: coolheavy.cpp:5
StuffComment
long int StuffComment(const char *chComment)
Definition: prt_final.cpp:1932
ipO4_1405
long ipO4_1405
Definition: atmdat_readin.cpp:91
phycon.h
embesq
t_embesq embesq
Definition: embesq.cpp:5
ipT150
long ipT150
Definition: atmdat_readin.cpp:52
atmdat
t_atmdat atmdat
Definition: atmdat.cpp:6
t_phycon::sqrte
double sqrte
Definition: phycon.h:48
ipN3_1747
long ipN3_1747
Definition: atmdat_readin.cpp:92
t_CoolHeavy::c2975
double c2975
Definition: coolheavy.h:64
ipT1032
long ipT1032
Definition: atmdat_readin.cpp:54
ipT789
long ipT789
Definition: atmdat_readin.cpp:49
ipC2_2329
long ipC2_2329
Definition: atmdat_readin.cpp:93
t_CoolHeavy::c4363
double c4363
Definition: coolheavy.h:81
ipT1666
long ipT1666
Definition: atmdat_readin.cpp:48
t_CoolHeavy::c3426
double c3426
Definition: coolheavy.h:66
ipT57
long ipT57
Definition: atmdat_readin.cpp:47
ipT274
long ipT274
Definition: atmdat_readin.cpp:41
oxy.h
ipxNe0676
long ipxNe0676
Definition: atmdat_readin.cpp:55
ipTNe13
long ipTNe13
Definition: atmdat_readin.cpp:55
ipT1214
long ipT1214
Definition: atmdat_readin.cpp:52
ipTNe16
long ipTNe16
Definition: atmdat_readin.cpp:56
ipT1548
long ipT1548
Definition: atmdat_readin.cpp:39
t_phycon::te
double te
Definition: phycon.h:11
ipT1200
long ipT1200
Definition: atmdat_readin.cpp:44
t_nitro::xN10398
double xN10398
Definition: nitro.h:18
ipNI_pumpDirect
long ipNI_pumpDirect[NI_NDP]
Definition: atmdat_readin.cpp:98
ipT291
long ipT291
Definition: atmdat_readin.cpp:40
carb.h
ipTNe14
long ipTNe14
Definition: atmdat_readin.cpp:56
t_oxy::s7325
realnum s7325
Definition: oxy.h:27
ipN3_1749
long ipN3_1749
Definition: atmdat_readin.cpp:92
ipT1239
long ipT1239
Definition: atmdat_readin.cpp:44
ipN3_1751
long ipN3_1751
Definition: atmdat_readin.cpp:92
ipT630
long ipT630
Definition: atmdat_readin.cpp:49
DEBUG_ENTRY
#define DEBUG_ENTRY(funcname)
Definition: cddefines.h:684
oxy
t_oxy oxy
Definition: oxy.cpp:5
t_trace::lgTrace
bool lgTrace
Definition: trace.h:12
t_nitro::xN3467
double xN3467
Definition: nitro.h:16
ipT6300
long ipT6300
Definition: atmdat_readin.cpp:47
ipT26
long ipT26
Definition: atmdat_readin.cpp:53
SMALLFLOAT
const realnum SMALLFLOAT
Definition: cpu.h:191
t_nitro::xN10407
double xN10407
Definition: nitro.h:21
ipT610
long ipT610
Definition: atmdat_readin.cpp:41
t_nitro::xN2_A3_tot
double xN2_A3_tot
Definition: nitro.h:26
ipT1550
long ipT1550
Definition: atmdat_readin.cpp:39
ipO4_1407
long ipO4_1407
Definition: atmdat_readin.cpp:91
t_nitro::c6584
double c6584
Definition: nitro.h:23
TransitionList::Emis
EmissionList & Emis()
Definition: transition.h:329
lines_lv1_li_ne
void lines_lv1_li_ne(void)
Definition: prt_lines_lv1_li_ne.cpp:30