cloudy
trunk
Main Page
Related Pages
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
source
cool_neon.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
/*CoolNeon evaluate total cooling due to neon */
4
#include "
cddefines.h
"
5
#include "
coolheavy.h
"
6
#include "
taulines.h
"
7
#include "
dense.h
"
8
#include "
phycon.h
"
9
#include "
embesq.h
"
10
#include "
ligbar.h
"
11
#include "
thermal.h
"
12
#include "
lines_service.h
"
13
#include "
atoms.h
"
14
#include "
cooling.h
"
15
16
void
CoolNeon
(
void
)
17
{
18
double
a21,
19
a31,
20
a32,
21
cs2s2p,
22
cs2s3p,
23
/*Introduce the following three variables for use in Ne V-Humeshkar Nemala*/
24
cs12,
25
cs13,
26
cs23;
27
realnum
28
cs,
29
pop2;
30
31
DEBUG_ENTRY
(
"CoolNeon()"
);
32
33
/* Neon II 12.8 micron
34
* >>referold ne2 cs Saraph, H.E. & Tully, J.A. 1994, A&AS, 107, 29 */
35
/*These statements were commented out-Humeshkar Nemala*/
36
/*cs = (realnum)MIN2(0.4,0.1294*phycon.te10/phycon.te02*phycon.te005);*/
37
/*cs = (realnum)MAX2(0.272,cs);*/
38
/*>>chng 06 jun 30 Changes made by Humeshkar Nemala-Jun 2006*/
39
/*>>refer ne2 cs Griffin,D.C., Mitnik,D.M. & Badnell, N. R.,2001,JPhB,34,4401*/
40
/*Temperature range from 1000 TO 4E5 */
41
42
/*>>chng 06 jul 02, adjust precoef to get exact result at 1e4 K */
43
cs=(
realnum
)(0.132*
phycon
.
te07
*
phycon
.
te02
*
phycon
.
te004
*
phycon
.
te0001
);
44
45
PutCS
(cs,&
TauLines
[
ipTNe13
]);
46
atom_level2
(&
TauLines
[ipTNe13]);
47
48
/* Ne III fine structure lines
49
* >>referold ne3 cs Butler, K., & Zeippen, C.J. 1994, A&AS, 108, 1 */
50
/*PutCS(0.774,&TauLines[ipTNe16]);
51
PutCS(0.244,&TauLines[ipTNe36]);
52
PutCS(0.208,&TauDummy);*/
53
/* Ne III fine structure lines
54
*>>refer ne3 cs McLaughlin,B.M., & Bell,K.L.2000,JPhB,33,597 */
55
/*>>chng 06 jun 30 Changes made by-Humeshkar Nemala*/
56
/*Data available over temps 1E3 K to 1E6 K*/
57
/* this is the highest of the two transitions, J = 0-1, 36 mm
58
* (3P J levels inverted for this ion) */
59
if
(
phycon
.
te
<6.3E3)
60
{
61
cs=(
realnum
)((9.34E-02)*
phycon
.
te10
*
phycon
.
te003
*
phycon
.
te0002
);
62
}
63
else
if
(
phycon
.
te
< 2.5E4)
64
{
65
cs=(
realnum
)((19.8888E-02)*(
phycon
.
te02
/(
phycon
.
te003
*
phycon
.
te0002
)));
66
}
67
else
if
(
phycon
.
te
< 4E4)
68
{
69
cs=(
realnum
)((838.0688E-06)*
phycon
.
sqrte
*
phycon
.
te05
*(
phycon
.
te007
/
phycon
.
te0001
));
70
}
71
else
if
(
phycon
.
te
< 1E5)
72
{
73
cs=(
realnum
)((256.2312E-11)*
phycon
.
te
*
phycon
.
te70
*
phycon
.
te05
*
phycon
.
te005
*
phycon
.
te0002
);
74
}
75
else
if
(
phycon
.
te
< 2.5E5 )
76
{
77
cs=(
realnum
)((238.5789E-06)*
phycon
.
te70
*
phycon
.
te05
*
phycon
.
te01
*
78
phycon
.
te001
*
phycon
.
te0004
);
79
}
80
else
81
{
82
cs=(
realnum
)(147.59848/(
phycon
.
te30
*
phycon
.
te01
*
phycon
.
te001
*
phycon
.
te0005
));
83
}
84
85
PutCS
(cs,&
TauLines
[
ipTNe36
]);
86
87
/* this is the lowest of the two transitions, J = 1-2 16 mm
88
* (3P J levels inverted for this ion) */
89
90
if
(
phycon
.
te
< 2.5E4)
91
{
92
cs = (
realnum
)(0.3702*
phycon
.
te07
*
phycon
.
te005
*
phycon
.
te0004
);
93
}
94
else
if
(
phycon
.
te
< 4E4)
95
{
96
cs = (
realnum
)((16.6945E-04)*(
phycon
.
te40
*
phycon
.
te20
*
phycon
.
te005
*
phycon
.
te003
*
97
phycon
.
te0005
*
phycon
.
te0003
));
98
}
99
else
if
(
phycon
.
te
< 1.6E5)
100
{
101
cs = (
realnum
)((50.5069E-09)*(
phycon
.
te32
*
phycon
.
te07
*
phycon
.
te02
*
phycon
.
te0007
102
*
phycon
.
te0001
));
103
}
104
else
if
(
phycon
.
te
< 2.5E5)
105
{
106
cs = (
realnum
)((778.1245E-04)*
phycon
.
te40
*(
phycon
.
te002
/
phycon
.
te0002
));
107
}
108
else
109
{
110
cs = (
realnum
)(786.6482/(
phycon
.
te30
*
phycon
.
te04
*
phycon
.
te0001
));
111
}
112
PutCS
(cs,&
TauLines
[
ipTNe16
]);
113
114
/* this is the transition from highest to lowest J within 3P - it has a tiny A
115
* which we ignore, so use the TauDummy struc */
116
117
if
(
phycon
.
te
<4E4)
118
{
119
cs = (
realnum
)(0.0999*
phycon
.
te07
*
phycon
.
te005
*
phycon
.
te001
);
120
}
121
else
if
(
phycon
.
te
< 2.5E5)
122
{
123
cs=(
realnum
)(9.02142E-06*
124
phycon
.
te90
*
phycon
.
te05
*
phycon
.
te004
*
phycon
.
te0007
*
phycon
.
te0001
);
125
}
126
else
127
{
128
cs=(
realnum
)(66.1264/(
phycon
.
te30
*
phycon
.
te01
*
phycon
.
te007
));
129
}
130
/*cs = 0.207f;*/
131
PutCS
(cs,&
TauDummy
);
132
133
/* now do the level populations */
134
atom_level3
(&
TauLines
[ipTNe16],&
TauLines
[ipTNe36],&
TauDummy
);
135
136
/* Ne III 3869+3968, 3343, A's
137
* >>referold ne3 as Mendoza, C. 1982, in Planetary Nebulae, IAU Symp No. 103,
138
* >>refercon ed by D.R. Flower, (D. Reidel: Holland), 143
139
* CS
140
* >>referold ne3 cs Butler, K., & Zeippen, C.J. 1994, A&AS, 108, 1 */
141
/*if( phycon.te < 1e4 )
142
{
143
cs = 0.269f;
144
}
145
else
146
{
147
cs = (realnum)MIN2(0.333,0.1142*(phycon.te10/phycon.te003/phycon.te003/
148
phycon.te001));
149
}*/
150
/*>>chng 06 jun 30 Changes made-Humeshkar Nemala*/
151
/* >>refer ne3 cs McLaughlin,B.M., & Bell,K.L.2000,JPhB,33,597*/
152
/* (3P J levels inverted for this ion) */
153
/*This is the transition between states 1-2 i.e., 3P-1D2*/
154
/*The cs for 1-2 transition was obtained by summing the cs of
155
transitions 3P2-1D2,3P1-1D2,3P0-1D2*/
156
/*The cs are determined over two ranges: as below and above 2.5E5*/
157
if
(
phycon
.
te
<2.5E5)
158
{
159
cs12 = (
realnum
)(0.8745 *
phycon
.
te03
*
phycon
.
te007
*
160
phycon
.
te002
*
phycon
.
te0007
*
phycon
.
te0001
);
161
}
162
else
163
{
164
cs12 = (
realnum
)((1876.8585E-02)/(
phycon
.
te20
*
phycon
.
te005
*
165
phycon
.
te001
*
phycon
.
te0007
*
phycon
.
te0002
));
166
}
167
/*This is the transition between states 1-3 i.e., 3P-1S0*/
168
/*The cs for 1-3 transition was obtained by summing the cs of
169
transitions 3P2-1S0,3P1-1S0,3P0-1S0*/
170
/*The cs are determined over three ranges: as below 2.5E4,
171
above 2.5E4 and below 2.5E5, and above 2.5E5*/
172
if
(
phycon
.
te
< 2.5E4)
173
{
174
/*The cs remains fairly constant in the range 1E3 to 2.5E4,with an average of 0.152*/
175
cs13 = 0.152f;
176
}
177
else
if
(
phycon
.
te
< 2.5E5)
178
{
179
cs13 = (
realnum
)((798.0776E-05)*(
phycon
.
te30
/
phycon
.
te01
)*
phycon
.
te001
);
180
}
181
else
182
{
183
cs13 = (
realnum
)((1026.2621E-02)/(
phycon
.
te20
*
phycon
.
te07
*
phycon
.
te01
*
phycon
.
te005
));
184
}
185
/*cs of 3343 which refers to the 1D2-1S0 cs*/
186
/*This is the transition between states 2-3*/
187
/*data over temperatures 1E3 to 1E6 remains fairly constant at 0.32
188
cs = 0.32f;*/
189
/* POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2) */
190
CoolHeavy
.
c3343
=
atom_pop3
(9.,5.,1.,cs12,cs13,0.32,0.209,2.052,2.677,
191
3.583e4,4.301e4,&pop2,
dense
.
xIonDense
[
ipNEON
][2],0.,0.,0.)*2.677*5.954e-12;
192
CoolHeavy
.
c3869
= pop2*0.209*5.14e-12;
193
thermal
.
dCooldT
+=
CoolHeavy
.
c3869
*(3.72e4*
thermal
.
tsq1
-
thermal
.
halfte
);
194
CoolAdd
(
"Ne 3"
,3342,
CoolHeavy
.
c3343
);
195
CoolAdd
(
"Ne 3"
,3869,
CoolHeavy
.
c3869
);
196
CoolAdd
(
"Ne 3"
,1793,
CoolHeavy
.
c3343
*1.38);
197
198
/* Ne IV 2425.4+2422.8 A'S from
199
* >>refer ne4 as Zeippen, C.J. 1982, MNRAS 198 111
200
* Ne IV CS from
201
* >>referold ne4 cs Giles, K. 1981, MNRAS, 195, 63
202
* above gave table, actually used, but following is most recent
203
* calculation, in great agreement, but only gives figures
204
* >>refer ne4 cs Ramsbottom, C.A., Bell, K.L., & Keenan, F.P. 1998, MNRAS, 293, 233
205
* POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2) */
206
a21 = 2.46e-3;
207
a31 = 1.02;
208
a32 = 0.693;
209
CoolHeavy
.
c4720
=
atom_pop3
(4.,10.,6.,1.37,0.464,2.14,a21,a31,a32,5.94e4,
210
3.05e4,&pop2,
dense
.
xIonDense
[
ipNEON
][3],0.,0.,0.)*a32*4.22e-12;
211
CoolHeavy
.
c2424
= pop2*8.21e-12*a21;
212
CoolAdd
(
"Ne 4"
,2424,
CoolHeavy
.
c2424
);
213
CoolAdd
(
"Ne 4"
,4720,
CoolHeavy
.
c4720
);
214
CoolAdd
(
"Ne 4"
,1602,
CoolHeavy
.
c4720
*4.1);
215
216
/* Ne V 3426, CS data from
217
* >>referold ne5 cs Lennon, D.J. & Burke, V.M. 1991, MNRAS 251, 628
218
* revised from
219
* >>refer ne5 cs Lennon, D.J. Burke, V.M. 1994, A&AS, 103, 273
220
* A's from
221
* >>refer ne5 as Baluja, K.L. 1985, J.Phys. B, 18, L413
222
* POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2) */
223
/*>>chng 06 jun 30 The collision strengths are changed-Humeshkar Nemala*/
224
/*Temperature dependence for the cs is included*/
225
/*>>refer ne5 cs Griffin,D.C., & Badnell,N.R.2000,JPhB,33,4389*/
226
/*The cs for the 1-2 transition was obtained by summing the cs
227
for transitions 3P0-1D2,3P1-1D2,3P2-1D2*/
228
cs12=1.2172*(
phycon
.
te04
*
phycon
.
te003
*
phycon
.
te0004
);
229
/*The cs for the 1-3 i.e., the 3P-1S0 transition was obtained by summing the cs
230
for the 3P0-1S0,3P1-1S0,3P2-1S0transitions */
231
cs13=1.2598/(
phycon
.
te10
*
phycon
.
te04
*
phycon
.
te007
*
phycon
.
te002
*
phycon
.
te0004
);
232
/*Temperature dependent data avilable for the cs between states 2 and 3,i.e.,1D2-1S0
233
on the internet at the Oak Ridge National Laboratory CFADC.
234
Fit was done for data obtained through private communication*/
235
cs23 = 0.2524*(
phycon
.
te07
*
phycon
.
te01
*
phycon
.
te007
*
phycon
.
te0003
);
236
/*CoolHeavy.c2975 = atom_pop3(9.,5.,1.,2.18,0.254,0.688,0.521,4.35,2.76,
237
4.297e4,4.835e4,&pop2,dense.xIonDense[ipNEON][4],0.,0.,0.)*2.76*6.69e-12;*/
238
CoolHeavy
.
c2975
=
atom_pop3
(9.,5.,1.,cs12,cs13,cs23,0.521,4.35,2.76,
239
4.297e4,4.835e4,&pop2,
dense
.
xIonDense
[
ipNEON
][4],0.,0.,0.)*2.76*6.69e-12;
240
/* following are old values
241
* C2975 = POP3( 9.,5.,1., 1.8,0.25,0.52, 0.521,4.34,2.76,
242
* 1 4.297E4,4.835E4, POP2 , ANEON(5),0.) * 2.76*6.69E-12 */
243
CoolHeavy
.
c1565
=
CoolHeavy
.
c2975
*1.901*1.572;
244
CoolHeavy
.
c3426
= pop2*0.521*5.81e-12;
245
thermal
.
dCooldT
+=
CoolHeavy
.
c3426
*(4.20e4*
thermal
.
tsq1
-
thermal
.
halfte
) +
246
(
CoolHeavy
.
c2975
+
CoolHeavy
.
c1565
)*9.132e4*
thermal
.
tsq1
;
247
CoolAdd
(
"Ne 5"
,2975,
CoolHeavy
.
c2975
);
248
CoolAdd
(
"Ne 5"
,1565,
CoolHeavy
.
c1565
);
249
CoolAdd
(
"Ne 5"
,3426,
CoolHeavy
.
c3426
);
250
251
/* Ne V 24.2, 14.3 micron
252
* CS from
253
* >>referold ne5 cs Lennon, D.J. Burke, V.M. 1994, A&AS, 103, 273
254
* A's from
255
* >>refer ne5 as Baluja, K.L. 1985, J.Phys. B, 18, L413 */
256
/*cs = (realnum)MIN2(1.84,21.12/(phycon.te10*phycon.te10*phycon.te10/
257
phycon.te003/phycon.te003));*/
258
/*>>chng 06 jun 30 Changed-Humeshkar Nemala*/
259
/* >>refer ne5 cs Griffin,D.C., & Badnell,N.R.2000,JPhB,33,4389*/
260
/*this line corresponds to the 3P1-3P0 transition - the lowest of the 3P transitions */
261
cs = (
realnum
)(21.917/(
phycon
.
te20
*
phycon
.
te07
*
phycon
.
te02
*
phycon
.
te001
262
*
phycon
.
te0007
*
phycon
.
te0002
));
263
PutCS
(cs,&
TauLines
[
ipTNe24
]);
264
/*cs = (realnum)MIN2(9.5,261.71/(phycon.te10*phycon.te10*phycon.te10*
265
phycon.te10*phycon.te01*phycon.te003));*/
266
/*this line corresponds to the 3P2-3P1 transition*/
267
cs = (
realnum
)(122.49/(
phycon
.
te30
*
phycon
.
te04
*
phycon
.
te005
268
*
phycon
.
te003
*
phycon
.
te0001
));
269
PutCS
(cs,&
TauLines
[
ipTNe14
]);
270
/*we introduce the dummy line 3P2-3P0 transition*/
271
/*cs = (realnum)MIN2(3.2,139.86/(phycon.sqrte/phycon.te03*phycon.te003/
272
phycon.te001));*/
273
cs = (
realnum
)(58.788/(
phycon
.
te40
*
phycon
.
te001
*
phycon
.
te0007
));
274
PutCS
(cs,&
TauDummy
);
275
/* now do the level populations */
276
atom_level3
(&
TauLines
[ipTNe24],&
TauLines
[ipTNe14],&
TauDummy
);
277
278
/* Ne V 5S - 3P, CS
279
* >>referold ne5 cs Lennon, D.J. Burke, V.M. 1994, A&AS, 103, 273
280
* A from
281
* >>referold ne5 cs Mendoza, C. 1982, in Planetary Nebulae, IAU Symp No. 103,
282
* >>referoldcon ed by D.R. Flower, (D. Reidel: Holland), 143 */
284
/*>>chng 06 july 05 Changed-Humeshkar Nemala*/
285
/* >>refer ne5 cs Griffin,D.C., & Badnell,N.R.2000,JPhB,33,4389*/
286
/*this line corresponds to the 2s2 2p2 3P- 2s2p3 5S0 transition*/
287
/*The cs was obtained by summing the cs of the transitions
288
3P0-5S2,3P1-5S2,3P2-5S2*/
289
cs = (
realnum
)(22.956/((
phycon
.
te30
/
phycon
.
te01
)*
phycon
.
te001
*
phycon
.
te0002
));
290
/*CoolHeavy.c1134 = atom_pop2(11.9/(phycon.te10*phycon.te10*phycon.te03),
291
9.,5.,4.67e3,1.273e5,dense.xIonDense[ipNEON][4])*1.767e-11;*/
292
CoolHeavy
.
c1134
=
atom_pop2
(cs,9.,5.,4.67e3,1.273e5,
293
dense
.
xIonDense
[
ipNEON
][4])*1.767e-11;
294
CoolAdd
(
"Ne 5"
,1134,
CoolHeavy
.
c1134
);
295
296
/* Ne VI 7.6 micron, A from
297
* >>refer ne6 as Froese Fischer, C. 1983, J.Phys. B, 16, 157
298
* cs from
299
* >>referold ne6 cs Zhang, H.L., Graziani, M., Pradhan, A.K. 1994, A&A, 283, 319
300
* >>chng 96 jul 16 had been just constant 2.0 */
301
/*cs = (realnum)MIN2(3.71,23.623/(phycon.te20*phycon.te02/phycon.te003));*/
302
/*>>chng 06 jun 30 Changed-Humeshkar Nemala*/
303
/*>>refer ne6 cs Mitnik,D.M.,Griffin,D.C., & Badnell,N.R. 2001,JPhB,34,4455*/
304
cs = (
realnum
) (35.705/(
phycon
.
te20
*
phycon
.
te07
*
phycon
.
te004
*
phycon
.
te0007
));
305
PutCS
(cs,&
TauLines
[
ipxNe0676
]);
306
atom_level2
(&
TauLines
[ipxNe0676]);
307
/* fs76 = atom_pop2(0.37,2.,4.,1.9E-2,1.89E3,dense.xIonDense(10,6))*2.62E-13
308
* dCooldT = dCooldT + fs76*(1890.*tsq1-halfte)
309
* call CoolAdd( 'Ne 6' , 76 , FS76 )
310
*
311
* Ne VII col data from
312
* >>refer ne7 cs Berrington, K.A., Burke, P.G., Dufton, P.L., Kingston, A.E. 1985,
313
* >>refercon At. Data Nucl. Data Tables, 33, 195
314
* low te from
315
* >>refer ne7 cs Dufton, P.L., Doyle, J.G., Kingston, A.E. 1979, A&A, 78, 318
316
* newer fit to
317
* >>refer ne7 cs Ramsbottom, C.A., Berrington, K.A., Bell, K.L. 1995,
318
* >>refercon At. Data Nucl. Data Tables, 61, 105 */
319
if
(
phycon
.
te
< 4e4 )
320
{
321
cs = (
realnum
)(0.0352*(
phycon
.
te20
/
phycon
.
te03
));
322
}
323
else
324
{
325
cs = (
realnum
)(0.736/(
phycon
.
te10
*
phycon
.
te02
/
phycon
.
te003
));
326
}
327
/* >>chng 01 sep 09, AtomSeqBeryllium will reset this to 1/3 so critical density correct */
328
PutCS
(cs,&
TauLines
[
ipT895
]);
329
/* AtomSeqBeryllium(CS23,CS24,CS34,tarray,A41)
330
* c895 = AtomSeqBeryllium(.52,.61, 2.0,t895,.0578) * 2.223E-11
331
* A's
332
* >>refer ne7 as Fleming, J., Bell, K.L, Hibbert, A., Vaeck, N., Godefroid, M.R.
333
* >>refercon 1996, MNRAS, 279, 1289 */
334
AtomSeqBeryllium
(.52,.61,2.0,&
TauLines
[ipT895],.07066);
335
embesq
.
em895
= (
realnum
)(
atoms
.
PopLevels
[3]*0.0578*2.223e-11);
336
337
/* Ne VIII 774, iso with 1549, extrapolation for omega
338
* >>refer ne8 ?? Cochrane, D.M., & McWhirter, R.W.P. 1983, PhyS, 28, 25 */
339
ligbar
(10,&
TauLines
[
ipT770
],&
TauLines
[
ipT88
],&cs2s2p,&cs2s3p);
340
PutCS
(cs2s2p,&
TauLines
[ipT770]);
341
PutCS
(cs2s2p*0.5,&
TauLines
[
ipT780
]);
342
PutCS
(1.0,&
TauDummy
);
343
atom_level3
(&
TauLines
[ipT780],&
TauDummy
,&
TauLines
[ipT770]);
344
345
PutCS
(cs2s3p,&
TauLines
[ipT88]);
346
atom_level2
(&
TauLines
[ipT88]);
347
return
;
348
}
Generated for cloudy by
1.8.1.1