00001
00002
00003
00004 #include "cddefines.h"
00005 #include "dense.h"
00006 #include "ionbal.h"
00007
00008 void IonSulph(void)
00009 {
00010 const int NDIM = ipSULPHUR+1;
00011
00012 static const double dicoef[2][NDIM] = {
00013 {1.62e-3,1.09e-2,3.35e-2,3.14e-2,1.27e-2,1.47e-2,1.34e-2,
00014 2.38e-2,3.19e-2,7.13e-2,.08,.0796,.0134,.402,.241,0.},
00015 {0.,1.20e-2,6.59e-2,6.89e-2,.187,.129,1.04,1.12,1.40,1.00,
00016 .555,1.63,.304,.298,.281,0.}
00017 };
00018 static const double dite[2][NDIM] = {
00019 {1.25e5,1.92e5,1.89e5,1.68e5,1.38e5,1.80e6,6.90e5,5.84e5,
00020 5.17e5,6.66e5,6.00e5,5.09e5,2.91e5,2.41e7,2.54e7,0.},
00021 {0.,1.80e4,1.59e5,8.04e4,1.71e5,1.75e6,2.15e6,2.59e6,2.91e6,
00022 2.32e6,2.41e6,6.37e6,1.04e6,4.67e6,5.30e6,0.}
00023 };
00024 static const double aa[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00025 0.,0.,0.,0.};
00026 static const double bb[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00027 0.,0.,0.,0.};
00028 static const double cc[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00029 0.,0.,0.,0.};
00030 static const double dd[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00031 0.,0.,0.,0.};
00032 static const double ff[NDIM] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,
00033 0.,0.,0.,0.};
00034 static const double ditcrt[NDIM] = {2.2e4,1.2e4,1.4e4,1.5e4,1.4e4,2.9e5,
00035 1.3e5,1.1e5,9.0e4,9.0e4,9.0e4,8.3e4,6.0e4,5.0e6,9.0e6,1e20};
00036
00037 bool lgPrtDebug=false;
00038
00039 DEBUG_ENTRY( "IonSulph()" );
00040
00041
00042 if( !dense.lgElmtOn[ipSULPHUR] )
00043 {
00044 return;
00045 }
00046
00047 ion_zero(ipSULPHUR);
00048
00049 ion_photo(ipSULPHUR,lgPrtDebug);
00050
00051
00052 ion_collis(ipSULPHUR);
00053
00054
00055
00056 ion_recomb(false,(const double*)dicoef,(const double*)dite,ditcrt,aa,bb,cc,dd,ff,ipSULPHUR);
00057
00058
00059
00060
00061 ion_solver(ipSULPHUR,lgPrtDebug);
00062
00063 return;
00064 }