/*Ne10cs123 line collision rates for lower levels of hydrogenic neon, n=1,2,3 */ #include "cddefines.h" #include "phycon.h" double Ne10cs123(long int i, long int j) { double Ne10cs123_v, TeUse, t, x; static double a[3]={3.346644,151.2435,71.7095}; static double b[3]={0.5176036,20.05133,13.1543}; static double c[3]={-0.00408072,-0.1311591,-0.1099238}; static double d[3]={-3.064742,-129.8303,-71.0617}; static double e[3]={-11.87587,-541.8599,-241.2520}; # ifdef DEBUG_FUN fputs( "<+>Ne10cs123()\n", debug_fp ); # endif /* These are fits to Table 5 of * >>refer Aggarwal, K.M., & Kingston, A.E. 1991, PhyS, 44, 517 * Ne X collision rates for 1s-3, 2s-3, and 2p-3, * principal quantum numbers n and l. * * i is the lower level and runs from 1 to 3 (1s, 2s, 2p) * j is the upper level and runs from 2 to 4 (2s, 2p, 3) * 1s-2s,2p is not done here. * check temperature: fits only good between 3.8 < log Te < 6.2 * */ /* arrays for fits of 3 transitions see the code below for key: */ TeUse = MAX2(phycon.te,6310.); t = MIN2(TeUse,1.6e6); x = log10(t); if( i == 1 && j == 2 ) { /* 1s - 2s (first entry) */ fprintf( ioQQQ, " Neon X 2s-1s not done in Ne10cs123\n" ); puts( "[Stop in ne10cs123]" ); exit(1); } else if( i == 1 && j == 3 ) { /* 1s - 2p (second entry) */ fprintf( ioQQQ, " Neon X 2p-1s not done in Ne10cs123\n" ); puts( "[Stop in ne10cs123]" ); exit(1); } else if( i == 1 && j == 4 ) { /* 1s - 3 (first entry) */ Ne10cs123_v = a[0] + b[0]*x + c[0]*x*x*sqrt(x) + d[0]*log(x) + e[0]*log(x)/x/x; /* Ne10Rate123 = cs*8.629e-6/SQRT(te)/18. * */ } else if( i == 2 && j == 4 ) { /* 2s - 3 (second entry) */ Ne10cs123_v = a[1] + b[1]*x + c[1]*x*x*sqrt(x) + d[1]*log(x) + e[1]*log(x)/x/x; /* Ne10Rate123 = cs*8.629e-6/SQRT(te)/18. * */ } else if( i == 3 && j == 4 ) { /* 2p - 3s (third entry) */ Ne10cs123_v = a[2] + b[2]*x + c[2]*x*x*sqrt(x) + d[2]*log(x) + e[2]*log(x)/x/x; /* Ne10Rate123 = cs*8.629e-6/SQRT(te)/18. * */ } else { fprintf( ioQQQ, " insane levels for Ne X n=1,2,3 !!!\n" ); puts( "[Stop in ne10cs123]" ); exit(1); } # ifdef DEBUG_FUN fputs( " <->Ne10cs123()\n", debug_fp ); # endif return( Ne10cs123_v ); }