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 }