/*CoolNitr evaluate total cooling due to nitrogen */ #include "cddefines.h" #include "coolheavy.h" #include "taulines.h" #include "tepowers.h" #include "phycon.h" #include "poplevls.h" #include "ionfracs.h" #include "ligbar.h" #include "coladd.h" #include "tcool.h" #include "level2.h" #include "beseq.h" #include "putcs.h" #include "level3.h" #include "pop3.h" #include "coolmetals.h" #include "embesq.h" void CoolNitr() { float p2; double a21, a31, a32, cs, cs2s2p, cs2s3p, cs21, cs31, cs32, p3; # ifdef DEBUG_FUN fputs( "<+>CoolNitr()\n", debug_fp ); # endif /* following not currently used for cooling * 666 error! put all these in cooling */ TauLines[ipT671].PopOpc = xIonFracs[2][6]; TauLines[ipT671].PopLo = xIonFracs[2][6]; TauLines[ipT671].PopHi = 0.; TauLines[ipT315].PopOpc = xIonFracs[3][6]; TauLines[ipT315].PopLo = xIonFracs[3][6]; TauLines[ipT315].PopHi = 0.; TauLines[ipT333].PopOpc = xIonFracs[3][6]; TauLines[ipT333].PopLo = xIonFracs[3][6]; TauLines[ipT333].PopHi = 0.; TauLines[ipT324].PopOpc = xIonFracs[3][6]; TauLines[ipT324].PopLo = xIonFracs[3][6]; TauLines[ipT324].PopHi = 0.; /* Nitrogen I 5200, CS and A from * >>refer Mendoza, C. 1982, in Planetary Nebulae, IAU Symp No. 103, * >>refer ed by D.R. Flower, (D. Reidel: Holland), 143 * trans prob from * >>refer Butler, K., & Zeippen, C.J. 1984, A&A, 141, 274 * collision strengths from * >>refer Dopita, M.A., Mason, D.J., Robb, W.D. 1976, ApJ, 207, 102 * * N.B. following CS also appears in nitrogen ionization balance */ cs21 = 1.32e-4*phycon.te/(TePowers.te10*TePowers.te01); cs31 = 3.60e-5*phycon.te/TePowers.te10*TePowers.te02; cs32 = 5.23e-4*TePowers.te70*TePowers.te10/TePowers.te02; /* following does not have photoionization from excited state * since already counted in photo balance equation * 666 error! use level3 */ a21 = 1.28e-5; a31 = 5.31e-3; a32 = 6.81e-2; p3 = pop3(4.,10.,6.,cs21,cs31,cs32,a21,a31,a32,2.769e4,1.38e4, &p2,xIonFracs[1][6],0.); CoolHeavy.c5200 = p2*a21*3.83e-12; tcool.dCooldT += CoolHeavy.c5200*(2.769e4*tcool.tsq1 + tcool.halfte); coladd("N 1",5200,CoolHeavy.c5200); CoolHeavy.c10400 = p3*a32*1.91e-12; coladd("N 1",10400,CoolHeavy.c10400); CoolHeavy.c3466 = p3*a31*5.74e-12; tcool.dCooldT += (CoolHeavy.c10400 + CoolHeavy.c3466)*(4.15e4* tcool.tsq1 + tcool.halfte); coladd("N 1",3466,CoolHeavy.c3466); /* N I 1200, CS from trans procb */ PutCS(4.1,&TauLines[ipT1200]); level2(&TauLines[ipT1200]); /* N II 1084, CS from trans prob */ PutCS(5.5,&TauLines[ipT1085]); level2(&TauLines[ipT1085]); /* coll data from * >>refer Stafford, R.P., Bell, K.L, Hibbert, A. & Wijesundera, W.P., * >>refer 1994, MNRAS 268, 816, * at 10,000K (v weak T dep) * transit prob from * >>refer Nussbaumer, H., & Rusca, C. 1979, A&A, 72, 129 * As from 96 nist * POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2) */ CoolHeavy.c5755 = pop3(9.,5.,1.,3.02,0.372,0.505,3.65e-3,0.0316, 1.17,21955.,24982.,&p2,xIonFracs[2][6],0.)*1.17*3.46e-12; CoolHeavy.c6584 = p2*3.65e-3*3.03e-12; tcool.dCooldT += CoolHeavy.c6584*(2.2e4*tcool.tsq1 - tcool.halfte); coladd("N 2",5755,CoolHeavy.c5755); coladd("N 2",6584,CoolHeavy.c6584); /* N II fine structure lines, */ PutCS(0.429,&TauLines[ipT205]); PutCS(1.13,&TauLines[ipT122]); PutCS(0.265,&TauDummy); level3(&TauLines[ipT205],&TauLines[ipT122],&TauDummy); /* N II 2140, data * >>refer Stafford, R.P., Bell, K.L, Hibbert, A. & Wijesundera, W.P. 1994, * >>refer MNRAS, 268, 816 * A from * >>refer Brage, T., Hibbert, A., Leckrone, D.S. 1997, ApJ, 478, 423 */ PutCS(1.15,&TauLines[ipT2140]); level2(&TauLines[ipT2140]); /* N III 1750, cs from * >>refer Blum, R.D., & Pradhan, A.K. 1992, ApJS 80, 425 * trans prob from * >>refer Stafford, R.P., Hibbert, A., Bell, K.L. 1993, MNRAS, 260, L11 */ PutCS(2.09,&TauLines[ipT1750]); level2(&TauLines[ipT1750]); /* N III 989.8, CS from * >>refer Blum, R.D., & Pradhan, A.K. 1992, ApJS 80, 425 */ PutCS(7.12,&TauLines[ipT990]); level2(&TauLines[ipT990]); /* 57 micron N III, A= * >>refer Froese Fischer, C. 1983, J.Phys. B, 16, 157 * collision strength from * >>refer Blum, R.D., & Pradhan, A.K. 1992, ApJS 80, 425 */ cs = MIN2(1.90,0.2291*TePowers.te10*TePowers.te10); PutCS(cs,&TauLines[ipT57]); level2(&TauLines[ipT57]); /* save total populations for 374 optical depth */ TauLines[ipT374g].PopLo = PopLevls.PopLevels[0]; TauLines[ipT374x].PopLo = PopLevls.PopLevels[1]; TauLines[ipT374g].PopOpc = PopLevls.PopLevels[0]; TauLines[ipT374x].PopOpc = PopLevls.PopLevels[1]; /* N IV 1486, collisions within 3P just guess * cs to ground from * >>refer Ramsbottom, C.A., Berrington, K.A., Hibbert, A., Bell, K.L. 1994, * >>refer Physica Scripta, 50, 246 */ if( phycon.te > 1.584e4 ) { cs = 21.346/(TePowers.te10*TePowers.te10*TePowers.te10*TePowers.te02); } else { cs = 75.221/(TePowers.sqrte/TePowers.te03/TePowers.te02); } cs = MAX2(0.01,cs); PutCS(cs,&TauLines[ipT1486]); /* BESEQ(CS23,CS24,CS34,tarray,A41) */ beseq(.9,.9,3.0,&TauLines[ipT1486],.0115); embesq.em1486 = (float)(PopLevls.PopLevels[3]*0.0115*1.34e-11); /* N IV 765, CS from * >>refer Ramsbottom, C.A., Berrington, K.A., Hibbert, A., Bell, K.L. 1994, * >>refer Physica Scripta, 50, 246 */ cs = MIN2(4.0,1.864*TePowers.te03*TePowers.te03); PutCS(cs,&TauLines[ipT765]); level2(&TauLines[ipT765]); /* N V 1240 * >>refer Cochrane, D.M., & McWhirter, R.W.P. 1983, PhyS, 28, 25 */ ligbar(7,&TauLines[ipT1239],&TauLines[ipT209],&cs2s2p,&cs2s3p); PutCS(cs2s2p,&TauLines[ipT1239]); PutCS(cs2s2p*0.5,&TauLines[ipT1243]); PutCS(1.0,&TauDummy); level3(&TauLines[ipT1243],&TauDummy,&TauLines[ipT1239]); PutCS(cs2s3p,&TauLines[ipT209]); level2(&TauLines[ipT209]); # ifdef DEBUG_FUN fputs( " <->CoolNitr()\n", debug_fp ); # endif return; }