00001
00002
00003
00004 #include "cddefines.h"
00005 #include "physconst.h"
00006 #include "dense.h"
00007 #include "phycon.h"
00008 #include "ligbar.h"
00009
00010 void ligbar(long int ized,
00011 transition * t2s2p,
00012 transition * t2s3p,
00013 double *cs2s2p,
00014 double *cs2s3p)
00015 {
00016 double a,
00017 b,
00018 c,
00019 excit,
00020 gbar;
00021
00022 DEBUG_ENTRY( "ligbar()" );
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 if(dense.xIonDense[ t2s2p->Hi->nelem -1 ][ t2s2p->Hi->IonStg-1 ] == 0)
00044 {
00045 *cs2s2p = 1.;
00046 *cs2s3p = 1.;
00047 return;
00048 }
00049
00050 if( ized < 3 )
00051 {
00052
00053 fprintf( ioQQQ, " LIGBAR called with insane charge, ized=%4ld\n",
00054 ized );
00055 ShowMe();
00056 cdEXIT(EXIT_FAILURE);
00057 }
00058
00059 else if( ized == 6 )
00060 {
00061
00062 a = 0.292;
00063 b = 0.289;
00064 c = 2.67;
00065 }
00066
00067 else if( ized == 7 )
00068 {
00069
00070 a = 0.387;
00071 b = 0.247;
00072 c = 3.93;
00073 }
00074
00075 else if( ized == 8 )
00076 {
00077
00078 a = 0.40;
00079 b = 0.256;
00080 c = 4.12;
00081 }
00082
00083 else if( ized == 10 )
00084 {
00085
00086 a = 0.426;
00087 b = 0.273;
00088 c = 4.50;
00089 }
00090
00091 else if( ized == 12 )
00092 {
00093
00094 a = 0.45;
00095 b = 0.27;
00096 c = 5.0;
00097 }
00098
00099 else if( ized == 18 )
00100 {
00101
00102 a = 0.311;
00103 b = 0.294;
00104 c = 6.65;
00105 }
00106
00107 else if( ized == 26 )
00108 {
00109
00110 a = 0.435;
00111 b = 0.314;
00112 c = 6.92;
00113 }
00114
00115 else
00116 {
00117
00118 a = 0.6 - 1.5/((realnum)(ized) - 2.);
00119 b = 0.27;
00120 c = 5.;
00121 }
00122
00123
00124
00125 excit = t2s2p->EnergyK/phycon.te;
00126
00127
00128 gbar = a + b*log(1./excit+c);
00129
00130
00131
00132
00133
00134 *cs2s2p = gbar*197.47*EVDEGK*t2s2p->Emis->gf/t2s2p->EnergyK;
00135
00136
00137
00138
00139
00140
00141
00142
00143 if( ized == 6 )
00144 {
00145 *cs2s2p *= 1.08013;
00146 }
00147
00148 else if( ized == 7 )
00149 {
00150 *cs2s2p *= 1.00370;
00151 }
00152
00153 else
00154 {
00155 *cs2s2p *= 1.0357;
00156 }
00157
00158
00159
00160 a = -0.244;
00161 b = 0.25;
00162 c = 4.;
00163
00164
00165 excit = t2s3p->EnergyK/phycon.te;
00166 gbar = a + b*log(1./excit+c);
00167
00169 *cs2s3p = gbar*197.47*EVDEGK*t2s3p->Emis->gf/t2s3p->EnergyK;
00170
00171
00172 return;
00173 }