cloudy  trunk
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
cool_phos.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 /*CoolPhos compute phosphorus cooling */
4 #include "cddefines.h"
5 #include "taulines.h"
6 #include "dense.h"
7 #include "lines_service.h"
8 #include "phycon.h"
9 #include "coolheavy.h"
10 #include "atoms.h"
11 #include "cooling.h"
12 
13 void CoolPhos(void)
14 {
15  double cs, cs21 , cs31 , cs32;
16  double a21 , a31 , a32;
17  realnum p2, p3;
18 
19  DEBUG_ENTRY( "CoolPhos()" );
20 
21  /* [P II] 60.64, 32.87 microns
22  * cs, As from
23  * >>refer p2 as Mendoza, C., & Zeippen, C.J., 1982, MNRAS 199, 1025
24  * >>refer p2 cs Krueger, T.K., and Czyzak, S.J., 1970, Proc Roy Soc London A 318, 531 */
26  PutCS(1.587,&TauLines[ipP0260]);
27  PutCS(3.566,&TauLines[ipP0233]);
28  PutCS(1.0,&TauDummy);
29 
30  /* atom_level3( t10,t21,t20) */
31  atom_level3(&TauLines[ipP0260],&TauLines[ipP0233],&TauDummy);
32 
33  /* >>chng 01 may 15, add these three lines, discussed in
34  * Oliva, E., Marconi, A., et al. A&A 2001, 369, L5 */
35  /* the 1D-3P and 1S-1d forbidden lines of [PII] */
36  /* >>refer p2 as Mendoza, C., & Zeippen, C.J., 1982, MNRAS 199, 1025*/
37  a21 = 1.952e-2;
38  a31 = 0.2025;
39  a32 = 1.64;
40  /* these are just a guess */
41  cs21 = 1.;
42  cs31 = 1.;
43  cs32 = 1.;
44  p3 = (realnum)(atom_pop3(9.,5.,1.,cs21,cs31,cs32,
45  a21,a31,a32,12534.,7877.9,&p2,dense.xIonDense[ipPHOSPHORUS][1], 0.,0.,0.));
46  CoolHeavy.p2_32 = p3*a32*1.21e-12;
47  CoolHeavy.p2_31 = p3*a31*4.23e-12;
48  CoolHeavy.p2_21 = p2*a21*1.72e-12;
49  /* 3-2 1.64 mic */
50  CoolAdd("p 2",16400,CoolHeavy.p2_32);
51  /* 3-1 4670, 4738 */
52  CoolAdd("p 2",4700,CoolHeavy.p2_31);
53  /* 2-1 1.147, 1.189 mic */
54  CoolAdd("p 2",11600,CoolHeavy.p2_21);
55 
56  /* [P III] 17.885 microns
57  * cs, A from
58  * >>refer p3 as Kaufman, V., & Sugar, J., 1986, J Phys Chem Ref Data 15, 321
59  * >>refer p3 cs Krueger, T.K., and Czyzak, S.J., 1970, Proc Roy Soc London A 318, 531 */
60  PutCS(1.859,&TauLines[ipP0318]);
61  atom_level2(&TauLines[ipP0318]);
62 
63  /* [P VII] 1.374 microns
64  * cs from
65  * >>referold p7 cs Saraph, H.E. & Tully, J.A. 1994, A&AS, 107, 29 */
66 
67  /* >>refer p7 cs Berrington,K.A., Saraph, H.E. & Tully, J.A. 1998, A&AS, 129, 161 */
68  /*>>chng 06 jul 18 Changes made-Humeshkar Nemala*/
69  /*There are two fits to the cs:Above and below 7.77e5*/
70  if(phycon.te < 7.77E5)
71  {
72  cs = (realnum)(0.0986*(phycon.te10/(phycon.te01*phycon.te002)));
73  }
74  else
75  {
76  cs = (realnum)(12.2273/((phycon.te30/phycon.te04)*phycon.te007*phycon.te0004));
77  }
78  /*PutCS(0.27,&TauLines[ipP713]);*/
79  PutCS(cs,&TauLines[ipP713]);
80  atom_level2(&TauLines[ipP713]);
81 
82  /* [P VIII] 4.85, 1.735 microns */
83  PutCS(0.30,&TauLines[ipP848]);
84  PutCS(0.97,&TauLines[ipP817]);
85  PutCS(0.26,&TauDummy);
86 
87  /* j levels inverted */
88  atom_level3(&TauLines[ipP817],&TauLines[ipP848],&TauDummy);
89 
90  /* [P X] 2.708, 1.868 microns */
91  cs = MIN2(0.33,0.892/(phycon.te10/phycon.te001));
92  PutCS(cs,&TauLines[ipP1027]);
93 
94  cs = MIN2(1.082,5.949/(phycon.te20/phycon.te03*phycon.te003));
95  PutCS(cs,&TauLines[ipP1018]);
96 
97  cs = MIN2(0.33,3.054/(phycon.te20*phycon.te02*phycon.te005));
98  PutCS(cs,&TauDummy);
99 
100  atom_level3(&TauLines[ipP1027],&TauLines[ipP1018],&TauDummy);
101  return;
102 }

Generated for cloudy by doxygen 1.8.4