/home66/gary/public_html/cloudy/c08_branch/source/cool_argo.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 /*CoolArgo compute argon cooling */
00004 #include "cddefines.h"
00005 #include "coolheavy.h"
00006 #include "phycon.h"
00007 #include "ligbar.h"
00008 #include "taulines.h"
00009 #include "dense.h"
00010 #include "thermal.h"
00011 #include "lines_service.h"
00012 #include "atoms.h"
00013 #include "cooling.h"
00014 
00015 void CoolArgo(void)
00016 {
00017         realnum a12, 
00018           a13, 
00019           a14, 
00020           a15, 
00021           a23, 
00022           a24, 
00023           a25, 
00024           a34, 
00025           a35, 
00026           a45, 
00027           cs12, 
00028           cs13, 
00029           cs14, 
00030           cs15, 
00031           cs23, 
00032           cs24, 
00033           cs25, 
00034           cs34, 
00035           cs35, 
00036           cs45, 
00037           pop2, 
00038           popn3;
00039         double cs2s2p, 
00040           cs,
00041           cs2s3p, 
00042           p[5];
00043         static double gAr4[5]={4.,4.,6.,2.,4.};
00044         static double exAr4[4]={21090.4,128.9,13636.2,177.1};
00045 
00046         DEBUG_ENTRY( "CoolArgo()" );
00047 
00048         /* Argon II 6.98 micron
00049          * trans prob from 
00050          * >>refer      Ar2     as      Nussbaumer, H., & Storey, P.J. 1988, A&A, 200, L25
00051          * Y(ik) from
00052          * >>refer      Ar2     cs      Pelan, J., & Berrington, K.A. 1995, A&A Suppl, 110, 209 */
00053         PutCS(3.1,&TauLines[ipTAr7]);
00054         atom_level2(&TauLines[ipTAr7]);
00055 
00056         /* A III 7136, 7751, 3109, 5192 CS
00057          * >>refer      ar3     cs      Galavis, M.E., Mendoza, C., & Zeippen, C.J. 1995, A&AS, 111, 347
00058          * >>chng 97 mar 19, break up into three level atom */
00059         cs12 = 4.825f;
00060         cs13 = 0.841f;
00061         cs23 = (realnum)MIN2(1.30,3.296/(phycon.te10*phycon.te01/phycon.te001/
00062           phycon.te001));
00063         a12 = 0.3963f;
00064         a23 = 2.59f;
00065         a13 = 3.952f;
00066         /* POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2) */
00067         popn3 = (realnum)(atom_pop3(9.,5.,1.,cs12,cs13,cs23,a12,a13,a23,1.955e4,2.770e4,
00068           &pop2,dense.xIonDense[ipARGON][2],0.,0.,0.));
00069         CoolHeavy.c7136 = pop2*a12*2.7e-12;
00070         CoolHeavy.c5192 = popn3*a23*3.83e-12;
00071         CoolHeavy.c3109 = popn3*a13*6.40e-12;
00072         CoolAdd("Ar 3",7136,CoolHeavy.c7136);
00073         CoolAdd("Ar 3",5192,CoolHeavy.c5192);
00074         CoolAdd("Ar 3",3109,CoolHeavy.c3109);
00075         /* add to deriv */
00076         /* >>chng 01 mar 10, did not have second pair of lines included */
00077         thermal.dCooldT += CoolHeavy.c7136*1.955e4*thermal.tsq1 + 
00078                 (CoolHeavy.c5192+CoolHeavy.c3109)*4.73e4*thermal.tsq1;
00079 
00080         /* Ar III 21.8(J=0,1), 9.0 (J=1,2) mircon lines,
00081          * >>refer      ar3     cs      Galavis, M.E., Mendoza, C., & Zeippen, C.J. 1995, A&AS, 111, 347 */
00082         PutCS(3.1,&TauLines[ipTAr9]);
00083         cs = MIN2(1.384,3.110/(phycon.te10/phycon.te001*phycon.te001));
00084         PutCS(cs,&TauLines[ipTAr22]);
00085         if( phycon.te < 1e4 )
00086         {
00087                 cs = 0.671;
00088         }
00089         else
00090         {
00091                 cs = MIN2(0.906,0.150*phycon.te20/phycon.te02/phycon.te02*
00092                   phycon.te003);
00093         }
00094         PutCS(cs,&TauDummy);
00095         atom_level3(&TauLines[ipTAr9],&TauLines[ipTAr22],&TauDummy);
00096 
00097         /* Argon IV 4711+4740, 7335 lines (O II like)
00098          * CS from
00099          * >>refer      ar4     cs      Zeippen, C.J., Le Bourlot, J., Butler, K. 1987, A&A, 188, 251
00100          * >>chng 97 jan 31, increase to full 5 level atom
00101          * Ar IV, cs data from 
00102          * >>refer      ar4     cs      Ramsbottom, C.A., Bell., K.L., & Keenan, F.P., 1997,
00103          * >>refercon MNRAS 284, 754
00104          * differs by 2-3x from older values
00105          * temp dependence form 
00106          *>>refer       ar4     cs      Ramsbottom, C.A., & Bell, K.L. 1997, At. Data Nucl. Data Tables, 66, 65 */
00107         cs12 = (realnum)MAX2(0.761,0.481*phycon.te05);
00108         cs12 = (realnum)MIN2(0.853,cs12);
00109         a12 = 2.23e-2f;
00110 
00111         cs13 = (realnum)MAX2(1.14,0.719*phycon.te05);
00112         cs13 = (realnum)MIN2(1.3,cs13);
00113         a13 = 1.77e-3f;
00114 
00115         cs14 = (realnum)MAX2(0.39,0.108*phycon.te10*phycon.te02*phycon.te02);
00116         cs14 = (realnum)MIN2(0.5,cs14);
00117         a14 = 0.862f;
00118 
00119         cs15 = (realnum)MAX2(0.78,0.216*phycon.te10*phycon.te02*phycon.te02);
00120         cs15 = (realnum)MIN2(1.0,cs15);
00121         a15 = 2.11f;
00122 
00123         cs23 = 7.06f;
00124         a23 = 2.30e-5f;
00125 
00126         cs24 = (realnum)MAX2(1.53,0.346*phycon.te10*phycon.te05);
00127         cs24 = (realnum)MIN2(1.96,cs24);
00128         a24 = 0.603f;
00129 
00130         cs25 = (realnum)MAX2(2.18,0.664*phycon.te10*phycon.te02);
00131         cs25 = (realnum)MIN2(2.65,cs25);
00132         a25 = 0.789f;
00133 
00134         cs34 = (realnum)MAX2(1.56,0.475*phycon.te10*phycon.te02);
00135         cs34 = (realnum)MIN2(1.89,cs34);
00136         a34 = 0.119f;
00137 
00138         cs35 = (realnum)MAX2(4.01,1.00*phycon.te10*phycon.te02*phycon.te02);
00139         cs35 = (realnum)MIN2(5.03,cs35);
00140         a35 = 0.598f;
00141 
00142         cs45 = (realnum)(0.0359*phycon.te20*phycon.te20*phycon.te02*phycon.te02);
00143         a45 = 4.94e-5f;
00144 
00145         /* FIVEL( G(1-5) , ex(wn,1-5), cs12,cs13,14,15,23,24,25,34,35,45,
00146          *  A21,31,41,51,32,42,52,43,53,54, pop(1-5), abund) */
00147         atom_pop5(gAr4,exAr4,cs12,cs13,cs14,cs15,cs23,cs24,cs25,cs34,cs35,
00148           cs45,a12,a13,a14,a15,a23,a24,a25,a34,a35,a45,p,dense.xIonDense[ipARGON][3]);
00149         CoolHeavy.Ar4740 = p[1]*a12*4.20e-12;
00150         CoolHeavy.Ar4711 = p[2]*a13*4.20e-12;
00151         CoolHeavy.Ar2868 = p[3]*a14*6.94e-12;
00152         CoolHeavy.Ar2854 = p[4]*a15*6.94e-12;
00153         CoolHeavy.Ar7263 = p[3]*a24*2.74e-12;
00154         CoolHeavy.Ar7171 = p[4]*a25*2.74e-12;
00155         CoolHeavy.Ar7331 = p[3]*a34*2.74e-12;
00156         CoolHeavy.Ar7237 = p[4]*a35*2.74e-12;
00157         thermal.dCooldT +=  (CoolHeavy.Ar4740 + CoolHeavy.Ar4711)*(3.04e4*
00158           thermal.tsq1 - thermal.halfte);
00159         thermal.dCooldT += (CoolHeavy.Ar2868 + CoolHeavy.Ar2854 + CoolHeavy.Ar7263 + 
00160           CoolHeavy.Ar7171 + CoolHeavy.Ar7331 + CoolHeavy.Ar7237)*(5.02e4*
00161           thermal.tsq1 - thermal.halfte);
00162         CoolAdd("Ar 4",7335,CoolHeavy.Ar7263+CoolHeavy.Ar7171+CoolHeavy.Ar7331+
00163           CoolHeavy.Ar7237);
00164         CoolAdd("Ar 4",4740,CoolHeavy.Ar4740+CoolHeavy.Ar4711);
00165         CoolAdd("Ar 4",2868,CoolHeavy.Ar2868+CoolHeavy.Ar2854);
00166 
00167         /* Argon V 6435+7007,  
00168          * >>refer      Ar5     as      Mendoza, C., & Zeippen, C.J. 1982, MNRAS, 199, 1025
00169          * >>refer      Ar5     cs      Galavis, M.E., Mendoza, C., & Zeippen, C.J. 1995, A&AS, 111, 347
00170          * POPEXC( O12,g1,g2,A21,excit,abund); result already*a21, excit in Kelvin */
00171         if( phycon.te < 1e4 )
00172         {
00173                 cs12 = 3.09f;
00174         }
00175         else
00176         {
00177                 cs12 = (realnum)MIN2(4.454,0.634*phycon.te20/phycon.te03*phycon.te001*
00178                   phycon.te001);
00179         }
00180         cs13 = 0.56f;
00181         cs23 = 1.65f;
00182         a12 = 0.68f;
00183         a13 = 6.55f;
00184         a23 = 3.35f;
00185 
00186         /* >>chng 01 mar 10, convert from 2 to 3 level atom */
00187         popn3 = (realnum)(atom_pop3(9.,5.,1.,cs12,cs13,cs23,a12,a13,a23,2.055e4,3.110e4,
00188           &pop2,dense.xIonDense[ipARGON][4],0.,0.,0.));
00189         CoolHeavy.c7007 = pop2*a12*2.84e-12;
00190         CoolHeavy.c4626 = popn3*a23*4.30e-12;
00191         CoolHeavy.c2691 = popn3*a13*7.39e-12;
00192 
00193         CoolAdd("Ar 5",7007,CoolHeavy.c7007);
00194         CoolAdd("Ar 5",4626,CoolHeavy.c4626);
00195         CoolAdd("Ar 5",2691,CoolHeavy.c2691);
00196 
00197         /* add to deriv */
00198         /* >>chng 01 mar 10, did not have second pair of lines included */
00199         thermal.dCooldT += CoolHeavy.c7007*2.055e4*thermal.tsq1 + 
00200                 (CoolHeavy.c4626+CoolHeavy.c2691)*5.17e4*thermal.tsq1;
00201 
00202         /* Ar V 3P fine structure lines , A from
00203          * >>refer      Ar5     as      Mendoza, C. 1982, in Planetary Nebulae, IAU Symp No. 103,
00204          * >>refercon   ed by D.R. Flower, (D. Reidel: Holland), 143
00205          * >>refer      Ar5     cs      Galavis, M.E., Mendoza, C., & Zeippen, C.J. 1995, A&AS, 111, 347 */
00206         cs = MIN2(3.26,26.27/(phycon.te20*phycon.te03*phycon.te01*
00207           phycon.te003));
00208         PutCS(cs,&TauLines[ipTAr13]);
00209 
00210         cs = MIN2(8.47,44.31/(phycon.te20/phycon.te003/phycon.te003));
00211         PutCS(cs,&TauLines[ipTAr8]);
00212 
00213         cs = MIN2(1.95,7.280/(phycon.te10*phycon.te05*phycon.te005));
00214         PutCS(cs,&TauDummy);
00215 
00216         atom_level3(&TauLines[ipTAr13],&TauLines[ipTAr8],&TauDummy);
00217 
00218         /* [Ar VI] 4.53 micron, cs from 
00219          * >>refer      ar6     cs      Saraph, H.E., & Storey, P.J. A&AS, 115, 151
00220          * >>chng 96 dec 11, cs should have been 6.33, caught by Simon Casassus */
00221         PutCS(6.33,&TauLines[ipAr06453]);
00222 
00223         atom_level2(&TauLines[ipAr06453]);
00224 
00225         /* [ArX] 5533.4A 
00226          * >>refer      Ar10    cs      Saraph, H.E. & Tully, J.A. 1994, A&AS, 107, 29 */
00227         cs = MIN2(0.573,20.05/(phycon.te30*phycon.te03*phycon.te005));
00228         PutCS(cs,&TauLines[ipAr1055]);
00229 
00230         atom_level2(&TauLines[ipAr1055]);
00231 
00232         /* [Ar XI] 2.60, microns, 6917A */
00233         cs = MIN2(0.207,2.685e-3*phycon.te20*phycon.te20*
00234           phycon.te001*phycon.te001);
00235         cs = MAX2(0.09,cs);
00236         PutCS(cs,&TauLines[ipAr1126]);
00237 
00238         cs = MIN2(0.64,0.0127*phycon.te30*phycon.te05*phycon.te001*
00239           phycon.te001);
00240         cs = MAX2(0.25,cs);
00241         PutCS(cs,&TauLines[ipAr1178]);
00242 
00243         cs = MIN2(0.17,2.789e-3*phycon.te30*phycon.te05*
00244           phycon.te02/phycon.te003);
00245         cs = MAX2(0.06,cs);
00246         PutCS(cs,&TauDummy);
00247 
00248         atom_level3(&TauLines[ipAr1126],&TauLines[ipAr1178],&TauDummy);
00249 
00250         /* Ar 14 4413, wavelength+a from 
00251          * >>refer      Ar14    as      Froese Fischer, C. 1983, J.Phys. B, 16, 157
00252          * >>chng 04 apr 27, update collision strength from guess of 0.2 to data from
00253          * >>refer      Ar14    cs      Keenan, F.P., Katsiyannis, A.C., Reid, R.H.G., Pradhan, A.K., 
00254          * >>refercon   Zhang, H.L., 2003, MNRAS, 345, 58-62
00255          * this is for very high temperatures, lowest given is 1.5 million K */
00256         cs = 0.31;
00257         /* following is good fit between T=1.5e6 to 8.5e6 */
00258         if( phycon.te > 1e6 )
00259                 cs = 1235.6 / ( phycon.sqrte*phycon.te10);
00260 
00261         CoolHeavy.fs4413 = atom_pop2(cs,2.,4.,105.,3.259e4,dense.xIonDense[ipARGON][13])*
00262           4.51e-12;
00263         CoolAdd("Ar14",4413,CoolHeavy.fs4413);
00264 
00265         /* Ar 15 409A, Be seq interpolated lambda, cs, A. */
00266         CoolHeavy.c409 = atom_pop2(0.1,1.,9.,1.1e6,3.52e5,dense.xIonDense[ipARGON][14])*
00267           4.86e-11;
00268         CoolAdd("Ar15",409,CoolHeavy.c409);
00269 
00270         /* Ar 16 365, 25, Li Seq
00271          * >>refer      ar16    ??      Cochrane, D.M., & McWhirter, R.W.P. 1983, PhyS, 28, 25 */
00272         ligbar(18,&TauLines[ipT354],&TauLines[ipT25],&cs2s2p,&cs2s3p);
00273 
00274         PutCS(cs2s2p,&TauLines[ipT354]);
00275         atom_level2(&TauLines[ipT354]);
00276 
00277         /* funny factor (should have been 0.5) due to energy change */
00278         PutCS(cs2s2p*0.454,&TauLines[ipT389]);
00279         atom_level2(&TauLines[ipT389]);
00280 
00281         PutCS(cs2s3p,&TauLines[ipT25]);
00282         atom_level2(&TauLines[ipT25]);
00283         return;
00284 }

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