00001
00002
00003
00004 #include "cddefines.h"
00005 #include "taulines.h"
00006 #include "dense.h"
00007 #include "lines_service.h"
00008 #include "phycon.h"
00009 #include "coolheavy.h"
00010 #include "atoms.h"
00011 #include "cooling.h"
00012
00013 void CoolPhos(void)
00014 {
00015 double cs, cs21 , cs31 , cs32;
00016 double a21 , a31 , a32;
00017 realnum p2, p3;
00018
00019 DEBUG_ENTRY( "CoolPhos()" );
00020
00021
00022
00023
00024
00026 PutCS(1.587,&TauLines[ipP0260]);
00027 PutCS(3.566,&TauLines[ipP0233]);
00028 PutCS(1.0,&TauDummy);
00029
00030
00031 atom_level3(&TauLines[ipP0260],&TauLines[ipP0233],&TauDummy);
00032
00033
00034
00035
00036
00037 a21 = 1.952e-2;
00038 a31 = 0.2025;
00039 a32 = 1.64;
00040
00041 cs21 = 1.;
00042 cs31 = 1.;
00043 cs32 = 1.;
00044 p3 = (realnum)(atom_pop3(9.,5.,1.,cs21,cs31,cs32,
00045 a21,a31,a32,12534.,7877.9,&p2,dense.xIonDense[ipPHOSPHORUS][1], 0.,0.,0.));
00046 CoolHeavy.p2_32 = p3*a32*1.21e-12;
00047 CoolHeavy.p2_31 = p3*a31*4.23e-12;
00048 CoolHeavy.p2_21 = p2*a21*1.72e-12;
00049
00050 CoolAdd("p 2",16400,CoolHeavy.p2_32);
00051
00052 CoolAdd("p 2",4700,CoolHeavy.p2_31);
00053
00054 CoolAdd("p 2",11600,CoolHeavy.p2_21);
00055
00056
00057
00058
00059
00060 PutCS(1.859,&TauLines[ipP0318]);
00061 atom_level2(&TauLines[ipP0318]);
00062
00063
00064
00065
00066
00067
00068
00069
00070 if(phycon.te < 7.77E5)
00071 {
00072 cs = (realnum)(0.0986*(phycon.te10/(phycon.te01*phycon.te002)));
00073 }
00074 else
00075 {
00076 cs = (realnum)(12.2273/((phycon.te30/phycon.te04)*phycon.te007*phycon.te0004));
00077 }
00078
00079 PutCS(cs,&TauLines[ipP713]);
00080 atom_level2(&TauLines[ipP713]);
00081
00082
00083 PutCS(0.30,&TauLines[ipP848]);
00084 PutCS(0.97,&TauLines[ipP817]);
00085 PutCS(0.26,&TauDummy);
00086
00087
00088 atom_level3(&TauLines[ipP817],&TauLines[ipP848],&TauDummy);
00089
00090
00091 cs = MIN2(0.33,0.892/(phycon.te10/phycon.te001));
00092 PutCS(cs,&TauLines[ipP1027]);
00093
00094 cs = MIN2(1.082,5.949/(phycon.te20/phycon.te03*phycon.te003));
00095 PutCS(cs,&TauLines[ipP1018]);
00096
00097 cs = MIN2(0.33,3.054/(phycon.te20*phycon.te02*phycon.te005));
00098 PutCS(cs,&TauDummy);
00099
00100 atom_level3(&TauLines[ipP1027],&TauLines[ipP1018],&TauDummy);
00101 return;
00102 }