cloudy  trunk
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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-2008 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 
91  PutLine(&TauLines[ipT1656],
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  linadd(carb.c9850,9850,"C Ic",'c',
98  " C 1 9850, coll excit" );
99 
100  /* >>chng 97 may 02, added better rec coefficient
101  * C 1 9850, recombination contribution rec coefficient from
102  * >>refer C1 rec Escalante, Vladimir, & Victor, G.A., 1990, ApJS 73, 513.
103  * r9850 is correction for collisional deexcitation as in carb cool
104  * >>chng 97 aug 2, had factor of rec, changed to r9850, this
105  * was a big mistake */
106  rec = (GetLineRec(1,9088) + GetLineRec(2,9658))*carb.r9850;
107  linadd(rec,9850,"C Ir",'i',
108  " C I 9850 recombination contribution" );
109 
110  PntForLine(9850.,"C 1",&ipnt);
111  lindst(rec+carb.c9850,9850,"TOTL",ipnt,'i',true ,
112  " total intensity, all processes, C I 9850");
113 
114 
115  PntForLine(8727.,"C 1",&ipnt);
116  lindst(carb.c8727,8727,"C 1",ipnt,'c',true,
117  "C 1 8727; equivalent to 4363" );
118 
119  linadd(carb.c8727*1.22e-6,4621,"C 1",'c',
120  " 1S - 3P" );
121 
123  " C 1 610 micron ");
124 
126  " C 1 370 micron ");
127 
129  " C 2 158 micron, both e- and H0, H2 in excitation ");
130 
131  linadd(
132  TauLines[ipC2_2325].Emis->xIntensity+
137  2326,"TOTL",'i',
138  " total intensity of C II] 2326, all lines in the multiplet " );
140  " ");
142  " ");
144  " ");
146  " ");
148  " ");
149 
150  linadd(carb.p2326*8.6e-12,2326,"Phot",'i' ,
151  " photoproduction, Helfand and Trefftz");
152 
153  /* >>chng 97 may 02, better rec coef */
154  /*rec = GetLineRec(11,1335)*(1.-TauLines[ipT1335].ColOvTot);*/
155  /* >>chng 02 jul 01, add function to return emission probability */
156  rec = GetLineRec(11,1335)*emit_frac(&TauLines[ipT1335]);
157 
158  /* total intensity of C 2 1335 */
159  PutExtra(MAX2(0.,rec));
160  PutLine(&TauLines[ipT1335],
161  " total intensity of C 2 1335");
162 
163  linadd(rec,1335,"REC ",'i',
164  " C 2 1335 recombination," );
165 
166  /* the CII 3918.98/3920.68 and 6578.05/6582.88 multiplets,
167  * contributions by both continuum pumping through XUV line
168  * and recombination */
169  /* this is the driving line, pump is photons cm^-3 s^-1 */
170  if( nWindLine > 0 )
171  {
172  pump = TauLine2[186].Emis->pump*TauLine2[186].Emis->PopOpc;
173  }
174  else
175  {
176  pump = 0.;
177  }
178 
179 
180  PntForLine(3920.,"C 2",&ipnt);
181  lindst(pump*0.387 * 5.08e-12/(1.+dense.eden/1e12) ,3920,"pump",ipnt,'i',true ,
182  " CII 3918.98/3920.68 is only pumped, no recombination part");
183 
184  /* recombination and specific pump for CII 5684 */
185  rec = GetLineRec(8, 6580 );
186  /* convert UV pump rate to intensity with branching ratio and hnu */
187  pump *= 0.305 * 0.387 * 3.02e-12;
188  linadd(rec/(1.+dense.eden/1e12),6580,"C 2r",'i',
189  " recombination part of C II 6580 line " );
190  linadd(pump/(1.+dense.eden/1e12),6580,"C 2p",'i',
191  " pumped part of line C II 6580" );
192 
193  PntForLine(6580.,"C 2",&ipnt);
194  lindst((rec+pump)/(1.+dense.eden/1e12),6580,"TOTL",ipnt,'i',true ,
195  " total intensity, all processes, C II 6580");
196 
197  /* C 3 977
198  * recombination contribution from nussbaumer and story 84 */
199  /*rec = GetLineRec(179,977)*(1.-TauLines[ipT977].ColOvTot);*/
200  /* >>chng 02 jul 01, add function to compute emission fraction */
201  rec = GetLineRec(179,977)*emit_frac(&TauLines[ipT977]);
202 
203  /* continuum pumped C 3 977 by continuum near 386A */
205 
206  /* higher lines, same process */
212 
213  /* total line intensity due to pumping */
214  /*p386 = (rp386 + rp300)*2.03e-11*(1.-TauLines[ipT977].ColOvTot);*/
215  /* >>chng 02 jul 01, add function to compute emission fraction */
216  p386 = (rp386 + rp300)*2.03e-11*emit_frac(&TauLines[ipT977]);
217 
218  /* total C 3 977 including recombination and pumping */
219  PutExtra(p386+MAX2(0.,rec));
220 
221  PutLine(&TauLines[ipT977],
222  " total C 3] 977, recombination + collisional + pumped excitation ");
223 
224  linadd(rec,977,"C3 R",'i',
225  " dielectronic recombination contribution to C 3 977 " );
226 
227  linadd(p386,977,"P386",'r',
228  " C 3 977 pumped by continuum near 386A" );
229 
230  /* C 3 1909 collision, both lines together */
232  lindst(fac,1909,"TOTL",TauLines[ipT1909].ipCont,'i',false,
233  "C 3 1909 collision, both lines together");
234 
236  "C III 19091");
237 
238  PntForLine(1907.,"C 3",&ipnt);
239  lindst(embesq.em1908,1907,"C 3",ipnt,'i',true,
240  " C 3 1908 j-2 to ground" );
241 
242  lindst(embesq.em13C1910,1910,"13C3",ipnt,'i',true,
243  " the 13C forbidden line of C III " );
244 
245  /*corr = 1.-TauLines[ipT1909].ColOvTot;*/
246  /* >>chng 02 jul 01, add function to compute emission fraction */
247  corr = emit_frac(&TauLines[ipT1909]);
249  ionbal.DielSupprs[1][2];
250 
251  linadd(3.1e-19*fac*corr,1909,"C3 R",'i',
252  " C 3 1909 recombination from Storey" );
253 
254  linadd(carb.p1909*corr*1.05e-11,1909,"Phot",'i',
255  " C 3 1909 following relax following inner shell photoionization" );
256 
257  /* >>chng 97 may 02, better rec ocef */
258  /*rec = GetLineRec(178,1176)*(1.-TauLines[ipc31175].ColOvTot);*/
259  /* >>chng 02 jul 01, add function to compute emission fraction */
260  rec = GetLineRec(178,1176)*emit_frac(&TauLines[ipc31175]);
261  PutExtra(MAX2(0.,rec));
262 
263  PutLine(&TauLines[ipc31175],
264  " C 3* 1175, excited state line, above 1909 ");
265 
266  linadd(MAX2(0.,rec),1175,"Rec ",'i',
267  " dielectronic recombination contribution to C 3 1175 " );
268 
269  /* recombination C 4 1549 from C 5
270  * >>chng 97 may 02, better rec coef */
271  /*rec = GetLineRec(25,1549)*(1.-TauLines[ipT1550].ColOvTot);*/
272  /* >>chng 02 jul 01, add function to compute emission fraction */
273  rec = GetLineRec(25,1549)*emit_frac(&TauLines[ipT1550]);
274 
275  linadd(
276  TauLines[ipT1550].Emis->xIntensity+
278  rec,1549,"TOTL",'i',"total intensity of C 4 1549, all processes " );
279 
280  sum =
283 
284  linadd(sum+rec*TauLines[ipT1550].Emis->FracInwd,1549,"Inwd",'i',
285  "inward part of C 4 " );
286 
287  PutExtra(rec*.3333);
288  PutLine(&TauLines[ipT1550],
289  " ");
290 
291  PutExtra(rec*.6666);
293  " ");
294 
295  linadd((TauLines[ipT1550].Emis->ots+
296  TauLines[ipT1548].Emis->ots)*TauLines[ipT1548].EnergyErg,
297  1549,"DEST",'i',
298  " part of line destroyed by photoionization of Balmer continuum " );
299 
300  linadd(rec,1549,"C4 r",'i',
301  " recombination C 4 1549 from CV" );
302 
304  " Li seq 2s 3p Li seq transition");
305 
306  /* nitrogen */
307 
308  /* 5200 rec, both rad+di, 1/3 of total to doublets
309  colfac = COLL_CONST/phycon.sqrte*dense.eden;
310  cs5200 = 7.28e-5*phycon.te/phycon.te10;*/
311  /* ratio of radiative to total deexcitations
312  quench = 1.24e-5/(1.24e-5 + colfac * cs5200);
313  quench = nitro.quench_5200;*/
314 
315  {
316  /*double recrate = GetLineRec(32,1200);*/
317  /*>>chng 06 jul 10, activate - this is rate coefficient cm3 s-1 from
318  *>>refer NI rec Pequignot, D., Petijean, P. & Boisson, C. 1991, A&A, 251, 680 */
319  double recrate_new = 1.108e-13 * pow( (phycon.te*1e-4) , -0.6085) /
320  (1. - 0.0041 * pow( (phycon.te*1e-4) , -0.3975 ) ) *
321  /* this is electron and ion density */
323  /* ergs per 5199 photon */
324  3.83e-12;
325 # if 0
326 # endif
327  /* this is recombination with quenching
328  * rec has units erg cm-3 s-1 */
329  rec = recrate_new * nitro.quench_5200;
330  }
331 
332  /**** Terry's addition **************/
333  linadd(rec,5199,"TOTr",'i',
334  " recombination Nitrogen I 5200 + 5198 together " );
335 
336  /* this is upper limit to production of 5200 by chemistry - assume every photo dissociation
337  * populates upper level
338  * co.nitro_dissoc_rate is the total N photo dissociation rate, cm-3 s-1 */
339  chem = co.nitro_dissoc_rate * 3.83e-12 * nitro.quench_5200;
340  linadd(chem,5200,"chem",'i',
341  " upper limit to [N I] 5200 produced by chemistry" );
342 
343  pump = nitro.pump_rate_N1 * nitro.quench_5200 * 3.83e-12 *
345  linadd(pump,5199,"pump",'i',
346  " guess of contribution from pumping by FUV lines, evaluated in CoolNitr assumes 100% of triplet pumps goes to singlets - this is surely a large overestimate so will only print intensity, do not add to total line " );
347 
348  /* this is upper limit to production of 5200 by charge transfer -
349  * atmdat.HCharExcRecTo_N0_2D is the rate coefficient (cm3 s-1) for N+(3P) + H0 -> H+ + N0(2D) */
351  3.83e-12 * nitro.quench_5200;
352  /* */
353  linadd(ctRate,5200,"H CT",'i',
354  " upper limit to [N I] 5200 produced by charge transfer" );
355 
356  linadd(nitro.xN5200,5200,"N 1c",'c',
357  " [N I] 5200 - just collisions" );
358 
359  linadd(nitro.xN5198,5198,"N 1c",'c',
360  " [N I] 5198 - just collisions" );
361 
362  /* >>chng 06 jul 08, add chem process to total assuming in proportional to stat weight */
363  linadd(nitro.xN5200 + (ctRate+chem+rec)*0.6 , 5200 ,"N 1",'i',
364  "[N I] 5200 - all processes - stat weight is 6 - total in term is 10" );
365 
366  linadd(nitro.xN5198 + (ctRate+chem+rec)*0.4 , 5198 ,"N 1",'i',
367  "[N I] 5198 - all processes - stat weight is 4 - total in term is 10 " );
368 
369  PntForLine(5200.,"N1 o",&ipnt);
370  lindst(nitro.xN5200+nitro.xN5198 + (ctRate+chem+rec) , 5199 , "TOTL",ipnt , 'i',true,
371  " [N I] 5200 + 5198 together " );
372 
373  linadd(nitro.xN3466,3466,"N 1",'c',
374  "[N I] 3466 together " );
375 
376  linadd(nitro.xN3467,3468,"N 1",'c',
377  " [N I] 3467 together " );
378 
379  linadd(nitro.xN3467+nitro.xN3466,3467,"TOTL",'i',
380  " [N I] 3467, 3466 together " );
381 
382  linadd(nitro.xN10408, 10408, "N 1",'c',
383  " " );
384 
385  linadd(nitro.xN10397+nitro.xN10398+nitro.xN10407, 10404,"N 1", 'c',
386  " Nitrogen I 10397, 10408, 10407 together");
387 
389  " Nitrogen I 10398, 10397, 10408, 10407 together");
390 
391  /*************************/
392 
394  linadd(nitro.c5200+rec,5200,"N1 o",'i',
395  " N 1 5200, both 5198, 5200, collisions and recombination ");
396 
397  linadd(nitro.c5200,5200,"Colo",'c',
398  " N 1 5200, both 5198, 5200, collisions and recombination " );
399 
400  linadd(rec,5200,"REC ",'i',
401  " recombination contribution to [NI] 5200" );
402 
403  PntForLine(3466.,"N 1",&ipnt);
404  lindst(nitro.c3466,3466,"N1 o",ipnt,'c',true,
405  " [N 1] 3466, 3 - 1 transition, whole multiplet" );
406 
407  PntForLine(10400.,"N 1",&ipnt);
408  lindst(nitro.c10400,10400,"N1 o",ipnt,'c',true ,
409  " [N 1] 10400 3 - 2 transition, whole multiplet");
410 
412  " collisionally excited part ");
413 
415  " 6 lines with fake collision strengths" );
417  " " );
419  " " );
421  " " );
423  " " );
425  " " );
426 
427  PntForLine(6584.,"N 2",&ipnt);
428  lindst(nitro.c6584/(1.+1./2.951),6584,"N 2",ipnt,'c',true ,
429  " N 2 6584 alone " );
430 
431  PntForLine(6548.,"N 2",&ipnt);
432  lindst(nitro.c6584/(1.+2.951),6548,"N 2",ipnt,'c',true,
433  " N 2 6548 alone " );
434 
435  efficn2 = 4e-3/(4e-3 + 5.18e-6*dense.eden/phycon.sqrte);
436  r6584 = 8e-22/(phycon.te70/phycon.te03/phycon.te03)*efficn2;
437  linadd(r6584*dense.xIonDense[ipNITROGEN][2]*dense.eden,6584,"REC ", 'i',
438  " N 2 6584 alone, recombination contribution" );
439 
440  /* helium charge transfer from
441  >>refer n2 CT Sun Sadeghpour, Kirby Dalgarno and Lafyatis, CfA preprint 4208 */
442  ctRate = 1.8e-11*dense.xIonDense[ipHELIUM][0]*dense.xIonDense[ipNITROGEN][2]*1.146/(1.146 +
443  0.87*dense.cdsqte)*3.46e-12;
444 
445  /* >>chng 01 jul 09, add recombination contribution to 5755 */
446  /* >>refer n2 rec Liu, X.W., Storey, P.J., Barlow, M.J., Danziger, I.J., Cohen, M.,
447  * >>refercon & Bryce, M., 2000, MNRAS, 312, 585 */
448  /* they give intensity in terms of hbeta intensity as their equation 1 */
450  {
451  /* this test on >0 is necessary because for sims with no H-ionizing radiation
452  * the H+ density is initially zero */
453  /* H beta recombination, assuming old case B, needed since HS tables have
454  * only a narrow temperature range - at this point units are ergs cm^3 s-1 */
455  HBeta = (pow(10.,-20.89 - 0.10612*POW2(phycon.alogte - 4.4)))/phycon.te;
456 
457  /* now convert to ergs cm-3 s-1
458  * >>chng 05 mar 17, this step was missing, so recombination intensity off by density squared,
459  * bug reported by Marcelo Castellanos */
460  HBeta *= dense.eden * dense.xIonDense[ipHYDROGEN][1];
461 
462  /* CoolHeavy.xN2_A3_tot is fraction of excitations that produce a photon
463  * and represents the correction for collisional deexcitation */
464  /*>>chng 05 dec 16, Liu et al. (2000) eqn 1 uses t = Te/10^4 K, not Te so phycon.te30
465  * is too large: (10^4)^0.3 = 16 - div by 15.8489 - bug caught by Kevin Blagrave */
466  rec = nitro.xN2_A3_tot * HBeta *
467  3.19 * phycon.te30 / 15.84893 * dense.xIonDense[ipNITROGEN][2]/dense.xIonDense[ipHYDROGEN][1];
468  }
469  else
470  {
471  HBeta = 0.;
472  rec = 0.;
473  }
474 
475  PntForLine(5755.,"N 2",&ipnt);
476  lindst(nitro.c5755+ctRate+rec ,5755,"N 2",ipnt,'i',true,
477  " N 2 5755 total, collisions plus charge transfer plus recombination" );
478 
479  linadd(nitro.c5755,5755,"Coll",'c',
480  " N 2 5755 collisional contribution" );
481 
482  linadd(ctRate,5755,"C T ",'i',
483  " N 2 5755 charge transfer contribution " );
484 
485  linadd( rec ,5755,"N 2r",'i',
486  " N 2 5755 recombination contribution" );
487 
489  " N 2 fine structure line ");
490 
492  " N 2 fine structure line " );
493 
495  " N 2 2140 intercombination line " );
496 
497  /* >>chng 97 may 02, better rec contribution */
498  /*rec = GetLineRec(201,1085)*(1.-TauLines[ipT1085].ColOvTot);*/
499  /* >>chng 02 jul 01, add function to compute emission fraction */
500  rec = GetLineRec(201,1085)*emit_frac(&TauLines[ipT1085]);
501  PutExtra(MAX2(0.,rec));
502 
503  PutLine(&TauLines[ipT1085],
504  " N 2 1084, CS guess from g-bar " );
505 
506  linadd(MAX2(0.,rec),1085,"Rec ",'i',
507  " dielectronic recombination contribution to N 2 1085" );
508 
509  /* continuum pumping of N 2 intersystem transition */
511 
512  linadd(rnii*0.377*0.75*3.02e-12*efficn2,6584,"N2cn",'i',
513  " continuum pumped N 2 6584 " );
514 
515  efficn2 = 1./(1. + COLL_CONST*dense.eden/phycon.sqrte);
516  linadd(rnii*0.0117*3.46e-12*efficn2,5755,"N2cn",'i',
517  " continuum pumped N 2 5755" );
518 
519  /* pumping of the NII 509A line excites 2p4s ^3P^o,
520  * which decays through the 3328, 5679, and 671 multiplets
521  * the NII 3311 (6 lines), 3840 (6 lines), and 3600 (3 lines) multiplets,
522  * contributions by both continuum pumping through XUV line
523  * and recombination */
524  /* this is the driving line, pump is photons cm^-3 s^-1 */
525  if( nWindLine > 0 )
526  {
527  pump = TauLine2[265].Emis->pump*TauLine2[265].Emis->PopOpc;
528  }
529  else
530  {
531  pump = 0.;
532  }
533 
534  PntForLine(3311.,"N 2",&ipnt);
535  lindst(pump*0.236 * 6.01e-12/(1.+dense.eden/1e12) ,3311,"pump",ipnt,'i',true,
536  " NII 3311.42 - 3331.31 (6 lines) are only pumped, no recombination part" );
537 
538  PntForLine(3840.,"N 2",&ipnt);
539  lindst(pump*0.186 * 5.18e-12/(1.+dense.eden/1e12) ,3840,"pump",ipnt,'i',true,
540  " NII 3829.8-3856.06 (6 lines) are only pumped, no recombination part" );
541 
542  PntForLine(3609.,"N 2",&ipnt);
543  lindst(pump*0.025 * 5.52e-12/(1.+dense.eden/1e12) ,3609,"pump",ipnt,'i',true,
544  " NII 3593.60/3609.1/3615.86 (3 lines) are only pumped, no recombination part" );
545 
546 
547  PntForLine(4640.,"N 2",&ipnt);
548  lindst(pump*0.186*0.595 * 4.31e-12/(1.+dense.eden/1e12) ,4640,"pump",ipnt,'i',true ,
549  " NII 4601.5-4643.1 (6 lines) are only pumped, no recombination part");
550 
551  PntForLine(5010.,"N 2",&ipnt);
552  lindst(pump*0.025*0.442 * 3.97e-12/(1.+dense.eden/1e12) ,5010,"pump",ipnt,'i',true,
553  " NII 5002.7/5010.6/5045.1 (3 lines) are only pumped, no recombination part " );
554 
555  /* recombination and specific pump for NII 5679 */
556  rec = GetLineRec(44, 5679 );
557  /* convert UV pump rate to intensity with branching ratio and hnu */
558  pump *= 0.236 * 0.626 * 3.50e-12;
559 
560  linadd(rec/(1.+dense.eden/1e12),5679,"N 2r",'i',
561  " recombination part of N II 5679 line" );
562 
563  linadd(pump/(1.+dense.eden/1e12),5679,"N 2p",'i',
564  " pumped part of line N II 5679 " );
565 
566  PntForLine(5679.,"N 2",&ipnt);
567  lindst((rec+pump)/(1.+dense.eden/1e12),5679,"TOTL",ipnt,'i',true,
568  " total intensity, all processes, N II 5679 " );
569 
571  " [N 3] 57 micron fine structure line");
572 
573  linadd(
574  TauLines[ipN3_1749].Emis->xIntensity+
579  1750,"TOTL",'i',
580  " total intensity of N III] 1750, all lines in the multiplet " );
582  " ");
584  " ");
586  " ");
588  " ");
589  PutLine(&TauLines[ipN3_1751],
590  " ");
591 
592  /* continuum pumped "Bowen" N 3
593  * rate system a is populated */
595 
596  /* rate system b is populated */
597  if( DoppVel.TurbVel < 200. )
598  {
601  }
602  else
603  {
604  /* only one line if both fully overlap due to large turb */
606  }
607 
608  rn3mor =
612 
613  /* pumping of optical N 3 bowen lines */
614  rn3tot = (rb + raten3)*0.439 + rn3mor;
615 
616  sum = raten3*4.29e-12;
617  PntForLine(4640.,"N3cn",&ipnt);
618  lindst(sum,4640,"N3cn",ipnt,'i',true ,
619  " continuum pumped \"Bowen\" N 3, optically thin excited line ");
620 
621  /* */
622  sum = rb*4.29e-12*0.834;
623  PntForLine(4634.,"N3cn",&ipnt);
624  lindst(sum,4634,"N3cn",ipnt,'i',true ,
625  " continuum pumped \"Bowen\" N 3, optically thin excited line");
626 
627  sum = rb*4.29e-12*(1. - 0.834);
628  PntForLine(4642.,"N3cn",&ipnt);
629  lindst(sum,4642,"N3cn",ipnt,'i',true,
630  " continuum pumped \"Bowen\" N 3, optically thin excited line" );
631 
632  /* total rate for N 3 990
633  * correction factor for collisional deexcitation */
634  /*fac = 1.-TauLines[ipT990].ColOvTot;*/
635  /* >>chng 02 jul 01, add function to compute emission fraction */
636  fac = 1.-emit_frac(&TauLines[ipT990]);
637 
638  /* >>chng 97 may 02, better rec coef */
639  /*rec = GetLineRec(216,991)*(1.-TauLines[ipT990].ColOvTot);*/
640  /* >>chng 02 jul 01, add function to compute emission fraction */
641  rec = GetLineRec(216,991)*emit_frac(&TauLines[ipT990] );
642  PutExtra(MAX2(0.,rec)+rn3tot*2.01e-11*fac);
643 
644  PutLine(&TauLines[ipT990],
645  " N 3 990, all processes ");
646 
647  linadd(rec+rn3tot*2.01e-11*fac,990,"extr",'i',
648  " total N 3 990, both electron excitation and continuum pumping" );
649 
650  linadd(rec,990,"rec ",'i',
651  " part of N 3 990 due to recombination " );
652 
653  linadd(rn3tot*2.01e-11,990,"N 3p",'r',
654  " N 3 989.8, continuum pumped" );
655 
656  linadd(embesq.em1486+TauLines[ipT1486].Emis->xIntensity,1486,"TOTL",'i',
657  " N 4] 1486, total intensity of both lines" );
658 
659  PutLine(&TauLines[ipT1486],
660  " ");
661 
662  linadd(embesq.em1486,1485,"N 4",'i',
663  " the N 4] slow transition by itself " );
664 
665  /* >>chng 97 may 02, better expression for dielectronic recombination */
666  /*rec = GetLineRec(287,765)*(1.-TauLines[ipT765].ColOvTot);*/
667  /* >>chng 02 jul 01, add function to get emission fraction */
668  rec = GetLineRec(287,765)*emit_frac(&TauLines[ipT765] );
669 
670  /* dielectronic recombination contribution from Nussbaumer and Storey 1984 */
671  PutExtra(rec);
672 
673  PutLine(&TauLines[ipT765],
674  " N 4 765, collisionally excited");
675 
676  linadd(MAX2(0.,rec),765,"rec ",'i',
677  " N 4 765 recombination," );
678 
679  linadd(TauLines[ipT1243].Emis->xIntensity+TauLines[ipT1239].Emis->xIntensity,1240,"TOTL",'i',
680  " continuum pumping of NV 1240, N 5 1240, total emission, collisions plus pumping " );
683 
684  linadd(sum,1240,"Inwd",'i',
685  " inward part of N 5 " );
687  " ");
688  PutLine(&TauLines[ipT1239],
689  " ");
690 
692  " N 5 209, 2s-3p Li seq ");
693 
694  PntForLine(6300.,"O 1",&ipnt);
695  lindst(CoolHeavy.c6300,6300,"O 1",ipnt,'c',true ,
696  " oxygen total Oxygen I 6300, including continuum optical depth ");
697 
698  /* the intensity of [OI] 6300 line due to OH photodistruction */
699  /* last term is fraction that emit rather than collisionally deexcited,
700  * factor of 0.55 is branching ratio from chemistry for producing
701  * OI in correct excited state
702  * this is used to get OH photo formation of [OI] 6300
703  *>>refer OI photoexcitation Storzer, H., & Hollenbach, D. 2000, ApJ, 539, 751-759
704  * discussion on bottom left side of page 752 */
705  /* rate_OH_dissoc is number of OH destruction events, OH -> O + H, cm-3 s-1,
706  * 0.55 is fraction of OH dissociation that lead to pop of upper level of 6300
707  * r12 is energy emitted per unit vol, erg cm-3 s-1, in 6300, due to OH dest */
708  rate_OH_dissoc = CO_findrate("PHOTON,OH=>O,H");
709  r12 = rate_OH_dissoc * 0.55 * 3.16e-12 * CoolHeavy.c6300_frac_emit;
710 
712  6300., "OH p",ipnt , 'i' , false,
713  " the intensity of [OI] 6300 line due to OH photodistruction");
714 
715  lindst( r12*TauLines[ipT6363].Emis->Aul/(TauLines[ipT6300].Emis->Aul+TauLines[ipT6363].Emis->Aul) ,
716  6363., "OH p",ipnt , 'i' , false,
717  " the intensity of [OI] 6363 line due to OH photodistruction ");
718 
719  PntForLine(6363.,"O 1",&ipnt);
720  lindst(CoolHeavy.c6363,6363,"O 1",ipnt,'c',true,
721  " total Oxygen I 6363, including continuum optical depth " );
722 
723  PntForLine(5577.,"O 1",&ipnt);
724  lindst(CoolHeavy.c5577,5577,"O 1",ipnt,'c',true,
725  " auroral OI " );
726 
727  r13 = rate_OH_dissoc * 0.05 * 3.57e-12 * 0.94*CoolHeavy.c5577_frac_emit;
728  lindst( r13 , 5577., "OH p",ipnt , 'i', false,
729  " 94% of excitations to highest level decay via 5577" );
730 
732  " O I fine structure line ");
733 
735  " O I fine structure line ");
736 
737  linadd(MAX2(0.,CoolHeavy.coolOi),0,"TOIc",'c',
738  " total collisional cooling due to 6-level OI atom" );
739 
740  linadd(MAX2(0.,-CoolHeavy.coolOi),0,"TOIh",'h',
741  " total collisional heating due to 6-level OI atom " );
742 
743  /* OI 8446 from six level atom */
744  /* >>chng 04 nov 15, upper level for 8446 was incorrect - was 4 should have been 2
745  * bug caught by Yoshiki Matsuoka *
746  *sum = atoms.popoi[4]*TauLines[ipT8446].Pesc*TauLines[ipT8446].Aul*2.36e-12;*/
747  sum = atoms.popoi[2]*TauLines[ipT8446].Emis->Pesc*TauLines[ipT8446].Emis->Aul*2.36e-12;
748  PntForLine(8446.,"O 1",&ipnt);
749 
750  lindst(sum,8446,"6lev",ipnt,'i',false,
751  " * \todo 2 these are actually in the optical depth arrays, should be moved to call PutLine - but some needed vars are not defined in structure " );
752 
753  PntForLine(1304.,"O 1",&ipnt);
754  sum = atoms.popoi[1]*TauLines[ipT1304].Emis->Pesc*TauLines[ipT1304].Emis->Aul*1.53e-11;
755  lindst(sum,1304,"6lev",ipnt,'i',false,
756  " OI 1304 from six level atom " );
757 
758  PntForLine(1039.,"O 1",&ipnt);
759  sum = atoms.popoi[3]*TauLines[ipT1039].Emis->Pesc*TauLines[ipT1039].Emis->Aul*1.92e-11;
760  lindst(sum,1039,"6lev",ipnt,'i',false ,
761  " OI 1039 from six level atom");
762 
763  PntForLine(4368.,"O 1",&ipnt);
764  sum = atoms.popoi[5]*TauLines[ipT4368].Emis->Pesc*TauLines[ipT4368].Emis->Aul*4.55e-12;
765  lindst(sum,4368,"6lev",ipnt,'i',false,
766  " OI 4368 from six level atom" );
767 
768  PntForLine(13100.,"O 1",&ipnt);
769  sum = atoms.popoi[3]*TauLines[ipTOI13].Emis->Pesc*TauLines[ipTOI13].Emis->Aul*1.52e-12;
770  lindst(sum,13100,"6lev",ipnt,'i',false ,
771  "OI 1.3 micron from six level atom");
772 
773  PntForLine(11300.,"O 1",&ipnt);
774  sum = atoms.popoi[4]*TauLines[ipTOI11].Emis->Pesc*TauLines[ipTOI11].Emis->Aul*1.76e-12;
775  lindst(sum,11300,"6lev",ipnt,'i',false ,
776  " OI 1.1 micron from six level atom");
777 
778  PntForLine(29000.,"O 1",&ipnt);
779  sum = atoms.popoi[5]*TauLines[ipTOI29].Emis->Pesc*TauLines[ipTOI29].Emis->Aul*6.86e-13;
780  lindst(sum,29000,"6lev",ipnt,'i',false ,
781  " OI 2.9 micron from six level atom");
782 
783  PntForLine(46000.,"O 1",&ipnt);
784  sum = atoms.popoi[5]*TauLines[ipTOI46].Emis->Pesc*TauLines[ipTOI46].Emis->Aul*4.32e-13;
785  lindst(sum,46000,"6lev",ipnt,'i',false ,
786  " OI 4.6 micron from six level atom");
787 
788  /*double rec7323 , rec7332, rec3730 , rec3726 , rec2471
789  * reco23tot , reco22tot;*/
790 
791  /* total recombination to 2P^o, the highest two levels of the 5-level atom,
792  * which produces the 7325 multiplet, last factor accounts for coll deexcitation
793  * this implements equation 2 of
794  * refer o2 rec Liu, X-W., Storey, P.J., Barlow, M.J., Danziger, I.J.,
795  * refercon Cohen, M., & Bryce, M., 2000, MNRAS, 312, 585 */
796  /* >>chng 05 dec 29, from first eqn, or unknown origin, to second, from indicated
797  * reference. They agreed within 20% */
798  /*reco23tot = 3.484e-11 / ( phycon.sqrte / phycon.te05 * phycon.te003 ) *
799  dense.eden * dense.xIonDense[ipOXYGEN][2] * CoolHeavy.O2_A3_tot *2.72e-12;*/
801  {
802  /* this test is necessary because for sims with no H-ionizing radiation
803  * the H+ density is initially zero */
804  reco23tot = CoolHeavy.O2_A3_tot * HBeta *
806  }
807  else
808  {
809  reco23tot = 0.;
810  }
811 
812  sum = CoolHeavy.O2471*2471./7325. + CoolHeavy.O7323 + CoolHeavy.O7332;
813  if( sum > SMALLFLOAT )
814  {
815  /* assume effective branching ratio according to predicted intensities from 5-lev atom*/
816  reco23tot /= sum;
817  }
818  else
819  {
820  reco23tot = 0.;
821  }
822  /* these are now ergs per sec unit vol for each transition */
823  rec7323 = reco23tot * CoolHeavy.O7323;
824  rec7332 = reco23tot * CoolHeavy.O7332;
825  rec2471 = reco23tot * CoolHeavy.O2471*2471./7325. * 8.05e-12/2.72e-12;
826 
827  /* total recombination to 2D^o, the middle two levels of the 5-level atom,
828  * which produces the 3727 multiplet, last factor accounts for coll deexcit */
829  reco22tot = 1.660e-10 / ( phycon.sqrte * phycon.te03 * phycon.te005 ) *
831  /* assume effective branching ratio according to predicted intensities from 5-lev atom*/
832  sum = CoolHeavy.O3726 + CoolHeavy.O3730;
833  if( sum > SMALLFLOAT )
834  {
835  reco22tot /= sum;
836  }
837  else
838  {
839  reco22tot = 0.;
840  }
841  /* these are now ergs per sec unit vol for each transition */
842  rec3726 = reco22tot * CoolHeavy.O3726 * 5.34e-12;
843  rec3730 = reco22tot * CoolHeavy.O3730 * 5.34e-12;
844 
845  /* O II 3727 produced by photoionization OF O0 */
846  oxy.s3727 = (realnum)((oxy.s3727 + oxy.s7325*0.5)*5.34e-12*
847  9.7e-5/(9.7e-5 + dense.eden*1.15e-6/phycon.sqrte));
848 
849  PntForLine(3727.,"O 2",&ipnt);
850  fac = CoolHeavy.c3727+oxy.s3727+rec3726+rec3730;
851  lindst(fac ,3727,"TOTL",ipnt,'c',true,
852  " O II 3727, all lines of multiplet together " );
853 
854  PntForLine(7325.,"O 2",&ipnt);
855  fac = CoolHeavy.c7325+rec7323+rec7332;
856  lindst( fac ,7325,"TOTL",ipnt,'c',true ,
857  " O II 7325, all lines of multiplet together");
858 
859  linadd(oxy.s3727,3727,"IONZ",'i',
860  " line produced by photoionization of Oo; already in TOTL" );
861  oxy.s7325 = (realnum)(oxy.s7325*2.72e-12*0.34/(0.34 + dense.eden*
862  6.04e-6/phycon.sqrte));
863 
864  linadd(oxy.s7325,7325,"IONZ",'i',
865  " line produced by photoionization of Oo; already in TOTL" );
866 
867  linadd(CoolHeavy.c7325,7325,"Coll",'i',
868  " collisional contribution to line " );
869 
870  linadd(CoolHeavy.c3727,3727,"Coll",'i',
871  " collisional contribution to line " );
872 
873  linadd(CoolHeavy.O3730,3729,"O II",'i',
874  " five level atom calculations; D5/2 - S3/2" );
875 
876  linadd(CoolHeavy.O3726,3726,"O II",'i',
877  " D3/2 - S3/2 transition" );
878 
879  linadd(CoolHeavy.O2471,2471,"O II",'c',
880  " both 2P 1/2 and 3/2 to ground " );
881 
882  linadd(CoolHeavy.O7323,7323,"O II",'i',
883  " P1/2-D5/2 and P3/2-D5/2 together" );
884 
885  linadd(CoolHeavy.O7332,7332,"O II",'i',
886  " P1/2-D3/2 and P3/2-D3/2 together " );
887 
888  linadd( rec3730 ,3729,"O 2r",'i',
889  " chng 01 jul 08, add 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 " );
890 
891  linadd( rec3726 ,3726,"O 2r",'i',
892  " D3/2 - S3/2 transition" );
893 
894  linadd(rec2471,2471,"O 2r",'i',
895  " both 2P 1/2 and 3/2 to ground " );
896  linadd(rec7323,7323,"O 2r",'i',
897  " P1/2-D5/2 and P3/2-D5/2 together " );
898 
899  linadd(rec7332,7332,"O 2r",'i',
900  " P1/2-D3/2 and P3/2-D3/2 together " );
901 
903  " O II 833.8 coll excit ");
904 
905  /* the OII multiplets,
906  * contributions by both continuum pumping through XUV line
907  * and recombination */
908  /* this is the driving line, pump is photons cm^-3 s^-1 */
909  if( nWindLine > 0 )
910  {
911  pump = TauLine2[387].Emis->pump*TauLine2[387].Emis->PopOpc;
912  }
913  else
914  {
915  pump = 0.;
916  }
917 
918  PntForLine(3120.,"O 2",&ipnt);
919  lindst(pump*0.336 * 6.37e-12/(1.+dense.eden/1e12) ,3120,"pump",ipnt,'i',true,
920  " OII 3113.62 - 3139.68 (8 lines) are only pumped, no recombination part" );
921 
922  PntForLine(3300.,"O 2",&ipnt);
923  lindst(pump*0.147 * 6.03e-12/(1.+dense.eden/1e12) ,3300,"pump",ipnt,'i',true,
924  " OII 3277.56 - 3306.45 (6 lines) are only pumped, no recombination part" );
925 
926  PntForLine(3762.,"O 2",&ipnt);
927  lindst(pump*0.087 * 5.29e-12/(1.+dense.eden/1e12) ,3762,"pump",ipnt,'i',true,
928  " OII 3739.76/3762.47/3777.42 (3 lines) are only pumped, no recombination part" );
929 
930  /* recombination and specific pump for OII 4638.86-4696.35 (8 lines) */
931  rec = GetLineRec(82, 4651 );
932  PntForLine(4651.,"O 2",&ipnt);
933  lindst(rec,4651,"O 2r",ipnt,'i',true,
934  " O II 4651 total recombination, 4638.86-4696.35 (8 lines) " );
935 
936  /* convert UV pump rate to intensity with branching ratio and hnu recombination
937  * part of O II 4651 line */
938  linadd(pump* 0.336 * 0.933 * 4.27e-12/(1.+dense.eden/1e12),4651,"O 2p",'i',
939  " pumped part of line O II 4651 " );
940 
941  /* recombination and specific pump for OII 4317.14-4366.89 (6 lines) */
942  rec = GetLineRec(83, 4341 );
943 
944  linadd(rec/(1.+dense.eden/1e12),4341,"O 2r",'i',
945  " recombination contribution to O II 4341 line " );
946 
947  linadd(pump* 0.147 * 0.661 * 4.58e-12/(1.+dense.eden/1e12),4341,"O 2p",'i',
948  " pumped part of line O II 4341 " );
949 
950  PntForLine(4341.,"O 2",&ipnt);
951  lindst(rec+pump* 0.147 * 0.661 * 4.58e-12/(1.+dense.eden/1e12),4341,"TOTL",ipnt,'i',true,
952  " total intensity, all processes, O II 4341" );
953 
954  /* recombination and specific pump for OII 3712.74/3727.32/3749.48 (3 lines) */
955  rec = GetLineRec(84, 3736 );
956  /* convert UV pump rate to intensity with branching ratio and hnu */
957 
958  linadd(rec/(1.+dense.eden/1e12),3736,"O 2r",'i',"\n recombination part of O II 3736 line " );
959  linadd(pump* 0.087 * 0.763 * 5.33e-12/(1.+dense.eden/1e12),3736,"O 2p",'i',
960  " pumped part of line O II 3736" );
961 
962  PntForLine(3736.,"O 2",&ipnt);
963  lindst((rec+pump* 0.087 * 0.763 * 5.33e-12)/(1.+dense.eden/1e12),3736,"TOTL",ipnt,'i',true,
964  " total intensity, all processes, O II 3736" );
965 
966  /* O III 1661+1666 */
967  /*efac = ((1.-TauLines[ipT1666].ColOvTot) + (1.-TauLines[ipT1661].ColOvTot))*0.5;*/
968  efac = (emit_frac(&TauLines[ipT1666]) + emit_frac(&TauLines[ipT1661]))*0.5;
969 
970  linadd(TauLines[ipT1666].Emis->xIntensity+TauLines[ipT1661].Emis->xIntensity,1665,"TOTL",'i',
971  "total intensity of OIII] 1665, all processes " );
972  PutLine(&TauLines[ipT1661]," ");
973 
974  PutLine(&TauLines[ipT1666]," ");
975 
976  linadd(oxy.p1666*1.20e-11*efac,1665,"Phot",'i',
977  " contribution to OIII 1665 due to inner shell (2s^2) ionization " );
978 
979  linadd(oxy.AugerO3*1.20e-11*efac*0.27,1665,"Augr",'i',
980  " contribution to OIII 1665 due to K-shell ionization " );
981 
982  PntForLine(5007.,"O 3",&ipnt);
983  lindst(CoolHeavy.c5007/(1.+1./3.01),5007,"O 3",ipnt,'c',true ,
984  " 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 ");
985 
986  PntForLine(4959.,"O 3",&ipnt);
987  lindst(CoolHeavy.c5007/(1.+3.01),4959,"O 3",ipnt,'c',true,
988  " O III 4959 alone, collisions, tot OIII is this times 4" );
989 
990  PntForLine(4931.,"O 3",&ipnt);
991  lindst(CoolHeavy.c5007/(1.+3.01)*4.09e-4 ,4931,"O 3",ipnt,'c',true ,
992  " 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 ");
993 
994  linadd(oxy.d5007t/1.25,5007,"LOST",'i',
995  " O III 5007 lost through excited state photo" );
996 
997  /* collisional quenching ratio */
998  effec = 1.6/(1.6 + 0.9*dense.cdsqte);
999 
1000  /* O III 4363 recombination, coefficient from Burgess and Seaton */
1001  r4363 = 6.3e-21/(phycon.te70*phycon.te10)*dense.eden*dense.xIonDense[ipOXYGEN][3]*
1002  effec;
1003 
1004  /* charge exchange,
1005  * >>refer O3 CT Dalgarno+Sternberg ApJ Let 257, L87.
1006  * scaled to agree with
1007  * >>refer O3 CT Gargaud et al AA 208, 251, (1989) */
1008  ct4363 = phycon.sqrte*1.3e-12*4.561e-12*dense.xIonDense[ipHYDROGEN][0]*dense.xIonDense[ipOXYGEN][3]*
1009  effec;
1010 
1011  fac = CoolHeavy.c4363 + r4363 + ct4363;
1012  PntForLine(4363.,"O 3",&ipnt);
1013  lindst(fac,4363,"TOTL",ipnt,'i',true,
1014  " O III 4363, sum of rec, coll, ct excitation" );
1015 
1016  linadd(CoolHeavy.c4363,4363,"Coll",'c',
1017  " O III 4363,collisions from five level atom " );
1018 
1019  linadd(r4363,4363,"Rec ",'i',
1020  " O III 4363 recombination, coefficient from Burgess and Seaton " );
1021 
1022  PntForLine(2321.,"O 3",&ipnt);
1023  lindst(CoolHeavy.c4363*0.236,2321,"O 3",ipnt,'c',true ,
1024  " collisional excitation of 2321, 5-level atom");
1025  linadd(ct4363,4363,"C EX",'i' ,
1026  " call linadd( c4363*0.236 , 2321 , 'O 3','c') charge exchange, Dalgarno+Sternberg ApJ Let 257, L87. ");
1027 
1028  linadd(dense.xIonDense[ipHYDROGEN][0]*dense.xIonDense[ipOXYGEN][3]*0.225*3.56e-12*1.34e-11*phycon.sqrte,
1029  5592,"C EX",'i'," charge exchange rate, D+S " );
1030 
1032  " O III 88 micron, collisionally excited");
1033 
1035  " O III 52 micron, collisionally excited ");
1036 
1037  /* >>chng 97 may 02, better rec contribution */
1038  /*rec = GetLineRec(331,835)*(1.-TauLines[ipT835].ColOvTot);*/
1039  rec = GetLineRec(331,835)*emit_frac(&TauLines[ipT835]);
1040  PutExtra(MAX2(0.,rec));
1041 
1042  PutLine(&TauLines[ipT835],
1043  " O III 834A, collisions and dielectronic recombination ");
1044 
1045  linadd(MAX2(0.,rec),835,"rec ",'i',
1046  " O III 834A, dielectronic recombination only" );
1047 
1049  " O IV 26 micron ");
1050 
1051  linadd(
1052  TauLines[ipO4_1400].Emis->xIntensity+
1057  1402,"TOTL",'i',
1058  " total intensity of O IV] 1402, all lines in the multiplet " );
1059 
1061  " ");
1063  " ");
1065  " ");
1067  " ");
1068  PutLine(&TauLines[ipO4_1401],
1069  " ");
1070 
1071  linadd(oxy.p1401*1.42e-11,1401,"InSh",'i',
1072  " inner shell photoionization, relaxation " );
1073 
1074  /* >>chng 97 may 02, better rec contribution */
1075  rec = GetLineRec(378,789)*(1.-TauLines[ipT789].Emis->ColOvTot);
1076  rec = GetLineRec(378,789)*emit_frac(&TauLines[ipT789]);
1077  PutExtra(MAX2(0.,rec));
1078 
1079  PutLine(&TauLines[ipT789]," O IV 789A");
1080 
1081  linadd(MAX2(0.,rec),789,"rec ",'i',
1082  " O IV 789A, dielectronic recombination only" );
1083 
1084  /* >>chng 97 may 02, better rec contribution */
1085  rec = GetLineRec(466,630);
1086  PutExtra(MAX2(0.,rec));
1087 
1088  PutLine(&TauLines[ipT630],"O V 630, collisional excitation and dielectronic recombination");
1089 
1090  linadd(MAX2(0.,rec),630,"rec ",'i',
1091  " O V 630A, dielectronic recombination only" );
1092 
1093  linadd(embesq.em1218+TauLines[ipT1214].Emis->xIntensity,1218,"TOTL",'i',
1094  " O V 1218], total intensity of both lines " );
1095  PutLine(&TauLines[ipT1214], " ");
1096 
1097  linadd(embesq.em1218,1211,"O 5",'i',
1098  " the slow transition by itself" );
1099 
1101  /*(1.-TauLines[ipT1214].ColOvTot),5112,"O 5",'i' );*/
1102  emit_frac(&TauLines[ipT1214]),5112,"O 5",'i',
1103  " BS O V 5112, recombination " );
1104 
1105  linadd(TauLines[ipT1032].Emis->xIntensity+TauLines[ipT1037].Emis->xIntensity,1035,"TOTL",'i',
1106  " O VI 1035, total of pumping and collisional excitation " );
1109 
1110  linadd(sum,1035,"Inwd",'i',
1111  " inward part of OVI line" );
1113  " ");
1114  PutLine(&TauLines[ipT1037],
1115  " ");
1116 
1118  "O VI 150, Li seq 2s 3p ");
1119 
1121  " fluorine * [F II] 29.33 microns");
1122 
1124  " [F II] 67.2 microns ");
1125 
1127  " F IV 44.07 micron ");
1128 
1130  " F IV 25.83 micron");
1131 
1133  " neon Neon II 12.8 micron ");
1134 
1136  " Ne III fine structure line ");
1137 
1139  " Ne III fine structure line ");
1140 
1141  PntForLine(3869.,"Ne 3",&ipnt);
1142  lindst(CoolHeavy.c3869/(1.+1./3.318),3869,"Ne 3",ipnt,'c',true,
1143  " Ne III 3869, of 3968+3869 doublet" );
1144 
1145  PntForLine(3968.,"Ne 3",&ipnt);
1146  lindst(CoolHeavy.c3869/(1.+3.318),3968,"Ne 3",ipnt,'c',true,
1147  " Ne III 3968, of 3968+3869 doublet" );
1148 
1149  PntForLine(3343.,"Ne 3",&ipnt);
1150  lindst(CoolHeavy.c3343,3343,"Ne 3",ipnt,'c',true,
1151  " NeIII auroral line " );
1152 
1153  PntForLine(1815.,"Ne 3",&ipnt);
1154  lindst(CoolHeavy.c3343*1.38,1815,"Ne 3",ipnt,'c',true ,
1155  " NeIII auroral line");
1156 
1157  PntForLine(2424.,"Ne 4",&ipnt);
1158  lindst(CoolHeavy.c2424,2424,"Ne 4",ipnt,'c',true,
1159  " Ne IV 2424, collisional excitation" );
1160 
1161  PntForLine(4720.,"Ne 4",&ipnt);
1162  lindst(CoolHeavy.c4720,4720,"Ne 4",ipnt,'c',true,
1163  " Ne IV N=3-2 lines, three level atom approx, this is the sum of the 4714.5, 4724.2, 4725.5 lines" );
1164 
1165  PntForLine(1602.,"Ne 4",&ipnt);
1166  lindst(CoolHeavy.c4720*4.34,1602,"Ne 4",ipnt,'c',true ,
1167  " Ne IV N=3 lines, three level atom approx");
1168 
1169  PntForLine(3426.,"Ne 5",&ipnt);
1170  lindst(CoolHeavy.c3426/(1.+1./2.738),3426,"Ne 5",ipnt,'c',true,
1171  " Ne V 3426 of 3426, 3346 doublet" );
1172 
1173  PntForLine(3346.,"Ne 5",&ipnt);
1174  lindst(CoolHeavy.c3426/(1.+2.738),3346,"Ne 5",ipnt,'c',true,
1175  " Ne V 3346 of 3426, 3346 doublet " );
1176 
1177  PntForLine(2976.,"Ne 5",&ipnt);
1178  lindst(CoolHeavy.c2975,2976,"Ne 5",ipnt,'c',true,
1179  " auroral line " );
1180 
1181  PntForLine(1575.,"Ne 5",&ipnt);
1182  lindst(CoolHeavy.c1565,1575,"Ne 5",ipnt,'c',true,
1183  " collisionally excited" );
1184 
1185  PutLine(&TauLines[ipTNe24],"\n Ne V 24.2, 14.3 micron ");
1186 
1187  PutLine(&TauLines[ipTNe14],"\n Ne V 24.2, 14.3 micron ");
1188 
1189  PntForLine(1141.,"Ne 5",&ipnt);
1190  lindst(CoolHeavy.c1134,1141,"Ne 5",ipnt,'c',true," both components of 5S-3P 1146.1, 1137.0 doublet " );
1191 
1192  PutLine(&TauLines[ipxNe0676],"\n [Ne VI] 7.6 microns ");
1193 
1194  linadd(embesq.em895+TauLines[ipT895].Emis->xIntensity,895,"TOTL",'i',
1195  " Ne VII 895, collisionally excited, both lines " );
1196 
1197  PutLine(&TauLines[ipT895],
1198  " Ne VII 895, only fast transition ");
1199 
1200  linadd(embesq.em895,890,"Ne 7",'i',
1201  " Ne VII 890, single line " );
1202 
1203  linadd(TauLines[ipT770].Emis->xIntensity+TauLines[ipT780].Emis->xIntensity,774,"TOTL",'i',
1204  " Ne VIII 774, collisionally excited " );
1205 
1208  linadd(sum,774,"Inwd",'i',
1209  " inward part of NeVIII 774 line" );
1210 
1212  " the NeVIII 770 780 doublet ");
1213  PutLine(&TauLines[ipT780],
1214  " ");
1215 
1217  " Ne VIII 88 2s 3p, collisionally excited ");
1218 
1219  if( trace.lgTrace )
1220  {
1221  fprintf( ioQQQ, " lines_lv1_li_ne returns\n" );
1222  }
1223  return;
1224 }
1225 
1226 /*GetLineRec return rec coef*hnu*eden*n_ion for C, N, or O recombination lines from Dima's list,
1227  * also zero's line in master stack so not entered second time in later dump of all rec lines */
1229  /* this is the number of the emission line in the stack of lines, on the C scale */
1230  long int ip,
1231  /* the multiplet wavelength */
1232  long int lWl)
1233 {
1234  double GetLineRec_v;
1235 
1236  DEBUG_ENTRY( "GetLineRec()" );
1237 
1238  if( (long)(LineSave.RecCoefCNO[2][ip]+0.5) != lWl )
1239  {
1240  fprintf( ioQQQ, " GetLineRec called with incorrect wavelength.\n" );
1241  fprintf( ioQQQ, " index, call and get wl are %5ld%5ld%5ld\n",
1242  ip, lWl, (long)(LineSave.RecCoefCNO[2][ip]+0.5) );
1243  cdEXIT(EXIT_FAILURE);
1244  }
1245 
1246  /* final product is vol emissivity in line */
1247  GetLineRec_v = LineSave.RecCoefCNO[3][ip]*dense.eden*
1248  dense.xIonDense[(long)(LineSave.RecCoefCNO[0][ip])-1][(long)(LineSave.RecCoefCNO[0][ip]-LineSave.RecCoefCNO[1][ip]+2)-1]*
1249  1.99e-8/LineSave.RecCoefCNO[2][ip];
1250 
1251  /* zero out rec coefficient so that not used again in master dump
1252  * this routine cannot be called twice on same line */
1253  LineSave.RecCoefCNO[3][ip] = 0.;
1254  return( GetLineRec_v );
1255 }

Generated for cloudy by doxygen 1.8.4