/*CoolChro compute chromium cooling */ #include "cddefines.h" #include "taulines.h" #include "ionfracs.h" #include "coolheavy.h" #include "coladd.h" #include "level2.h" #include "pop3.h" #include "popexc.h" #include "coolmetals.h" #include "putcs.h" void CoolChro() { double a21, a31, a32; float p2, p3; # ifdef DEBUG_FUN fputs( "<+>CoolChro()\n", debug_fp ); # endif /* Cr Chromium cooling * * POPEXC( O12,g1,g2,A21,excit,abund) ; result already*a21 * [Cr III] 5828, multiplet average */ CoolHeavy.Cr3l21 = popexc(25.,25.,9.,0.05,2.47e4,xIonFracs[3][23])* 3.41e-12; coladd("Cr 3",5828,CoolHeavy.Cr3l21); /* Cr IV * these are 2 lines estimated by Jim Kingdon * a's are bad, collision strengths just one */ a21 = 0.053; a31 = 0.102; a32 = 0.00; /* POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2) * energies are in kelvin */ p3 = (float)pop3(28.,12.,18.,28.,12.,18.,a21,a31,a32,19795.,1356.,&p2, xIonFracs[4][23],0.); /* multiplet at roughly 6801 A */ CoolHeavy.Cr4l31 = p3*a31*2.92e-12; /* multiplet at roughly 7267 A */ CoolHeavy.Cr4l21 = p2*a21*2.74e-12; coladd("Cr 4",6801,CoolHeavy.Cr4l31); coladd("Cr 4",7267,CoolHeavy.Cr4l21); /* Cr V * these are 3 lines estimated by Jim Kingdon * a's are bad, collision strengths just one */ a21 = 0.157; a31 = 0.048; a32 = 0.016; /* POP3(G1,G2,G3,O12,O13,O23,A21,A31,A32,E12,E23,P2,ABUND,GAM2) * energies are in kelvin */ p3 = (float)pop3(21.,5.,9.,21.,5.,9.,a21,a31,a32,18028.,3842.,&p2,xIonFracs[5][23], 0.); /* multiplet at roughly 6577 A */ CoolHeavy.Cr5l31 = p3*a31*3.02e-12; /* multiplet at roughly 7979 A */ CoolHeavy.Cr5l21 = p2*a21*2.49e-12; /* multiplet at roughly 3.74 microns */ CoolHeavy.Cr5l32 = p2*a32*5.31e-13; coladd("Cr 5",6577,CoolHeavy.Cr5l31); coladd("Cr 5",37,CoolHeavy.Cr5l32); coladd("Cr 5",7979,CoolHeavy.Cr5l21); /* [Cr VIII] 1.0106 mic * Y(ik) from * >>refer Pelan, J., & Berrington, K.A. 1995, A&A Suppl, 110, 209 */ PutCS(1.76, &TauLines[ipCr08101]); level2( &TauLines[ipCr08101]); /* [Cr 16] 1410.60, cs from * >>refer Saraph, H.E. & Tully, J.A. 1994, A&AS, 107, 29 */ PutCS(0.11, &TauLines[ipCr16141]); level2( &TauLines[ipCr16141]); # ifdef DEBUG_FUN fputs( " <->CoolChro()\n", debug_fp ); # endif return; }