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_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 */
25
MakeCS
( &
TauLines
[
ipAlI3957
] );
26
atom_level2
( &
TauLines
[ipAlI3957]);
27
28
/* Al I 3090 */
29
MakeCS
(&
TauLines
[
ipAlI3090
]);
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
{
72
cs = (
realnum
)(0.893/(
phycon
.
te05
*
phycon
.
te005
*
phycon
.
te001
*
phycon
.
te0002
));
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
1.8.3.1