/*CoolChlo compute chlorine cooling */ #include "cddefines.h" #include "taulines.h" #include "tepowers.h" #include "coolheavy.h" #include "tcool.h" #include "fivel.h" #include "coladd.h" #include "level2.h" #include "putcs.h" #include "level3.h" #include "pop3.h" #include "coolmetals.h" #include "ionfracs.h" void CoolChlo() { double a21, a31, a32, a41, a42, a43, a51, a52, a53, a54, cs, cs12, cs13, cs14, cs15, cs23, cs24, cs25, cs34, cs35, cs45, p[5], p3; float p2, pop2; static double gcl3[5]={4.,4.,6.,2.,4.}; static double excl3[4]={18053.,66.,11693.,95.}; # ifdef DEBUG_FUN fputs( "<+>CoolChlo()\n", debug_fp ); # endif /* cooling due to clorine lines * * POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2) */ a21 = 0.133; a31 = 1.33; a32 = 2.06; p3 = pop3(9.,5.,1.,3.86,0.456,1.15,a21,a31,a32,1.576e4,23344., &p2,xIonFracs[2][16],0.); /* [Cl II] 8581, 9127 doublet */ CoolHeavy.c8579 = p2*a21*2.32e-12; coladd("Cl 2",8579,CoolHeavy.c8579); /* [Cl II] 6164 auroral line */ CoolHeavy.c6164 = p3*a32*3.23e-12; coladd("Cl 2",6164,CoolHeavy.c6164); /* [Cl II] 3679 */ CoolHeavy.c3679 = p3*a31*5.41e-12; coladd("Cl 2",3679,CoolHeavy.c3679); /* [SII] - like doublet, vac lam=5519, 5539 * all data from * >>refer Mendoza, C. 1982, in Planetary Nebulae, IAU Symp No. 103, * >>refer ed by D.R. Flower, (D. Reidel: Holland), 143 */ cs12 = 1.26; a21 = 4.83e-3; cs13 = 1.88; a31 = 7.04e-4; cs14 = 0.627; a41 = 0.305; cs15 = 1.26; a51 = 0.754; cs23 = 3.19; a32 = 3.22e-6; cs24 = 1.24; a42 = 0.303; cs25 = 1.91; a52 = 0.323; cs34 = 1.38; a43 = 0.100; cs35 = 3.33; a53 = 0.316; cs45 = 1.34; a54 = 7.65e-6; fivel(gcl3,excl3,cs12,cs13,cs14,cs15,cs23,cs24,cs25,cs34,cs35, cs45,a21,a31,a41,a51,a32,a42,a52,a43,a53,a54,p,xIonFracs[3][16]); CoolHeavy.Cl5539 = p[1]*a21*3.59e-12; CoolHeavy.Cl5519 = p[2]*a31*3.61e-12; CoolHeavy.Cl3354 = p[3]*a41*5.93e-12; CoolHeavy.Cl3344 = p[4]*a51*5.95e-12; CoolHeavy.Cl8504 = p[3]*a42*2.34e-12; CoolHeavy.Cl8436 = p[4]*a42*2.36e-12; CoolHeavy.Cl8552 = p[3]*a43*2.33e-12; CoolHeavy.Cl8483 = p[4]*a53*2.35e-12; /* following are whole multiplets */ CoolHeavy.c5525 = CoolHeavy.Cl5539 + CoolHeavy.Cl5519; CoolHeavy.c3350 = CoolHeavy.Cl3354 + CoolHeavy.Cl3344; CoolHeavy.c8494 = CoolHeavy.Cl8504 + CoolHeavy.Cl8436 + CoolHeavy.Cl8552 + CoolHeavy.Cl8483; tcool.dCooldT += CoolHeavy.c5525*(2.14e4*tcool.tsq1 - tcool.halfte); coladd("Cl 3",5525,CoolHeavy.c5525); coladd("Cl 3",3354,CoolHeavy.c3350); coladd("Cl 3",8494,CoolHeavy.c8494); /* [Cl III] IR lines * As from * >>refer Mendoza, C., & Zeippen, C.J. 1983, MNRAS, 202, 981 * cs * >>refer Krueger, T.K., & Czyzak, S.J. 1970, Pro Roy Soc Lond, 318, 531 */ PutCS(2.17,&TauLines[ipfsCl214]); PutCS(0.93,&TauLines[ipfsCl233]); PutCS(1.00,&TauDummy); /* level3( t10,t21,t20) */ level3(&TauLines[ipfsCl214],&TauLines[ipfsCl233],&TauDummy); /* [CL IV], like [OIII] * cs from * >>refer Galavis, M.E., Mendoza, C., & Zeippen, C.J. 1995, A&AS, 111, 347 */ a21 = 0.251; cs12 = 6.437; a32 = 2.80; cs23 = MIN2(2.1,0.0450*TePowers.te30*TePowers.te03*TePowers.te03); a31 = 2.50; cs13 = 1.922; /* POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2) */ p3 = pop3(9.,5.,1.,cs12,cs13,cs23,a21,a31,a32,2.24e4,3.11e4,&pop2, xIonFracs[3][16],0.); /* whole 2-1 transition */ CoolHeavy.c8047 = pop2*a21*2.48e-12; coladd("Cl 4",8047,CoolHeavy.c8047); tcool.dCooldT += CoolHeavy.c8047*(2.24e4*tcool.tsq1 - tcool.halfte); /* 3-1 transition */ CoolHeavy.c3119 = p3*a31*6.38e-12; coladd("Cl 4",3119,CoolHeavy.c3119); /* 3-2 transition */ CoolHeavy.c5324 = p3*a32*3.74e-12; coladd("Cl 4",5324,CoolHeavy.c5324); /* [Cl IV] fine structure lines, 20.354, 11.741 microns */ cs = MIN2(2.7,6.637/(TePowers.te10*TePowers.te03*TePowers.te01)); cs = MAX2(1.6,cs); PutCS(cs,&TauLines[ipCl04203]); cs = MIN2(8.0,15.65/TePowers.te10); PutCS(cs,&TauLines[ipCl04117]); cs = MIN2(2.0,5.805/(TePowers.te10*TePowers.te03)); PutCS(cs,&TauDummy); /* level3( t10,t21,t20) */ level3(&TauLines[ipCl04203],&TauLines[ipCl04117],&TauDummy); /* [Cl IX] 7335 A, * >>refer Saraph, H.E. & Tully, J.A. 1994, A&AS, 107, 29 */ PutCS(0.28,&TauLines[ipCl973]); level2(&TauLines[ipCl973]); /* [Cl X] 3.05m, 9223A */ cs = MIN2(0.187,6.686e-3*TePowers.te30/TePowers.te001); cs = MAX2(0.096,cs); PutCS(cs,&TauLines[ipCl1030]); cs = MIN2(0.568,9.432e-3*TePowers.te30*TePowers.te03* TePowers.te03/TePowers.te003/TePowers.te001); cs = MAX2(0.229,cs); PutCS(cs,&TauLines[ipCl1092]); cs = MIN2(0.148,7.088e-4*TePowers.sqrte/TePowers.te03/ TePowers.te003/TePowers.te003); cs = MAX2(0.048,cs); PutCS(cs,&TauDummy); level3(&TauLines[ipCl1092],&TauLines[ipCl1030],&TauDummy); # ifdef DEBUG_FUN fputs( " <->CoolChlo()\n", debug_fp ); # endif return; }