00001
00002
00003
00004 #include "cddefines.h"
00005 #include "taulines.h"
00006 #include "phycon.h"
00007 #include "lines_service.h"
00008 #include "dense.h"
00009 #include "atoms.h"
00010 #include "cooling.h"
00011
00012 void CoolNick(void)
00013 {
00014 double cs,
00015 tused;
00016 realnum rate;
00017
00018 DEBUG_ENTRY( "CoolNick()" );
00019
00020
00021
00022 tused = MAX2( 30. , phycon.te );
00023 tused = MIN2( 3000. , phycon.te );
00024 tused /= 100.;
00025
00026
00027
00028 rate = (realnum)(1.2e-7 * dense.eden +
00029
00030
00031 8.0e-10*pow(tused, 0.17 )*dense.xIonDense[ipHYDROGEN][0] );
00032 LineConvRate2CS( &TauLines[ipNi1_7m] , rate );
00033
00034
00035 rate = (realnum)(9.3e-8 * dense.eden +
00036
00037
00038 5.3e-10*pow(tused, 0.17 )*dense.xIonDense[ipHYDROGEN][0] );
00039 LineConvRate2CS( &TauLines[ipNi1_11m] , rate );
00040
00041 rate = (realnum)(1.2e-7 * dense.eden +
00042
00043
00044 6.9e-10*pow(tused, 0.17 )*dense.xIonDense[ipHYDROGEN][0] );
00045 TauDummy.Hi->g = TauLines[ipNi1_11m].Hi->g;
00046 LineConvRate2CS( &TauDummy , rate );
00047
00048 TauDummy.Hi->g = 0.;
00049
00050 atom_level3(&TauLines[ipNi1_7m],&TauLines[ipNi1_11m],&TauDummy);
00051
00052
00053
00054
00055
00056
00057
00058
00059 if( phycon.alogte < 5.4 )
00060 {
00061 cs = MAX2(0.6,0.6+0.8182*(phycon.alogte-3.2));
00062 }
00063 else
00064 {
00065 cs = MAX2(0.6,2.4-1.5*(phycon.alogte-5.4));
00066 }
00067 PutCS(cs,&TauLines[ipxNi1242]);
00068 atom_level2(&TauLines[ipxNi1242]);
00069 return;
00070 }