cloudy trunk
|
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 /*CoolAlum compute aluminum cooling */ 00004 #include "cddefines.h" 00005 #include "embesq.h" 00006 #include "taulines.h" 00007 #include "phycon.h" 00008 #include "coolheavy.h" 00009 #include "dense.h" 00010 #include "ligbar.h" 00011 #include "lines_service.h" 00012 #include "atoms.h" 00013 #include "cooling.h" 00014 00015 void CoolAlum(void) 00016 { 00017 double cs , 00018 cs2s2p, 00019 cs2s3p; 00020 realnum p2; 00021 00022 DEBUG_ENTRY( "CoolAlum()" ); 00023 00024 /* Al I 3957 */ 00025 MakeCS( &TauLines[ipAlI3957] ); 00026 atom_level2( &TauLines[ipAlI3957]); 00027 00028 /* Al I 3090 */ 00029 MakeCS(&TauLines[ipAlI3090]); 00030 atom_level2(&TauLines[ipAlI3090]); 00031 00032 /* AlII 1670.787 00033 * >>chng 96 may 09 put back into level 2 for array processor speed up 00034 * cs from 00035 * >>refer al2 cs Tayal, S.S., Burke, P.G., Kingston, A.E. 1985, J.Phys. B, 18, 4321 00036 * >>refer al2 cs Tayal, S.S., Burke, P.G., Kingston, A.E. 1984, J.Phys. B, 17, 3847 00037 * cs = MIN( 5.0 , 0.0125 * sqrte*te10*te003 ) 00038 * call PutCS( cs , al1671 ) 00039 * call atom_level2( al1671 ) 00040 * 00041 * Al 2, 3P in 00042 * >>refer al2 cs Keenan, F.P., Harra, L.K., Aggarwal, K.M., Feibelman, W.A. 1992, 00043 * >>refercon ApJ, 385, 375 00044 * doublet at 2660, 2669 */ 00045 /* >>chng 01 sep 09, AtomSeqBeryllium will reset this to 1/3 so critical density correct */ 00046 PutCS(3.56,&TauLines[ipT2670]); 00047 00048 /* C2670 = AtomSeqBeryllium( 1.67,2.00,6.54, T2670 , 3.67E-3 ) * 7.45E-12 */ 00049 AtomSeqBeryllium(1.67,2.00,6.54,&TauLines[ipT2670],3.67e-3); 00050 embesq.em2669 = (realnum)(atoms.PopLevels[3]*3.67e-3*7.45e-12); 00051 00052 /* Aluminum al 3, 1854, 1862 doublet, 3s ^2 S gnd, ^2P^o 1/2 3/5 exc 00053 * f=0.854 from 00054 * >>refer al3 as Dufton, P.L., Brown, P.J.F., Lennon, D.J., Lynas-Gray, A.E. 1986, 00055 * >>refercon MNRAS, 222, 713 00056 * cs from 00057 * >>refer al3 cs Dufton, P.L., & Kingston, A.E. 1987, J.Phys. B, 20, 3899 */ 00058 cs = 4.407*phycon.te10*phycon.te03*phycon.te01; 00059 cs = MIN2(25.0,cs); 00060 PutCS(cs*0.667,&TauLines[ipT1855]); 00061 PutCS(cs*0.333,&TauLines[ipT1863]); 00062 PutCS(1.0,&TauDummy); 00063 atom_level3(&TauLines[ipT1863],&TauDummy,&TauLines[ipT1855]); 00064 00065 /* Al V 2.905mm, cs 00066 * >>referold al5 cs Saraph, H.E. & Tully, J.A. 1994, A&AS, 107, 29 */ 00067 /*cs = MIN2(0.524,1.113/(phycon.te10/phycon.te02/phycon.te003));*/ 00068 /* >>refer al5 cs Berrington, K.A., Saraph, H.E. & Tully, J.A. 1998, A&AS, 129,161 */ 00069 /* >>chng 06 jul 11 - Humeshkar Nemala*/ 00070 if(phycon.te < 1.58E5) 00071 { 00072 cs = (realnum)(0.893/(phycon.te05*phycon.te005*phycon.te001*phycon.te0002)); 00073 } 00074 else 00075 { 00076 cs = (realnum)(3.1991/((phycon.te20/phycon.te04)*(phycon.te003/phycon.te0002))); 00077 } 00078 00079 PutCS(cs,&TauLines[ipAl529]); 00080 00081 atom_level2(&TauLines[ipAl529]); 00082 00083 /* Al VI 3.66, 9.12 microns */ 00084 cs = 639.1/(phycon.sqrte*pow(phycon.te03,phycon.te003)*phycon.te001); 00085 cs = MIN2(5.5 , cs); 00086 PutCS(cs,&TauLines[ipAl6366]); 00087 00088 cs = MIN2(1.10,49.37/(phycon.sqrte/phycon.te10*phycon.te02/ 00089 phycon.te001)); 00090 PutCS(cs,&TauLines[ipAl6912]); 00091 00092 cs = MIN2(2.0,319.11/(phycon.sqrte*phycon.te10/phycon.te02/ 00093 phycon.te001)); 00094 PutCS(cs,&TauDummy); 00095 00096 atom_level3(&TauLines[ipAl6366],&TauLines[ipAl6912],&TauDummy); 00097 00098 /* [Al VI] 2428.4, 2601, 1169.8, 2124.9 00099 * POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2) 00100 * cs from 00101 * >>refer al6 cs Butler, K., & Zeippen, C.J. 1994, A&AS, 108, 1 00102 */ 00103 CoolHeavy.c1170 = atom_pop3(9.,5.,1.,1.044,0.145,0.463,6.63,72.9,7.79, 00104 5.92e4,6.767e4,&p2,dense.xIonDense[ipALUMINIUM][5],0.,0.,0.)*72.9*1.70e-11; 00105 00106 CoolHeavy.c2428 = p2*6.63*8.19e-12; 00107 CoolHeavy.c2125 = CoolHeavy.c1170*(7.79/72.9)*(1169.5/2124.9); 00108 CoolAdd("Al 6",1170,CoolHeavy.c1170); 00109 CoolAdd("Al 6",2428,CoolHeavy.c2428); 00110 CoolAdd("Al 6",2125,CoolHeavy.c2125); 00111 00112 /* Al VIII 5.85, 3.72 microns 00113 * collision strength 00114 * >>refer al8 cs Lennon, D.J. Burke, V.M. 1994, A&AS, 103, 273 */ 00115 cs = MIN2(0.39,0.0459*phycon.te20/phycon.te003/phycon.te003); 00116 PutCS(cs,&TauLines[ipAl8575]); 00117 cs = MIN2(1.062,0.0407*phycon.te30/phycon.te003/phycon.te003); 00118 PutCS(cs,&TauLines[ipAl8370]); 00119 cs = MIN2(0.27,2.694e-3*phycon.te20*phycon.te20*phycon.te01* 00120 phycon.te003); 00121 PutCS(cs,&TauDummy); 00122 atom_level3(&TauLines[ipAl8575],&TauLines[ipAl8370],&TauDummy); 00123 00124 /* [Al IX] 2.04 micron, no collision strength, A NIST */ 00125 PutCS(1.,&TauLines[ipAl09204]); 00126 atom_level2(&TauLines[ipAl09204]); 00127 00128 /* Al 10 639, CS 00129 * >>refer al10 cs Keenan, F.P. Berrington, K.A., Burke, P.G., Dufton, P.L., 00130 * >>refercon Kingston, A.E. 1986, PhyS 34, 216 00131 * A is extrapolation along iso seq */ 00132 cs = 0.73492 - 0.16964*phycon.alogte + 0.0096631*POW2(phycon.alogte); 00133 cs = MAX2(0.01,cs); 00134 PutCS(cs,&TauLines[ipT639]); 00135 atom_level2(&TauLines[ipT639]); 00136 00137 /* Al 11 Li seq 2s2p 556 00138 * >>refer al11 cs Cochrane, D.M., & McWhirter, R.W.P. 1983, PhyS, 28, 25 */ 00139 ligbar(13,&TauLines[ipTAl550],&TauLines[ipTAl48],&cs2s2p,&cs2s3p); 00140 PutCS(cs2s2p,&TauLines[ipTAl550]); 00141 PutCS(cs2s2p*0.5,&TauLines[ipTAl568]); 00142 PutCS(1.0,&TauDummy); 00143 atom_level3(&TauLines[ipTAl568],&TauDummy,&TauLines[ipTAl550]); 00144 00145 PutCS(cs2s3p,&TauLines[ipTAl48]); 00146 atom_level2(&TauLines[ipTAl48]); 00147 return; 00148 }