cloudy  trunk
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
cool_alum.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 /*CoolAlum compute aluminum cooling */
4 #include "cddefines.h"
5 #include "embesq.h"
6 #include "taulines.h"
7 #include "phycon.h"
8 #include "coolheavy.h"
9 #include "dense.h"
10 #include "ligbar.h"
11 #include "lines_service.h"
12 #include "atoms.h"
13 #include "cooling.h"
14 
15 void CoolAlum(void)
16 {
17  double cs ,
18  cs2s2p,
19  cs2s3p;
20  realnum p2;
21 
22  DEBUG_ENTRY( "CoolAlum()" );
23 
24  /* Al I 3957 */
26  atom_level2( &TauLines[ipAlI3957]);
27 
28  /* Al I 3090 */
30  atom_level2(&TauLines[ipAlI3090]);
31 
32  /* AlII 1670.787
33  * >>chng 96 may 09 put back into level 2 for array processor speed up
34  * cs from
35  * >>refer al2 cs Tayal, S.S., Burke, P.G., Kingston, A.E. 1985, J.Phys. B, 18, 4321
36  * >>refer al2 cs Tayal, S.S., Burke, P.G., Kingston, A.E. 1984, J.Phys. B, 17, 3847
37  * cs = MIN( 5.0 , 0.0125 * sqrte*te10*te003 )
38  * call PutCS( cs , al1671 )
39  * call atom_level2( al1671 )
40  *
41  * Al 2, 3P in
42  * >>refer al2 cs Keenan, F.P., Harra, L.K., Aggarwal, K.M., Feibelman, W.A. 1992,
43  * >>refercon ApJ, 385, 375
44  * doublet at 2660, 2669 */
45  /* >>chng 01 sep 09, AtomSeqBeryllium will reset this to 1/3 so critical density correct */
46  PutCS(3.56,&TauLines[ipT2670]);
47 
48  /* C2670 = AtomSeqBeryllium( 1.67,2.00,6.54, T2670 , 3.67E-3 ) * 7.45E-12 */
49  AtomSeqBeryllium(1.67,2.00,6.54,&TauLines[ipT2670],3.67e-3);
50  embesq.em2669 = (realnum)(atoms.PopLevels[3]*3.67e-3*7.45e-12);
51 
52  /* Aluminum al 3, 1854, 1862 doublet, 3s ^2 S gnd, ^2P^o 1/2 3/5 exc
53  * f=0.854 from
54  * >>refer al3 as Dufton, P.L., Brown, P.J.F., Lennon, D.J., Lynas-Gray, A.E. 1986,
55  * >>refercon MNRAS, 222, 713
56  * cs from
57  * >>refer al3 cs Dufton, P.L., & Kingston, A.E. 1987, J.Phys. B, 20, 3899 */
58  cs = 4.407*phycon.te10*phycon.te03*phycon.te01;
59  cs = MIN2(25.0,cs);
60  PutCS(cs*0.667,&TauLines[ipT1855]);
61  PutCS(cs*0.333,&TauLines[ipT1863]);
62  PutCS(1.0,&TauDummy);
63  atom_level3(&TauLines[ipT1863],&TauDummy,&TauLines[ipT1855]);
64 
65  /* Al V 2.905mm, cs
66  * >>referold al5 cs Saraph, H.E. & Tully, J.A. 1994, A&AS, 107, 29 */
67  /*cs = MIN2(0.524,1.113/(phycon.te10/phycon.te02/phycon.te003));*/
68  /* >>refer al5 cs Berrington, K.A., Saraph, H.E. & Tully, J.A. 1998, A&AS, 129,161 */
69  /* >>chng 06 jul 11 - Humeshkar Nemala*/
70  if(phycon.te < 1.58E5)
71  {
73  }
74  else
75  {
76  cs = (realnum)(3.1991/((phycon.te20/phycon.te04)*(phycon.te003/phycon.te0002)));
77  }
78 
79  PutCS(cs,&TauLines[ipAl529]);
80 
81  atom_level2(&TauLines[ipAl529]);
82 
83  /* Al VI 3.66, 9.12 microns */
84  cs = 639.1/(phycon.sqrte*pow(phycon.te03,phycon.te003)*phycon.te001);
85  cs = MIN2(5.5 , cs);
86  PutCS(cs,&TauLines[ipAl6366]);
87 
88  cs = MIN2(1.10,49.37/(phycon.sqrte/phycon.te10*phycon.te02/
89  phycon.te001));
90  PutCS(cs,&TauLines[ipAl6912]);
91 
92  cs = MIN2(2.0,319.11/(phycon.sqrte*phycon.te10/phycon.te02/
93  phycon.te001));
94  PutCS(cs,&TauDummy);
95 
96  atom_level3(&TauLines[ipAl6366],&TauLines[ipAl6912],&TauDummy);
97 
98  /* [Al VI] 2428.4, 2601, 1169.8, 2124.9
99  * POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2)
100  * cs from
101  * >>refer al6 cs Butler, K., & Zeippen, C.J. 1994, A&AS, 108, 1
102  */
103  CoolHeavy.c1170 = atom_pop3(9.,5.,1.,1.044,0.145,0.463,6.63,72.9,7.79,
104  5.92e4,6.767e4,&p2,dense.xIonDense[ipALUMINIUM][5],0.,0.,0.)*72.9*1.70e-11;
105 
106  CoolHeavy.c2428 = p2*6.63*8.19e-12;
107  CoolHeavy.c2125 = CoolHeavy.c1170*(7.79/72.9)*(1169.5/2124.9);
108  CoolAdd("Al 6",1170,CoolHeavy.c1170);
109  CoolAdd("Al 6",2428,CoolHeavy.c2428);
110  CoolAdd("Al 6",2125,CoolHeavy.c2125);
111 
112  /* Al VIII 5.85, 3.72 microns
113  * collision strength
114  * >>refer al8 cs Lennon, D.J. Burke, V.M. 1994, A&AS, 103, 273 */
115  cs = MIN2(0.39,0.0459*phycon.te20/phycon.te003/phycon.te003);
116  PutCS(cs,&TauLines[ipAl8575]);
117  cs = MIN2(1.062,0.0407*phycon.te30/phycon.te003/phycon.te003);
118  PutCS(cs,&TauLines[ipAl8370]);
119  cs = MIN2(0.27,2.694e-3*phycon.te20*phycon.te20*phycon.te01*
120  phycon.te003);
121  PutCS(cs,&TauDummy);
122  atom_level3(&TauLines[ipAl8575],&TauLines[ipAl8370],&TauDummy);
123 
124  /* [Al IX] 2.04 micron, no collision strength, A NIST */
125  PutCS(1.,&TauLines[ipAl09204]);
126  atom_level2(&TauLines[ipAl09204]);
127 
128  /* Al 10 639, CS
129  * >>refer al10 cs Keenan, F.P. Berrington, K.A., Burke, P.G., Dufton, P.L.,
130  * >>refercon Kingston, A.E. 1986, PhyS 34, 216
131  * A is extrapolation along iso seq */
132  cs = 0.73492 - 0.16964*phycon.alogte + 0.0096631*POW2(phycon.alogte);
133  cs = MAX2(0.01,cs);
134  PutCS(cs,&TauLines[ipT639]);
135  atom_level2(&TauLines[ipT639]);
136 
137  /* Al 11 Li seq 2s2p 556
138  * >>refer al11 cs Cochrane, D.M., & McWhirter, R.W.P. 1983, PhyS, 28, 25 */
139  ligbar(13,&TauLines[ipTAl550],&TauLines[ipTAl48],&cs2s2p,&cs2s3p);
140  PutCS(cs2s2p,&TauLines[ipTAl550]);
141  PutCS(cs2s2p*0.5,&TauLines[ipTAl568]);
142  PutCS(1.0,&TauDummy);
143  atom_level3(&TauLines[ipTAl568],&TauDummy,&TauLines[ipTAl550]);
144 
145  PutCS(cs2s3p,&TauLines[ipTAl48]);
146  atom_level2(&TauLines[ipTAl48]);
147  return;
148 }

Generated for cloudy by doxygen 1.8.1.2