00001 
00002 
00003 
00004 #include "cddefines.h"
00005 #include "dense.h"
00006 #include "ionbal.h"
00007 
00008 void IonChrom(void)
00009 {
00010         const int NDIM = ipCHROMIUM+1;
00011 
00012         static const double dicoef[2][NDIM] = {
00013                 {1.58e-3,8.38e-3,1.54e-2,3.75e-2,0.117,0.254,0.291,0.150,0.140,0.100,0.200,
00014                  0.240,0.260,0.190,0.120,0.350,0.066,0.10,0.13,0.23,0.14,0.11,0.041,0.},
00015                 {.456,.323,.310,.411,.359,.0975,.229,4.20,3.30,5.30,1.50,0.700,.600,.5,1.,
00016                  0.,7.8,6.3,5.5,3.6,4.9,1.6,4.2,0.}
00017         };
00018         static const double dite[2][NDIM] = {
00019                 {6.00e4,1.94e5,3.31e5,4.32e5,6.28e5,7.50e5,7.73e5,2.62e5,2.50e5,2.57e5,2.84e5,8.69e5,
00020                  4.21e5,4.57e5,2.85e5,8.18e5,1.51e6,1.30e6,1.19e6,1.09e6,9.62e5,7.23e5,4.23e5,0.},
00021                 {8.97e4,1.71e5,2.73e5,3.49e5,5.29e5,4.69e5,6.54e5,1.32e6,1.33e6,1.41e6,1.52e6,1.51e6,
00022                  1.82e6,1.84e6,2.31e6,0.,9.98e6,9.98e6,1.00e7,1.10e7,8.34e6,1.01e7,1.07e7,0.}
00023         };
00024         static const double ditcrt[NDIM] = {6e3,2e4,4e4,5e4,7e4,8e4,8e4,3e4,
00025           3e4,3e4,3e4,9e4,4e4,5e4,3e4,9e5,2e5,2e5,2e5,2e5,1e5,7e4,4e4,
00026           1e20};
00027         static const double aa[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00028           0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
00029         static const double bb[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00030           0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
00031         static const double cc[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00032           0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
00033         static const double dd[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00034           0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
00035         static const double ff[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00036           0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
00037 
00038         DEBUG_ENTRY( "IonChrom()" );
00039 
00040         
00041 
00042 
00043 
00044 
00045 
00046 
00047         
00048 
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 
00057         
00058 
00059         if( !dense.lgElmtOn[ipCHROMIUM] )
00060         {
00061                 return;
00062         }
00063 
00064         ion_zero(ipCHROMIUM);
00065 
00066         ion_photo(ipCHROMIUM,false);
00067 
00068         
00069         ion_collis(ipCHROMIUM);
00070 
00071         
00072         ion_recomb(false,(const double*)dicoef,(const double*)dite,ditcrt,aa,bb,cc,dd,ff,ipCHROMIUM);
00073 
00074         
00075         ion_solver(ipCHROMIUM,false);
00076         return;
00077 }