/home66/gary/public_html/cloudy/c08_branch/source/cool_phos.cpp

Go to the documentation of this file.
00001 /* This file is part of Cloudy and is copyright (C)1978-2008 by Gary J. Ferland and
00002  * others.  For conditions of distribution and use see copyright notice in license.txt */
00003 /*CoolPhos compute phosphorus cooling */
00004 #include "cddefines.h"
00005 #include "taulines.h"
00006 #include "dense.h"
00007 #include "lines_service.h"
00008 #include "phycon.h"
00009 #include "coolheavy.h"
00010 #include "atoms.h"
00011 #include "cooling.h"
00012 
00013 void CoolPhos(void)
00014 {
00015         double cs, cs21 , cs31 , cs32;
00016         double a21 , a31 , a32;
00017         realnum p2, p3;
00018 
00019         DEBUG_ENTRY( "CoolPhos()" );
00020 
00021         /* [P II] 60.64, 32.87 microns
00022          * cs, As from
00023          * >>refer      p2      as      Mendoza, C., & Zeippen, C.J., 1982, MNRAS 199, 1025
00024          * >>refer      p2      cs      Krueger, T.K., and Czyzak, S.J., 1970, Proc Roy Soc London A 318, 531 */
00026         PutCS(1.587,&TauLines[ipP0260]);
00027         PutCS(3.566,&TauLines[ipP0233]);
00028         PutCS(1.0,&TauDummy);
00029 
00030         /* atom_level3(  t10,t21,t20) */
00031         atom_level3(&TauLines[ipP0260],&TauLines[ipP0233],&TauDummy);
00032 
00033         /* >>chng 01 may 15, add these three lines, discussed in 
00034          * Oliva, E., Marconi, A., et al. A&A 2001, 369, L5 */
00035         /* the 1D-3P and 1S-1d forbidden lines of [PII] */
00036         /* >>refer      p2      as      Mendoza, C., & Zeippen, C.J., 1982, MNRAS 199, 1025*/
00037         a21 = 1.952e-2;
00038         a31 = 0.2025;
00039         a32 = 1.64;
00040         /* these are just a guess */
00041         cs21 = 1.;
00042         cs31 = 1.;
00043         cs32 = 1.;
00044         p3 = (realnum)(atom_pop3(9.,5.,1.,cs21,cs31,cs32,
00045           a21,a31,a32,12534.,7877.9,&p2,dense.xIonDense[ipPHOSPHORUS][1], 0.,0.,0.));
00046         CoolHeavy.p2_32 = p3*a32*1.21e-12;
00047         CoolHeavy.p2_31 = p3*a31*4.23e-12;
00048         CoolHeavy.p2_21 = p2*a21*1.72e-12;
00049         /* 3-2 1.64 mic */
00050         CoolAdd("p  2",16400,CoolHeavy.p2_32);
00051         /* 3-1 4670, 4738 */
00052         CoolAdd("p  2",4700,CoolHeavy.p2_31);
00053         /* 2-1 1.147, 1.189 mic */
00054         CoolAdd("p  2",11600,CoolHeavy.p2_21);
00055 
00056         /* [P III] 17.885 microns
00057          * cs, A from
00058          * >>refer      p3      as      Kaufman, V., & Sugar, J., 1986, J Phys Chem Ref Data 15, 321
00059          * >>refer      p3      cs      Krueger, T.K., and Czyzak, S.J., 1970, Proc Roy Soc London A 318, 531 */
00060         PutCS(1.859,&TauLines[ipP0318]);
00061         atom_level2(&TauLines[ipP0318]);
00062 
00063         /* [P VII] 1.374 microns
00064          * cs from 
00065          * >>referold   p7      cs      Saraph, H.E. & Tully, J.A. 1994, A&AS, 107, 29 */
00066 
00067         /* >>refer      p7      cs      Berrington,K.A., Saraph, H.E. & Tully, J.A. 1998, A&AS, 129, 161 */
00068         /*>>chng 06 jul 18 Changes made-Humeshkar Nemala*/
00069         /*There are two fits to the cs:Above and below 7.77e5*/
00070         if(phycon.te < 7.77E5)
00071         {
00072                 cs = (realnum)(0.0986*(phycon.te10/(phycon.te01*phycon.te002)));
00073         }
00074         else
00075         {
00076                 cs = (realnum)(12.2273/((phycon.te30/phycon.te04)*phycon.te007*phycon.te0004));
00077         }
00078         /*PutCS(0.27,&TauLines[ipP713]);*/
00079         PutCS(cs,&TauLines[ipP713]);
00080         atom_level2(&TauLines[ipP713]);
00081 
00082         /* [P VIII] 4.85, 1.735 microns */
00083         PutCS(0.30,&TauLines[ipP848]);
00084         PutCS(0.97,&TauLines[ipP817]);
00085         PutCS(0.26,&TauDummy);
00086 
00087         /* j levels inverted */
00088         atom_level3(&TauLines[ipP817],&TauLines[ipP848],&TauDummy);
00089 
00090         /* [P X] 2.708, 1.868 microns */
00091         cs = MIN2(0.33,0.892/(phycon.te10/phycon.te001));
00092         PutCS(cs,&TauLines[ipP1027]);
00093 
00094         cs = MIN2(1.082,5.949/(phycon.te20/phycon.te03*phycon.te003));
00095         PutCS(cs,&TauLines[ipP1018]);
00096 
00097         cs = MIN2(0.33,3.054/(phycon.te20*phycon.te02*phycon.te005));
00098         PutCS(cs,&TauDummy);
00099 
00100         atom_level3(&TauLines[ipP1027],&TauLines[ipP1018],&TauDummy);
00101         return;
00102 }

Generated on Mon Feb 16 12:01:14 2009 for cloudy by  doxygen 1.4.7